第一行代码学习2(4)
来源:互联网 发布:linux有几个版本 编辑:程序博客网 时间:2024/05/29 19:33
活动的声明周期
暂停状态(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中一一取出数据。
0 0
- 第一行代码学习2(4)
- 第一行代码学习2(2)
- 第一行代码学习4(13)
- 第一行代码学习2(1)
- 第一行代码学习2(3)
- 第一行代码学习2(5)
- 第一行代码学习2(6)
- 第一行代码学习2(7)
- Android学习记录-《第一行代码》阅读笔记(2)
- 《第一行代码Android》学习日记4
- 《第一行代码Android》学习日记2
- 第一行代码学习笔记(一)
- 第一行代码Android学习(一)
- 第一行代码Android学习(二)
- 第一行代码Android学习(三)
- 第一行代码Android学习(四)
- 第一行代码Android学习(五)
- 第一行代码Android学习(六)
- Ubuntu下安装Chrome
- TCP三次握手详解及释放连接过程
- 谈运营之提高玩家活跃度的新技巧
- matlab练习程序(PSNR)
- 笔记:css命名相关规范
- 第一行代码学习2(4)
- 枚举和结构体
- java HashMap相关
- Android View和ViewGroup事件分发机制源码分析
- Linux 下Mongodb的安装
- 《Map中HashMap与TreeMap的排序以及四种遍历方式》
- Android_ListView_有Header或Footer时onItemClick里的position的问题
- 浅谈MyBatis 之 集成SpringMVC(六)
- webpack 配置项选项详解