【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如何通信,将在以后讲。
【Android学习】《Android开发视频教程》第二季笔记(未完待续)的更多相关文章
- Go web编程学习笔记——未完待续
1. 1).GOPATH设置 先设置自己的GOPATH,可以在本机中运行$PATH进行查看: userdeMacBook-Pro:~ user$ $GOPATH -bash: /Users/user/ ...
- jQuery 学习笔记(未完待续)
一.jQuery概述 宗旨: Write Less, Do More. 基础知识: 1.符号$代替document.getElementById()函数 2.使 ...
- linux学习笔记---未完待续,缓慢更新
做为linux菜鸟,由于work的需要,慢慢的开始接触学习linux. <鸟哥的linux私房菜>学习笔记. 一.基础命令操作 1.显示日期的命令 date 执行date命令后,显示结果为 ...
- Greys学习笔记(未完待续)
Greys介绍 greys-anatomy是一个Java线上诊断工具,取名来自美剧<实习医生格雷>,由菜鸟-杜琨同学开发维护.比我们常用的脚本工具btrace提供更多的功能,greys采用 ...
- Java学习笔记(未完待续)
变量的作用域(scope)是指变量可以在程序中引用的范围.在方法中定义的变量称为局部变量(local variable).局部变量的作用域从声明变量的地方开始,直到包含该变量的块结束为止.局部变量都必 ...
- oracle-绑定变量学习笔记(未完待续)
--定义变量SQL> var a number; --给绑定变量赋值SQL> exec :a :=123; PL/SQL procedure successfully completed. ...
- iOS开发——设备信息小结(未完待续...)
1.获取设备的信息 UIDevice *device = [[UIDevice alloc] init]; NSString *name = device.name; //获取设备所有者 ...
- iOS开发系统版本适配(未完待续。。。)
1.iOS9引入了新特性App Transport Security (ATS).新特性要求App内访问的网络必须使用HTTPS协议:iOS9系统发送的网络请求将统一使用TLS 1.2 SSL.采用T ...
- Java并发笔记-未完待续待详解
为什么需要并行? – 业务要求 – 性能 并行计算还出于业务模型的需要 – 并不是为了提高系统性能,而是确实在业务上需要多个执行单元. – 比如HTTP服务器,为每一个Socket连接新建一个处理线程 ...
- 大熊君JavaScript插件化开发------(第二季)
一,开篇分析 Hi,大家好!大熊君又和大家见面了,还记得昨天的那篇文章吗------这个系列的开篇(第一季).主要讲述了以“jQuery的方式如何开发插件”, 那么今天我们带着昨天的疑问来继续我们的插 ...
随机推荐
- Java程序设计之线程池应用
这里简单说一个线程池的小应用,从控制台输入线程访问的线程数量,输出输出工作的线程名,之前先构造一个包含了5条线程的对象. 代码: import java.util.Scanner; import ja ...
- webService获取电话号归属地和获取天气情况步骤,及创建属于自己的webservice
一.什么是Web服务 Web服务是一种可以用来解决跨网络应用集成问题的开发模式,目的是保证不同平台的应用服务可以互操作 二.Web服务的三个核心 Soap: SOAP(Simple Object Ac ...
- angular监听
监听中第三个参数,何时使用true? true的意思是“深度监听” 1.当监听对象属性变化时,而你监听的对象写得是对象,此时要用深度监听true: 2....... 监听耗资源,用完关闭 var wa ...
- sqlmap常用技巧
http://nanshihui.github.io/2016/02/25/sqlmaptips/
- BZOJ 1853 【Scoi2010】 幸运数字
Description 在中国,很多人都把6和8视为是幸运数字!lxhgww也这样认 为,于是他定义自己的"幸运号码"是十进制表示中只包含数字6和8的那些号码,比如68,666,8 ...
- 初试Scala解析XML
使用Scala解析XML,充分体现了函数式编程的特点,简洁和明了.用Java去解析不是不行,只不过代码不够清晰明了. 首先先把XML文件读入到内存里: val someXml = XML.loadFi ...
- 简单CSS3实现炫酷读者墙
如题,给大家介绍和讲解几个常用的CSS3属性,并用到实处. 先看demo(请使用Chrome或者Firefox浏览,IE的靠边): 点此查看实例 觉得爽的可以继续阅读下面的知识点,感觉不爽的可绕行. ...
- 86 ipmitools-查看硬件信息工具
1.简介 IPMI(Intelligent Platform Management Interface)即智能平台管理接口是使硬件管理具备"智能化"的新一代通用接口标准.用户可以利 ...
- PHP7中php.ini、php-fpm和www.conf的配置
引自:https://typecodes.com/web/php7configure.html 1 配置php.ini php.ini是php运行核心配置文件: ######避免PHP信息暴露在htt ...
- 上传AppStore出现:Unexpected CFBundleExecutable Key 错误
解决办法:就是把无用的CFBundle删除掉. 根据提示,找到对应第三方的SDK, 找到第三方的info.plist文件,删除里面的Executable file对应的一整行,包括值.