第四章 activity

PreferenceActivity是一个非常有用的基类,当需要进行选项设置时,这些选项会以参数的形式保存,习惯上我们会用Preferences进行保存。

 如果Android应用程序中包含某个Activity专门用于选项设置,那么android为这种Activity提供了便捷的基类:PreferenceActivity。
 一旦Activity继承了PreferneceActivity,那么该Activity完全不需要自己控制Preferences的读写,PreferenceActivity会帮我们处理一切。


 使用PreferenceActivity有一点与众不同,不需要使用普通的界面布局文件,使用PreferenceScreen作为根元素

在activity中使用该界面布局:
 1.让Activity继承PreferenceActivity
 2.在onCreate(bundle saveInstanceState)方法中调用addPreferencesFormResource(。。。)方法加载指定的界面布局文件

4.1.2配置Activity
 Android要求所有的应用程序组件(Activity,Service,ContentProvider,BroadcastReceiver)都必须显式的进行配置。

4.1.3启动,关闭Activity
 Activity启其他Activity有如下两个方法:
  1.startActivity(Intent intent):启动其他Activity
  2.startActivityForResult(Intent intent,int requestCode):以指定请求码(requestCode)启动Activity,而且程序将会等到新启动Activity的结果(通过重写onActivityResult(。。)方法来获取)。
 
  Intent是Android应用里各组件之间通信的重要方式,一个Activity通过Intent来表达自己的“意图”,被启动的组件既可以是Activity组件,也可以是,Service组件。

Android为关闭Activity准备了两个方法
 finish(),结束当前的Activity。
 finish(int requestCode):结束以startActivityForResult(Intent intent,int requestCode)方法启动Activity。

 //创建需要启动的Activity对应的Intent
 Intent intent = new Intent(StartActivity.this,SecondActivity.class);
 startActivity(intent);


4.1.4使用Bunde在Activity之间交换数据
 putExtras(Bundle data) 向Intent中放入需要携带的数据

 Bundle就是简单的数据携带包,该Bundle对象包含了多个方法来存入数据。
 putXxx(String key,Xxx data);向Bundle中放入Int,Long等各种数据类型的数据。 

 putSerializable(String key,Serializable data);
 向Bundle中放入一个可序列化的对象。

 为了取出Bundle数据携带包里的数据,Bundle提供了如下方法。
 getXxx(String key):从Bundle取出Int,Long等各种类型的数据。
 getSerializable(String key,Serializable data);


4.2Activity的回调机制

4.3Activity的生命周期
 四个状态:
 活动状态:当前Activity位于前台,用户可见,可以获得焦点
 暂停状态:其他Activity位于前台,该Activity依然可见,只是不能获得焦点
 停止状态:该Activity不可见,失去焦点
 销毁状态:该Activity结束,或Activity躲在的Dalvik进程被结束

 在Activity的生命周期中,如下方法会被调用
 onCreate(Bundle savedStatus)创建Activity时被回调
 onStart();启动Activity时被回调
 onRestart()重新启动Activity时被回调
 onResume()暂停Activity时被回调
 onPause()暂停Activity时被回调
 onStop()停止Activity时被回调
 onDestry()销毁Activity时被回调。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值