第8章 Android应用程序组成.ppt
上传人:qw****27 上传时间:2024-09-12 格式:PPT 页数:44 大小:1.8MB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

第8章 Android应用程序组成.ppt

第8章Android应用程序组成.ppt

预览

免费试读已结束,剩余 34 页请下载文档后查看

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第8章Android应用程序组成8.1深入理解Activity8.1.1使用Intent连接Activity使用Intent完成Activity的跳转只需两个步骤:1.创建Intent在创建Intent时,我们可以使用如下构造方法:Intent.Intent(ContextpackageContext,Class<?>cls)2.调用Intent创建完成后,我们可以使用startActivity()方法调用Intent以完成跳转,语法格式如下:Activity.startActivity(Intentintent)完成了Intent最基本的应用,让我们接着挖掘Intent的使用,在一个Activity跳转到另一个Activity时可以通过Intent传递数据。这也是Intent十分实用的一个功能。使用步骤分为两步:(1)在起始Activity中存入需要传递的数据。语法格式为:Intent.putExtra(Stringname,Stringvalue)(2)在目标Activity中取出Intent中携带的数据,语法格式为:1.Intent.getExtras()接着我们要做的事情就是在Activity1中取得我们传递的数据:(1)通过getIntent()方法得到intent对象(2)通过getExtras()方法得到Bundle对象(3)通过getString(Stringkey)方法得到具体的数最后运行程序,效果图如下所示:我们希望从一个界面跳转到另一个界面进行相关的工作如注册等,在注册页面完成输入相关信息后再返回到起始页面。并显示用户在注册页面输入的相关信息。这时我们可以使用另一种启动Activity的方式:startActivityForResult(Intentintent)使用它的主要步骤如下:(1)新建Intent,并使用startActivityForResult()方法调用该Intent。(2)重写onActivityResult()方法,在方法中处理返回结果。(3)在目标Activity中,新建一个空指向的Intent,并绑定数据。(4)使用setResult()方法,将Intent传递到结果中。(5)调用finish()方法结束目标Activity。运行代码之后,得到的效果图如图1、2、3所示:图1图2图38.1.2Activity的生命周期让我们通过下图来更直观地认识它。让我们新建两个Activity分别命名为ActivityA和ActivityB,并重写这两个Activity的7个生命周期,在执行时添加日志打印。通过以上两个Activity的代码,我们可以观察日志,以进一步理解Activity的生命周期。运行以上代码,当程序启动时,观察日志如下:从日志得出结论,ActivityA在程序启动时以供经历了3个生命阶段,分别是onCreate,onStart()以及onResume(),这与我们之前的分析不谋而合。此时ActivityA已经可以进行用户操作了,所以我们可以单击Button按钮以实现Activity的转换。同样地,当我们从ActivityB再次跳转到ActivityA时,日志如图所示:到这里,Activity依然没有执行销毁过程也就是系统还没有执行onDestroy()方法。不要着急,按下手机的back键,此时程序会回到上一个Activity,也就是ActivityB,并销毁ActivityA,那么看看输出的日志吧:接下来,让我们想一想,当按下系统的Home键后,Activity的生命周期如何呢?我们依然观察日志:我们看到ActivityA只执行了两个过程:onPause()以及onStop(),当我们长按Home键再次进入程序,按照我们的推理,Activity应该执行的生命周期流程应该是:onRestart()——>onStart()——>onResume()日志如图所示:8.2使用广播接收器8.2.1发送广播8.2.2接收广播8.2.3广播实例1.布局文件在配置文件中添加如下3个组件,如表所示:2.整体设计整体设计中,在onCreate()方法中完成接收器的新建和注册,在初始化界面函数中完成按钮的单击事件,不同的按钮发送不同Intent的广播。3.初始化界面函数按下btn1时发送action为ACTION_1的Intent,按下btn2时发送action为ACTION_2的Intent。4.Activity结束时,注销广播接收器运行代码之后,效果如组图所示:8.3使用服务8.3.1新建服务接下来就开始进入具体的实现步骤,首先在Eclipse的工程浏览器中选择