第六天 Android学习总结(Activity)

来源:互联网 发布:绿色童年软件下载 编辑:程序博客网 时间:2024/06/14 11:44

1.创建一个activity

a.创建一个xxxactivity类继承activity类,实现oncreate方法,setContentView方法加载布局.

b.在AndroidManifest.xml清单文件中注册

<activity 

android:name=".................."  ★★★★★activity路径,这个一定要设置

label

icon

theme 这三个不设置则跟application一样

launchMode   activity启动方式(任务栈的处理不一样,不写默认standard), "standard" "singleTop" "singleTask" "singleInstance"

configChanges="screenSize|keyboardHidden|orientation" 这样设置可以限制activity横竖屏切换,,字面理解是配置改变时处理的属性,还没理解,待补充★

screenOrientation="portrait" 这样设置可以限制activity横竖屏切换.

>

<intent-filter>过滤器设置,一般希望别的程序能调用本activity才设置,隐式意图

<action> 动作,这里设置什么,使用隐式意图时就填什么

ACTION_MAIN:Android Application的入口,每个Android应用必须且只能包含一个此类型的Action声明.★

<category.> 同上

CATEGORY_LAUNCHER:设置该组件为在当前应用程序启动器中优先级最高的Activity,通常为入口ACTION_MAIN配合使用.★

<date>   要求接收的Intent中的data必须符合intent-filter中指定的data属性,这样达到反向限定Intent的作用

<inter-filter/>

<activity/>

2.显式意图和隐式意图:

显式意图:通过指定具体包名和类名 开启activity  

Intent intent = new intent(AActivity.this,BActivity.class);

隐式意图:

通过指定一组动作或者数据 开启activity

3.使用intent进行activity之间的数据传递 

intent.putExtra("key","value");传

Intent intent = getIntent(); intent.getStringExtra("key");   getTYPEExtra("key");

4.开启activity的两种方式 

a.有请求码和返回码的 startActivityforResult(intent);

在跳转的activity中,需要建立一个intent对象, 使用setresult(resultcode,intent).方法传回数据和返回码  finish();后传回

在原activity中还需要实现一个onActivityResult方法根据请求码和接受码来接收返回的数据

b.没有接收返回数据的 startActivity(intent);

5.请求码和结果码的作用

在第一个activity中的onActivityResult方法中使用

6.activity的生命周期

oncreate--->onstart----->onresume---->onpause--->onstop------>ondestroy

启动               看到界面      界面有焦点    失去焦点       看不到界面      销毁

                                              onresume < ----onpause还看到界面,但失去焦点到获得焦点

                        onstart<---onrestart<-----------------------onstop  看不到页面,重新看到页面.                                

7.任务栈 

先进后出,一直往上堆.....出去也是原路一个个返回

8.四种启动模式

standard

singletop

singletask

singleinstance

0 0