- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章
深入理解Activity与Fragment
Activity学习内容
建立和配置Activity
启动和关闭Activity
Activity间数据的交换
Activity的生命周期
启动模式
建立、配置和使用Activity
Activity是Android应用最常见的组件之一,向提供用户屏幕显示,并与用户交互。
一个应用Application中,往往包括多个Activity,不同的Activity向用户呈现不同的操作界面。
多个Activity组成Activity栈,当前活动的Activity位于栈顶
创建Activity的要点
一个Activity就是一个类,并且这个类要继承Activity或其子类;
创建Activity的要点
创建一个Activity需要实现 个或多个方法
必须复写onCreate()方法,该方法会在Activity创建时被回调;
onCreate()方法中的工作包括:
(1)调用父类的onCreate方法?super.onCreate()
(2)初始化界面?setContentView()
(3)与组件交互?findViewById()
当一个Activity类定义出来之后,这个Activity类何时被实例化,它包含的方法何时被调用,这些都不是由开发者决定的,应由Android系统决定。
每一个Activity都需要在AndroidManifest.xml文件当中进行配置(P233);
5
从已有程序观察Activity.java
1.
2.
从已有程序观察AndroidManifest.xml
3.
配置Activity
Android应用要求所有应用程序组件都必须显式进行配置
应用程序组件包括:Activity、Service、ContentProvider以及BroadcastReceiver
在AndroidManifest.xml清单文件中配置Activity
配置属性
例1:
要求:
已有资源:
在chapter04的基础上创建一个用户提交结果的Activity
启动、关闭Activity(P235)
Activity启动其他Activity的方法
startActivity(intent):启动其他Activity
startActivityForResult(intent, requestCode):以指定的请求码requestCode启动其他Activity,而且程序会等到新启动的Activity的返回结果。
关闭Activity
finish():结束当前Activity
10
Intent的基本作用
11
Intent是一种运行时绑定机制,他能在应用程序运行的过程中连接两个不同的组件,实现组件间的跳转。
用来描述一个意图,请求。包含了动作的产生组件、接收组件和传递的数据信息。
Intent的基本作用
使用Intent显式启动Activity方法
创建一个Intent
指定当前的应用程序上下文以及要启动的Activity
把创建好的这个Intent作为参数传递给startActivity()方法
注意:
在AndroidManifest.xml文件中注册这两个Activity
被启动Activity在注册时不需要使用intent-filter元素进行配置。
android.content.ActivityNotFoundException: Unable to find explicit activity class {com.example.chapter04/com.example.chapter04.resultActivity}; have you declared this activity in your AndroidManifest.xml?
使用Bundle在Activity之间交换数据可以将需要交换的数据放入Intent的Extras属性
送出数据—put
1.Intent.putExtra(keyname, value)
2.Intent.putExtras(Bundle)
putExtra(值名字,值)
Intent.putExtra(“name”, “shuming”);/*String类型数据*/
Intent.putExtra(“age”, 100);/*int类型数据*/
putExtras(Bundle)
可以把零散的数据打包成一个包 Bundle
Bundle.putXXX(keyname,value)
Bundle.putString (“name”, “shuming”);
Bundle.putInt(“age”,100);
2017-4-8
13
使用Bundle在Activity之间交换数据
接收数据
需要根据数据
文档评论(0)