视频地址:
http://study.163.com/course/courseMain.htm?courseId=207001
课时22 Activity生命周期(一)
1、如何在一个应用中添加新的activity
第一步:添加一个activity子类(新建class,继承Activity,添加onCreate方法)
右键sourse里面的override/implement methods可以自动添加onCreate方法。
第二步:在res/layout/下面添加布局文件xml
第三步:在新的activity里面绑定布局文件
第四步:在主配置文件AndroidManifest.xml中配置activity
直接模仿系统自动生成的那个写就行,注意<intent-filter></intent-filter>是声明主要的activity。Label是在app页面最上面那个标签。
2、启动activity
这样可以从MainActivity跳到NewActivity。
3、back stack
回收栈,每次都是显示栈顶的Activity。
课时23 Activity生命周期(二)
1、Activity的生命周期
以从Activity:A到Activity:B为例,调用如下——
打开A:
A.OnCreate A.OnStart A.OnResume
点击A中的按钮跳到B:
A.onPause B.OnCreate B.OnStart B.OnResume A.onStop
点击后退按钮,B要从back stack中弹出并销毁
B.onPause A.OnRestart A.OnStart A.OnResume B.OnStop B.OnDestroy
课时24 Activity生命周期(三)
1、Activity对象的状态
(1)Resumed:Activity对象处于运行状态;
(2)Paused:另一个Activity位于前段,但是本Activity还可见;
(3)Stopped:另一个Activity位于前段,完全遮挡本Activity;
2、成对的生命周期函数
OnStart OnStop
OnResume OnPause
OnCreat OnDestroy
课时25 Intent对象初步
1、使用Intent对象传递数据步骤:
第一步:在Activity:A中生成Intent对象
按照前面的生成activity的方法。
第二步:使用putExtra()向Intent对象存储数据
有几个注意点:
(1)由注释可以键值一定要加上包名。
(2)putExtra()方法是有很多重载的,可以根据需要选择,但是,结构都是键-值。
第三步:在Activity:B使用getXXXExtra()系列从Intent对象当中取出数据
有几个注意点:
(1)其中XXX要根据需要,比如在进入的Activity压入的是String,所以是getStringExtra,如果是boolean就是getBooleanExtra,以此类推,可以自己找。
(2)有的可以有默认值,比如getIntExtra参数有两个,第一个是键名,第二个是默认值,意思是如果键值不存在,就使用默认值。
课时26 Android当中的线程
1、在UI线程之外是不能修改UI的。所以谁创建view谁才能去修改它。除非几个比较特别的如ProgressBar的setProgress()方法等等,大多数是不允许的。
2、
主线程:MainThread
在一个应用程序中,主线程用于获取用户的输入以及把运算结果反馈给用户,所以主线程是不能阻塞的,阻塞就会出现手机偶尔会出现的那样,“程序停止响应”,就是阻塞了,需要等待。
其他线程:WorkThread
对于一些可能会产生阻塞的,比如大文件读取之类的,就必须放在WorkThread中。(和Java多线程实现方法一样)。
所以问题就是WorkThread和MainThread如何通信,将在以后讲。