第1章:Activity
Posted 亿钱君
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第1章:Activity相关的知识,希望对你有一定的参考价值。
第1章:Activity
1. 基本应用
1.Android应用是按照MVC模式进行开发的
2.创建一个新的应用项目,命名为ActivityDemo,并默认创建MainActivity,布局文件命名为main_layout.xml
3.添加Activity,命名为Scene1Activity
注意:创建新的Activity时,自动完成两件事
- 注册
- onCreate()方法中添加了布局文件的引用
4.修改配置文件,使Scene1Activity成为应用的主Activity
5.在seene1_layout.xml中添加一个TextView组件并设置一些信息,并测试
6.隐藏应用标题栏,在onCreate()方法中添加如下代码
ActionBar actionBar = getSupportActionBar();
if(actionBar != null) actionBar.hide();
2. 运行周期
3. Activity的启动和关闭
在ActivityDemo应用中,创建一个Activity,并命名为Scene2Activity
3.1 启动Activity(页面切换)
1.解决如何从Scene1Activity中打开Scene2Activity(页面切换)
- 在scene1_layout.xml中添加一个Button组件
- 在Scene1Activity.java文件中,在onCreate()方法中增加单机切换事件
Button btn1 = (Button)findViewById(R.id.btn1);
btn1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(Scene1Activity.this,Scene2Activity.class);
startActivity(intent);
}
});
- 在scene2_layout.xml中添加一个TextView
- 测试(页面切换)
3.2 Activity返回栈
3.3 Activity启动模式
4. 数据传递
4.1 使用Intent( putExtra():向目标传递数据 )
- 在Scene1Activity中添加一些代码,将文本信息传递到Scene2Activity页面中
- 修改Scene2Activity中一些代码,在组件txt2中显示来自Scene1Activity的信息
- 测试结果
4.2 接收返回数据( )
1.Scene1Activity的onClick()方法中使用startActivityForResult()方法启动目标Activity
- 参数1:一个intent对象
- 参数2:当前Activity中唯一的整数ID
2.Scene2Activity布局文件中添加一个按钮
3.Scene2Activity文件中两种方法向Scene1Activity返回不同信息
-
方法1:通过按钮返回数据
-
方法2:通过返回键返回数据
4.Scene1Activity.java文件中重写onActivityResult()方法接收返回数据
- 参数一:requestCode,调用startActivityForResultI()方法指定的代码,如果Activity需要从多个目标Activity中返回数据,可以用此参数来区分。
- 参数二:resultCode,数据返回的状态,如RESULT_OK,RESULT_CANCELED等
- 参数三:返回数据的Intent对象
5.测试结果
4.3 Bundle(数据自动保存与载入)
5. Intent的更多应用
以上是关于第1章:Activity的主要内容,如果未能解决你的问题,请参考以下文章
Reload Activity 以在 Fragment 之间重新切换
Android 事件分发事件分发源码分析 ( Activity 中各层级的事件传递 | Activity -> PhoneWindow -> DecorView -> ViewGroup )(代码片段