【Android学习】《Android开发视频教程》第二季笔记(未完待续)

时间:2023-01-21 16:11:19

视频地址:

http://study.163.com/course/courseMain.htm?courseId=207001

课时22  Activity生命周期(一)

1、如何在一个应用中添加新的activity

第一步:添加一个activity子类(新建class,继承Activity,添加onCreate方法)

右键sourse里面的override/implement methods可以自动添加onCreate方法。

【Android学习】《Android开发视频教程》第二季笔记(未完待续)

第二步:在res/layout/下面添加布局文件xml

第三步:在新的activity里面绑定布局文件

【Android学习】《Android开发视频教程》第二季笔记(未完待续)

第四步:在主配置文件AndroidManifest.xml中配置activity

直接模仿系统自动生成的那个写就行,注意<intent-filter></intent-filter>是声明主要的activity。Label是在app页面最上面那个标签。

【Android学习】《Android开发视频教程》第二季笔记(未完待续)

2、启动activity

【Android学习】《Android开发视频教程》第二季笔记(未完待续)

这样可以从MainActivity跳到NewActivity。

3、back stack

回收栈,每次都是显示栈顶的Activity。

【Android学习】《Android开发视频教程》第二季笔记(未完待续)

课时23  Activity生命周期(二)

1、Activity的生命周期

【Android学习】《Android开发视频教程》第二季笔记(未完待续)

以从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;

【Android学习】《Android开发视频教程》第二季笔记(未完待续)

2、成对的生命周期函数

OnStart OnStop

OnResume OnPause

OnCreat OnDestroy

课时25   Intent对象初步

1、使用Intent对象传递数据步骤:

第一步:在Activity:A中生成Intent对象

按照前面的生成activity的方法。

第二步:使用putExtra()向Intent对象存储数据

【Android学习】《Android开发视频教程》第二季笔记(未完待续)

有几个注意点:

(1)由注释可以键值一定要加上包名。

【Android学习】《Android开发视频教程》第二季笔记(未完待续)

(2)putExtra()方法是有很多重载的,可以根据需要选择,但是,结构都是键-值。

第三步:在Activity:B使用getXXXExtra()系列从Intent对象当中取出数据

【Android学习】《Android开发视频教程》第二季笔记(未完待续)

有几个注意点:

(1)其中XXX要根据需要,比如在进入的Activity压入的是String,所以是getStringExtra,如果是boolean就是getBooleanExtra,以此类推,可以自己找。

(2)有的可以有默认值,比如getIntExtra参数有两个,第一个是键名,第二个是默认值,意思是如果键值不存在,就使用默认值。

课时26  Android当中的线程

1、在UI线程之外是不能修改UI的。所以谁创建view谁才能去修改它。除非几个比较特别的如ProgressBar的setProgress()方法等等,大多数是不允许的。

2、

主线程:MainThread

在一个应用程序中,主线程用于获取用户的输入以及把运算结果反馈给用户,所以主线程是不能阻塞的,阻塞就会出现手机偶尔会出现的那样,“程序停止响应”,就是阻塞了,需要等待。

其他线程:WorkThread

对于一些可能会产生阻塞的,比如大文件读取之类的,就必须放在WorkThread中。(和Java多线程实现方法一样)。

所以问题就是WorkThread和MainThread如何通信,将在以后讲。