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(键值对),它是 一个轻量级的存储类,特别适合用于保存软 ...
随机推荐
- 上传文件出错:org.apache.commons.fileupload.FileUploadBase$IOFileUploadException: Processing of multipart/form-data request failed. Stream ended unexpectedly
最近做一个web项目中有上传文件的功能,已经写出并在本地和部署到服务器上测试了好几个文件上传都没问题(我用的是tomcat).后来又上传了一个700多K的文件(前边的都是不足600K的,并且这个wor ...
- ArcEngine查询、添加、删除要素的方法
原文 ArcEngine查询.添加.删除要素的方法 1.查找数据 1).利用FeaturCursor进行空间查询 //空间查询 ISpatialFilter spatialFilter = new S ...
- HDU 2602 Find a way BFS搜索
题意:找到总时间最少的KFC 分析:两遍BFS 找KFC比较一下 注:有些地方的KFC可能到达不了,wa了一次 #include <iostream> #include <cstdi ...
- selenium IDE & Remote Control & Webdriver
一直忘记写selenium的开始学习的过程,今天趁五一,天气有雨,写下这文章 1.进入selnium官网,了解selenium1,2,grid的区别.下载c#相关的包(使用c#的人非常少) 2.使用I ...
- git 的版本回滚
当用git clone 复制远程代码库到本地时,使用 git branch 只能看到默认库(master),当远程库有多个分支时,可以使用 git branch -a 查看全部的分支, 然后git c ...
- C++空类以及没有成员变量的类的大小
关于C++中空类的大小为1,我们大家都有所了解,但是除了空类之外的其他一些没有成员变量的类的大小,还是有很多不明之处的. 我们来看如下一个例子: #include<iostream> us ...
- Ubuntu 14.04 设置静态IP
使用Network Manager UI界面中指定 手动时,无法保存. 通过修改配置文件解决来此问题.记录以下. 如果输入过密码后,就会出现在这个目录下面, 以如下chinaNet为例 gaojing ...
- while (cin>>str)退出死循环
今天在练习的时候突然发现了这个问题,百度之感觉还挺常见的,故记之! //题目描述 // //写出一个程序,接受一个十六进制的数值字符串,输出该数值的十进制字符串. // //输入描述 : //输入一个 ...
- 查找进程对应的PID和对应的端口号
第一步:首先打开任务管理器.之后左键单击查看,点击下面的选择列. 第二步:之后进入如下界面,把PID勾上.这是我们就可以查看到进程的PID(process id)号了 第三步:首先我们打开DOS窗口, ...
- A Tour of Go Buffered Channels
Channels can be buffered. Provide the buffer length as the second argument to make to initialize a b ...