




已阅读5页,还剩32页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Android基本组件开发,中智讯(武汉)科技有限公司,Android应用程序组件Android常用组件ActivityAndroid通信组件IntentAndroidApplication类,Android四大基本组件,实现不同组件之间的数据共享,是为了实现系统广播而提供的组件,Activity,Service,BroadcastReceiver,ContentProvider,通常就是一个单独的屏幕,是一种长生命周期的、没有用户界面的程序,Android应用程序组件Android常用组件ActivityAndroid通信组件IntentAndroidApplication类,Android核心组件:Activity,Activity活动Andorid组件中最基本也是最为常见用的组件在Android应用中,一个Activiy通常就是一个单独的屏幕每个Activity都被实现为一个从活动积累继承来的独立的类活动类显示的用户接口由视图控件组成,并对事件做出响应Activity是Android应用程序的表示层使用View来构成显示信息和响应用户动作的UI可以看做是开发环境中的Form应用程序越复杂,需要的屏幕可能越多,Android核心组件:Activity,Activity提供给用户与之交互的屏幕,以使用户对其进行操控,像打电话,照相,发邮件,或查看地图等。每一个activity被分配一个窗口,在窗口上面绘制用户界面。典型情况下是窗口铺满整个屏幕,或者比屏幕小,悬浮在其它窗口之上。,各种控件组合,常规Activity,悬浮窗口,全屏窗口,Activity的代码工程示例,从开发者角度看,Activity是一个Java类。Activity类必须遵守一定的规范,例如,必须直接或间接继承自android.app.Activity类等,必须覆盖父类的某些方法等。,Activity的创建和使用,创建Activity在Activity类的基础上进行扩展在Activity中定义UI并实现其功能基本Activity类提供了封装了窗口显示处理功能的空白屏幕交互和显示还需要进行设计Activity的注册应用程序中的Activity需要在AndroidManifest.xml中进行注册没有对应标签的Activity不能被启动,Activity的创建和使用,打开eclipse,在菜单栏选择File-New-AndroidApplicationProject创建一个Android工程,创建默认的Activity,Activity的创建和使用,在android.app.Activity类中,Android定义了一系列方法,在应用程序中通过对这些方法的复写来完成对Activity的创建和使用:,publicclassOurActivityextendsActivityprotectedvoidonCreate(BundlesavedInstanceState);protectedvoidonStart();protectedvoidonReStart();protectedvoidonResume();protectedvoidonPause();protectedvoidonStop();protectedvoidonDestroy();,Activity的创建和使用,protectedvoidonCreate(BundlesavedInstanceState)一个Activity的实例被启动时调用的第一个方法一般都会覆盖该方法作为应用程序的一个入口点,完成一些初始化数据、设置用户界面等工作大多数情况下,在该方法中从xml中加载设计好的用户界面,例如setContentView(R.layout.main);也可从savedInstanceState中读取保存到存储设备中的数据,需要判断savedInstanceState是否为null,因为Activity第一次启动时并没有数据被存贮在设备中,Activity的创建和使用,protectedvoidonStart()在onCreate()方法之后被调用,或者在Activity从Stop状态转换为Active状态时被调用ProtectedvoidonReStart()在Activity被停止后调用protectedvoidonResume()在Activity从Pause状态转换到Active状态时被调用protectedvoidonPause()在Activity从Active状态转换到Pause状态时被调用必要时也需要保存状态和数据protectedvoidonStop()在Activity从Active状态转换到Stop状态时被调用一般在这里保存Activity的状态信息protectedvoidonDestroy()在Activity被结束时调用,它是被结束时调用的最后一个方法一般完成释放资源,清理内存等工作,Activity工程属性,在Android系统中,要使用Activity必须在AndroidManifest.xml文件中进行配置。在元素中添加子元素即可。配置Activity通常指定如下三个属性:name:指定该Activity的实现类。icon:指定该Activity对应的图标。label:指定该Activity的标签。应用程序包含多个activity时,需要对每个activity进行属性描述这个属性定义Activity可以作为应用程序的入口。这个属性定义了Activity显示在Launcher里,只有定义这个属性的Activity才能显示在屏幕的启动栏里。,启动/关闭Activity,由一个Activity启动另一个Activity:startActivity(intent):启动其它的Activity。startActivityForResult(intent,requestCode):启动新Activity并得到返回结果。关闭Activity:finish():结束当前Activity。finishActivity(intrequestCode):结束当前Activity并返回结果。,Activity间传递数据,使用Intent通信Android中通过Intent对象来表示一条消息,一个Intent对象不仅包含有这个消息的目的地,还可以包含消息的内容。,Activity常用调用方法,setContentView(R.layout.main);设置Activity的布局文件。findViewById(R.id.button);获得button按钮组件实例button.setOnClickListener(onClickListener);为button按钮设置监听事件。startActivity();启动某个Activity。text.getText();获取到text文本框输入的内容。text.setText(“hello”);设置text文本框的内容。,Activity其它属性,锁定Activity运行时的屏幕方向,/竖屏,值为landscape时为横屏,全屏的Activity,/设置全屏模式getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);/去除标题栏requestWindowFeature(Window.FEATURE_NO_TITLE);,Activity四种运行状态,Activity的状态Activity在系统中不断的被创建和销毁在Activity栈中被移进和移出Activity在不同的状态中转换Activity的4个状态活动状态(Running)暂停状态(Paused)停止状态(Stopped)销毁状态(Destroyed),Android应用程序组件Android常用组件ActivityAndroid通信组件IntentAndroidApplication类,Android通信组件-Intent意图,IntentAndorid系统中的消息传递机制Activity之间消息的传递Activity、Service、BroadcastReceiver之间的桥梁可用来在系统范围内广播消息用来描述一个程序想要作些什么事情,高富帅Activity,媒婆Intent,美女Activity,Intent设计理念,AndroidIntent基本的设计理念通过Intent减少组件间的耦合允许应用程序与其它的应用程序间传递Intent来执行动作和产生事件使用Intent可以激活Android应用的三个核心组件:Activity、Service、BroadcastReceiver,Intent使用描述,Intent对操作的描述通过startActivity方法来启动Activity通过broadcastIntent机制将一个Intent发送给对该Intent感兴趣的BroadcastReceiver通过startService(Intent)或bindService(Intent,ServiceConnection,Int)来和后台的Service进行交互,各种Intent设计实例,Intent最常用的用途就是连接一个应用当中的各个Activity,如果我们把Activity比作积木的话,那么Intent就好像是胶水,把不同的积木粘起来,构成我们搭建的房子。在程序当中如果要启动一个Activity的话,通常我们会调用startActivity方法,并把Intent作为参数传递进去,代码如:startActivity(myIntent);这个Intent或者指定了一个Activity,或者里边只包含了选定Activity的信息,但是具体启动哪个Activity由系统去决定,Android的系统负责挑选一个最满足匹配挑选条件的Activity。,两个Activity之间的跳转,两个Activity之间的跳转,实现方法如下:,Intentintent=newIntent(CurrentActivity.this,OtherActivity.class);startActivity(intent);,当执行了startActivity(intent)方法后,一个新的Activity就会被创建,并且移到整个Activity的堆栈顶部。,传递参数给下一个Activity,向下一个Activity传递数据:,Intentintent=newIntent(MainActivity.this,SubActivity.class);/传递数据intent.putExtra(name,sendText.getText().toString();/启动ActivitystartActivity(intent);,对于数据的获取可以采用:,Intentintent=getIntent();StringstrName=intent.getStringExtra(name);,接收Activity的返回值,通过startActivityForResult(Intent)方法用于启动一个Activity,并且新的Activity执行完后需要返回到启动它的Activity来执行回调函数;返回的数据处理是通过重写ActivityMain中的onActivityResult(intrequestCode,intresultCode,Intentdata)实现的,当被启动的Activity1执行完毕的时候,Android系统自动会调用这个方法。,publicvoidonClick(Viewv)Intentintent=newIntent(ActivityCommunication.this,SubActivity.class);startActivityForResult(intent,SUBACTIVITY);protectedvoidonActivityResult(intrequestCode,intresultCode,Intentdata)super.onActivityResult(requestCode,resultCode,data);switch(requestCode)caseSUBACTIVITY:if(resultCode=RESULT_OK)UriuriData=data.getData();Toast.makeText(this,收到返回的数据:+uriData.toString(),Toast.LENGTH_LONG).show();break;default:break;,ActivityMain.java,接收Activity的返回值,SubActivity通过setResult(intresultCode,Intentdata)方法返回数据和结果,publicvoidonClick(Viewv)StringuriString=editText.getText().toString();Uridata=Uri.parse(uriString);/设置返回值Intentresult=newIntent(null,data);setResult(RESULT_OK,result);finish();,SubActivity.java,Android应用程序组件Android常用组件ActivityAndroid通信组件IntentAndroidApplication类,Android应用属性,AndroidManifest.xml配置文件对于Android应用开发来说是非常重要的基础知识,其中对应用(application)的描述如下:,应用入口:Application,Android使用GoogleDalvikVM,相对于传统JavaVM而言有着很大的不同,在Sun的Java体系中入口点和标准C语言一样是main(),而每个Android程序都包含着一个Application实例,一个Application实例中有多个Activity。在android.app.Application这个包的onCreate方法是Android程序的入口点,只不过在大多数开发中无需重写该类。通常我们是不需要指定一个Application的,系统会自动帮我们创建,如果需要创建自己的Application,那也很简单!创建一个类继承Application并在AndroidManifest.xml文件中的application标签中进行注册(只需要给application标签增加name属性,并添加自己的Application的名字即可)。如:android:name=elhome.application.IntelHomeApplication,Application关于全局变量,Application是用来保存全局变量的,并且是在package创建的时候就跟着存在了。所以当我们需要
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 统编版2025-2026学年五年级上册语文期末专项复习-词语有答案
- 江苏省盐城市2024-2025年七年级下学期期末考试历史试卷(含答案)
- 2025年江西省吉安市吉水县中考物理二模试卷(含答案)
- 城市交通智能化发展前景研究
- 酒店行业市场复苏现状与前景
- “云·仓·配”带你走进智慧新世界-智慧仓储与配送管理知到智慧树答案
- “玩”创未来知到智慧树答案
- DB15-T 3155-2023 降雪对放牧畜牧业影响预报技术规程
- 水阻柜原理课件
- 消防消防水源保障方案
- (完整版)钢结构厂房施工组织设计(含土建)
- 机关食堂食品安全风险防控工作指南
- T/CHTS 10155-2024公路多脉冲整流远程直流供电系统技术规范
- 利用机器学习技术开发社区老年人跌倒风险预测模型
- 酒店宠物协议书
- 聘请合唱团老师合同协议
- 2025年公共行政管理考试试卷及答案
- 非创伤性软组织疼痛急诊管理专家共识解读
- 小学生作业书写规范要求
- 电镀防火知识培训课件
- 电石炉巡检工课件
评论
0/150
提交评论