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

视频地址:

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如何通信,将在以后讲。

时间: 2024-10-14 20:56:52

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

Python学习笔记——基础篇【第二周】未完待续

python介绍 cpython print("alex xx")  c解释器 .pyc(字节码)  机器码 cpu jphthon print("alex xx") java解释器 Java字节码 机器码 cpu irongpython print("alex xx") C#解释器 C#字节码 机器码 cpu ruby js... pypy print("alex xx") 解释器 字节码  机器码 cpu 最快 代码执行的

w3school之JavaScript学习笔记-未完待续

在前端测试过程中,少不了听到开发说到JS,JS在webJavaScript 是浏览器脚本语言(简称JS),主要用来向HTML页面添加交互行为. 学习网址:http://www.w3school.com.cn/js/js_intro.asp 写入HTML输出 document.write("html元素") 对事件作出反应 <button type="button" onclick="alert('Welcome!')">点击这里<

BootStap学习笔记(未完待续)

移动设备优先:  为了让开发的网站对移动设备友好,确保适当的绘制和触屏缩放,需要在网页的head之中添加viewport meat标签:如下: <metaname="viewport"content="width=device-width, initial-scale=1.0"> 响应式图像: 通过对图像添加class="img-responsive"可以让图像对响应式布局设计的更好: 伪元素 http://www.w3school.

w3cschool之HTML学习笔记-未完待续

由于html标记语言是网页自动化测试所必须要掌握的,所以重新学习html语言(这似乎是我第四次学习html,这次得坚持了) 学习网址:http://www.w3school.com.cn/html/index.asp HTML 指的是超文本标记语言 (Hyper Text Markup Language),用来描述网页的.Web 浏览器的作用是读取 HTML 文档,并以网页的形式显示出它们.浏览器不会显示 HTML 标签,而是使用标签来解释页面的内容. HTML文档是由HTML元素定义的.HTM

Less学习笔记(未完待续)

     作为 CSS 的一种扩展,Less 不仅完全兼容 CSS 语法,而且连新增的特性也是使用 CSS 语法.这样的设计使得学习 Less 很轻松,而且你可以在任何时候回退到 CSS(摘自官网) 1.变量    Less通过@来定义变量:Less中的变量为完全的常量,所以只能被定义一次 @base: #f938ab; div { background: @base; padding: 50px; } p { color: #ff0; } 2.混合(Mixin) 混合可以将一个定义好的clas

iOS开发系统版本适配(未完待续。。。)

1.iOS9引入了新特性App Transport Security (ATS).新特性要求App内访问的网络必须使用HTTPS协议:iOS9系统发送的网络请求将统一使用TLS 1.2 SSL.采用TLS 1.2 协议,目的是强制增强数据访问安全,而且 系统 Foundation 框架下的相关网络请求,将不再默认使用 Http 等不安全的网络协议,而默认采用 TLS 1.2.简单的说,就是苹果限制了HTTP协议,如果你用的是http协议的,要处理请参考我的另一文章,iOS9网络适配 2.iOS9

iOS开发——设备信息小结(未完待续...)

1.获取设备的信息  UIDevice *device = [[UIDevice alloc] init]; NSString *name = device.name;       //获取设备所有者的名称 NSString *model = device.name;      //获取设备的类别 NSString *type = device.localizedModel; //获取本地化版本 NSString *systemName = device.systemName;   //获取当前

Python自动化开发(一)【未完待续】

1.创建项目 2.创建models from django.db import models # Create your models here. # 主机表 class Host(models.Model): # 主机名 hostname = models.CharField(max_length=128,unique=True) # 主机key key = models.TextField() # 主机状态 # 等待同意 status_choices = ((0,'Waiting Appro

java开发设计数据库细节(未完待续)

1.create_time(创建时间)不能勾选"根据当前时间戳更新",否则每更新一次信息,创建时间就会改变一次.2.update_time(最后一次更新时间)一定要勾选"根据当前时间戳更新",否则每次更新信息,update_time都是不会改变的 原文地址:https://blog.51cto.com/13678728/2456635

酷六类视频网站Android端软件开发视频教程

风网大话优酷 酷六类视频网站Android端软件开发视频教程本系列教程主要讲解一个类似于酷六.优酷等视频网站Android端软件的整体架构.开发流程及代码编写的全过程.具体涉及网络的上传.下载.多线程.SQLite数据库.SDcard操作.UI界面的显示和事件响应.设计模式的介绍和实战,IoC的精妙应用等. 课程目录:1.软件的演示以及和其他软件的比较 133MB2.Android娱乐多媒体的开发的重要的战略意义分析 45.3MB3.软件的概述 47.1MB4.该软件与Android就业 38.