首页 > 学院 > 开发设计 > 正文

第一行代码学习2(4)

2019-11-08 00:02:51
字体:
来源:转载
供稿:网友

活动的声明周期


暂停状态(onPause)与停止状态(onStop) 1.暂停状态:活动不再处于栈顶,但任然可见,就是当一个新活动无法覆盖上一个活动时。 2.停止状态:当一个活动不处于栈顶,并且完全不可见的时候。

记录一个把活动设置成dialog的方式: 1.新建一个Activity; 2.在AndroidManifest.xml文件中注册的时候加入如下代码:

<acrivity android:theme="@android:style/Theme.Dialog">

这样该活动在被启动的时候就是以dialog的形式呈现出来,用来测试活动进入pause周期而不进入stop周期的方法。

活动被回收时的数据存储方法

Activity 中还提供了一个onSaveInstanceState()回调方法,这 个方法会保证一定在活动被回收之前调用,onSaveInstanceState()方法会携带一个Bundle 类型的参数,Bundle 提供了一系列的方法 用于保存数据,比如可以使用putString()方法保存字符串,使用putInt()方法保存整型数据以此类推。每个保存方法需要传入两个参数,第一个参数是键,用于后面从Bundle中取值,第二个参数是真正要保存的内容。(类似Intent的put方法)

在MainActivity中添加如下代码就可以将临时数据进行保存:

@OverridePRotected void onSaveInstanceState(Bundle outState){ super.onSaveInstanceState(outState); String tempData = "Something you just typed"; outState.putString("data_key", tempData);}

取值时的代码如下:

@Overrideprotected void onCreate(Bundle saveInstanceState){ super.onCreate(saveIntstanceState); setContentView(R.layout.Main); if(saveInstanceState != null){ String tempData = saveInstanceState.getString("data_key"); log.i(TAG, tempData); }}

注意:Intent 还可以结合Bundle 一起用于传递数据的,首先可以把需要传递的数据都保存在 Bundle 对象中,然后再将 Bundle 对象存放在 Intent 里。到了目标活动之后先从 Intent 中取出 Bundle,再从 Bundle中一一取出数据。


上一篇:枚举和结构体

下一篇:app退出操作

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表