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(键值对),它是 一个轻量级的存储类,特别适合用于保存软 ...
随机推荐
- A Fast Priority Queue Implementation of the Dijkstra Shortest Path Algorithm
http://www.codeproject.com/Articles/24816/A-Fast-Priority-Queue-Implementation-of-the-Dijkst http:// ...
- 面向对象(class0420)
测试 交换两个变量的值 int num1 = 5;int num2=6; 通过程序交换让num1 = 6,num2=5; 求两个数的最大值 (求三个数最大值) 求1-100之间所有奇数的和 找胖子,{ ...
- python 网络编程 (二)---异常
异常 python的socket模块实际上定义了4种可能出现的异常: 1)与一般I/O 和通信问题有关的socket.error; 2)与查询地址信息有关的socket.gaierror; 3)与其他 ...
- Makefile学习与进阶之Makefile.am和$$(M)的意思
(1)makefile 中,出现$$(M) 是什么意思,发现还是看实际的Makefile长知识啊 在makefile中,会经常使用shell命令,也经常见到$var 和 $$var的情况,有什么区别呢 ...
- [解决]ASP.NET MVC 4/5 源码调试(source code debug)
========================ASP.NET MVC 4============================ ASP.NET MVC 4 source code download ...
- Hadoop,HBase,Zookeeper源码编译并导入eclipse
基本理念:尽可能的参考官方英文文档 Hadoop: http://wiki.apache.org/hadoop/FrontPage HBase: http://hbase.apache.org/b ...
- [iOS基础控件 - 6.2] LOL英雄列表 UITableView单项显示
A.需求 1.使用只有一个section的TableView来显示LOL 的英雄列表 2.内容包括标题.副标题.图标 3.使用plain样式 4.使用MVC模式 heros.plist 文件结 ...
- UIKit: UIResponder(转自南峰子博客)
有问题可以加本人QQ:564702640(验证:博客园) 我们的App与用户进行交互,基本上是依赖于各种各样的事件.例如,用户点击界面上的按钮,我们需要触发一个按钮点击事件,并进行相应的处理,以给用户 ...
- 利用.htacess 实现重定向
步骤: 在网站目录下加入 .htaccess 文件中写 RewriteEngine On RewriteRule ^.*$ index.php 表示开启重写机制 重写到 index.php 的文件
- c# sql连接数据库
using System.Data.SqlClient; private static string connectionString ="Data Source=.\\HS;Initial ...