android开发之路03
一.Activity
1.如何在一个应用程序中定义多个Activity:①定义一个类,继承Activity;②在该类当中,复写Activity当中的onCreate方法;③在AndroidManifest.xml文件当中注册该Activity;
2.如何启动一个Activity:①生成一个意图(Intent)对象;②调用setClass方法设置所要启动的Activity;③调用startActivity方法启动Activity
3.Android当中的back stack(返回栈即返回按钮):栈这种数据结构,遵循先进后出的原则,比如说我们有三个Activity,分别是A,B,C我们通过A可以进入B,可以通过B进入C,也就是说A这个Activity是我们的主Activity。那么当我们进入应用程序时,首先映入眼帘的既是A,此刻在back stack中位于栈顶的元素就是A的对象,而当我们通过
A打开B时,在返回栈中就会添加这个B的对象,依次类推!而当我们点击返回按钮的时候,会将栈顶的Activity对象移除,并将其销毁;取而代之的是新的栈顶元素;返回按钮的操作和我们进入一个一个的Activity的顺序刚好是相反的。
4.Activity的生命周期概念:即Activity从创建到消亡的整个过程
5.Activity的生命周期方法:
①onCreate():在Activity对象被创建时调用;
②onStart():当Activity变得可见时调用;
③onResume():当Activity开始准备与用户交互时调用该方法;
④onPause():当系统即将启动另外一个Activity之前调用该方法;
⑤onStop():当前Activity变得不可见时调用该方法;
⑥onDestroy():当前Activity被销毁之前会调用该方法;
⑦onRestart():当一个Activity再次启动之前将会调用该方法;
6.Activity对象的状态:官方声明有三种状态,第一种是Resumed:Activity对象处于运行状态;第二种是Paused:另一个Activity位于前端,但是本Activity还可见;第三种是Stoped:另一个Activity位于前端,完全遮挡本Activity;
二.Intent
1.Intent对象的基本概念:①Intent是Android应用程序组件之一;②Intent对象在Android系统当中表示一种意图;③Intent当中最重要的内容是action与data
2.使用Intent对象传递数据:①使用putExtra()系列方法向Intent对象中存储数据;②使用getExtra()系列方法从Intent对象当中取出数据
三.Android线程
1.线程的两种实现方式:①继承Thread类;②实现Runnable接口;
2.MainThread(即UI线程或主线程)与WorkerThread(负责数据运算):在一个应用程序中,主线程通常用于接收用户的输入,以及将运算的结果反馈给用户,所以说对于一些可能会产生阻塞的操作,必须放置在Worker Thread当中
三.Handler
1.Handler运行的基本原理:涉及Handler,Looper(循环器)和MessageQueue(消息队列,队列这种数据结构遵循先进先出的原则)这三个类,Handler负责把消息对象添加到消息队列中,Looper负责取出添加了的消息对象,Looper调用Handler的handleMessage()方法处理这个消息对象
2.通过Handler实现线程间的通信
android开发之路03的更多相关文章
- android开发之路09(浅谈SQLite数据库01)
1.SQLite数据库: SQLite 是一个开源的嵌入式关系数据库,实现自包容.零配置.支持事务的SQL数据库引擎. 其特点是高度便携.使 用方便.结构紧凑.高效.可靠. 与其他数据库管理系统不同, ...
- Toast显示图文界面——Android开发之路1
Toast的多种使用方法 Toast其实是一个功能特别强大的组件,不仅仅可以吐司一个文本内容,还可以吐司图片以及图文混排的界面.具体用法如下: 第一种:简单的纯文本内容的吐司: Toast.makeT ...
- 菜单(Menu)的三中创建方式——Android开发之路2
菜单的三种创建方式 一.OptionsMenu---选项菜单 Android应用中的菜单默认是隐藏的,只有当用户点击手机上的MENU键,系统才会显示菜单.这种菜单叫做选项菜单(Options Menu ...
- Android中隐藏顶部状态栏的那些坑——Android开发之路3
Android中隐藏顶部状态栏的那些坑 先看看常规的隐藏状态栏的方法: 方法一: @Override protected void onCreate(Bundle savedInstanceState ...
- Android中点击隐藏软键盘最佳方法——Android开发之路4
Android中点击隐藏软键盘最佳方法 实现功能:点击EditText,软键盘出现并且不会隐藏,点击或者触摸EditText以外的其他任何区域,软键盘被隐藏: 1.重写dispatchTouchEve ...
- Intent的七大组件——Android开发之路5
------Intent------ Android中三个核心组件——Activity.Services.BroadCastProvider都是通过Intent传递参数. startActivity( ...
- android开发之路12(android四大组件&Fragment&AsyncTask类)
一.Activity组件1.简介:Activity组件是Android四大组件之一,通常一个Activity相当于一个用户界面,我们可以通过加载布局文件将Android提供的各种控件及自定义控件显示到 ...
- android开发之路13(实际开发常见问题及解决办法ING)
1.DDMS下无法浏览SDcard? 在做音乐播放器的时候,想通过eclipse中的DDMS视图将音频文件push到sd卡中,发现总是报错 :Failed to push selection: Rea ...
- android开发之路11(用SharedPreferences存储数据)
Android平台给我们提供了一个SharedPreferences类,实际上SharedPreferences处理的就是一个key-value(键值对),它是 一个轻量级的存储类,特别适合用于保存软 ...
随机推荐
- java实现多继承
方法: 接口+组合 理由:通过接口实现客户端的使用时多继承类的多类, 通过组合实现客户端内部类的实现相关功能(而且有些共用的功能可以不总是多次实现). public interface GMapOb ...
- Hbase学习笔记(安装和基础知识及操作)
1.Hbase简介 1.面向列的分布式数据库 2. 以HDFS作为文件系统 3. 利用MapReduce处理Hbase中海量数据 4. ZookKeeper作为协调工具 5. sqoop提供Hbase ...
- POJ 3140-Contestants Division(树形dp)
题意: n给节点的树,分成两个联通分支,使它们大小的绝对值最小,求这个最小值. 分析: 分成两个联通分支,即删除一条边,开始看到m(边数)和n(点数)没什么关系,但题目说的是一棵树,则m==n-1,求 ...
- 【原创】使用Nmon_Analyzer处理较大nmon文件的方法
1 编写目的 进行性能测试时,测试服务器使用的操作系统是Linux或Unix时,我们一般会使用Nmon工具进行操作系统资源监控数据的收集.Nmon工具是一款非常优秀的性能监控和分析工具,它能够实时地收 ...
- JPEG最优压缩参数试验【光影魔术手VS Image Optimizer】
样本数量:100张(1MB-2.6MB)旅游照 样本大小:157MB 156.44 样本尺寸:3M(204 ...
- Java 远程通讯技术及原理分析
在分布式服务框架中,一个最基础的问题就是远程服务是怎么通讯的,在Java领域中有很多可实现远程通讯的技术,例如:RMI.MINA.ESB.Burlap.Hessian.SOAP.EJB和JMS等,这些 ...
- ABAP开发基础知识:内表(Internal Table)
http://www.cnblogs.com/foxting/archive/2012/03/19/2406830.html 内表与结构体基本类似,它同样是程序运行中被临时创建的一个存储空间,它是一个 ...
- 转载Sql 获取数据库所有表及其字段名称,类型,长度
转载原地址 http://www.cnblogs.com/Fooo/archive/2009/08/27/1554769.html SELECT (case when a.colorder=1 the ...
- 高效使用Bitmaps(一) 大Bitmap的加载
转载:http://my.oschina.net/rengwuxian/blog/182885 高效使用Bitmaps有什么好处? 我们常常提到的“Android程序优化”,通常指的是性能和内存的优化 ...
- onethink 系统函数中 生成随机加密key
<?php /** * 生成系统AUTH_KEY */ function build_auth_key(){ $chars = 'abcdefghijklmnopqrstuvwxyz012345 ...