前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >8-25 Android 学习ing

8-25 Android 学习ing

作者头像
发布2018-09-03 15:39:39
4290
发布2018-09-03 15:39:39
举报
文章被收录于专栏:WD学习记录WD学习记录

1.Intent激活 新的activity

激活组件,附带数据

设置要激活的组件      显式Intent

1>intent.setClass(this,OtherActivity.class)

2>intent.setClassName(this,"packagename.OtherActivity")

3>intent.setComponent(new ComponentName(this,OtherActivity.class))

4>Intent intent = new Intent(this,OtherActivity.class) 

两个activity之间传递参数

1>intent传递参数,新activity getIntent()

2>bundle对象传递参数

2.activity的启动模式LaunchMode

1>standard

这是默认模式,每次激活activity时,每次都会创建activity实例,并且放入任务栈中

2>singleTop

如果在任务的栈顶正好存在该Activity的实例,就重用该实例(调用实例的onNewIntent()),否则就会创建新的实例,并且放入栈顶(ps:及时栈中存在该activity的实例,只要不在栈顶,就会创建实例)

3>singleTask

如果在栈中已经有该activity的实例,就重用该实例(会调用实例的onNewIntent())。重用时,会让该实例回到栈顶,因此在它上面的实例将会被移出栈。如果栈中不存在该实例,将会创建新的实例放入栈中

4>singleInstance

在一个新栈中创建该Activity的实例,并且让多个应用共享该栈中的Activity实例。一旦该模式的Activity的实例已经存在于某个栈中,任何再激活该Activity时都会重用该栈中的实例(会调用实例的onNewIntent()),其效果相当于多个应用共享一个应用,不管谁激活该Activity都会进入同一个应用中。

3.Intent

Android基本的设计理念是鼓励减少组件之间的耦合,因此Android提供了Intent(意图),Intent提供了一种通用的消息系统,它允许在你的应用程序与其它应用程序之间传递Intent来执行动作和产生事件。使用Intent可以激活Android应用三种类型的核心组件:活动、服务和广播接收者

Intent可以划分为显示意图和隐式意图

显式意图:调用Intent.setComponent()或者intent.setClassName()或者intent.serclass()方法指定了组件名的Intent为显式意图,显式意图明确指定了要激活的组件是哪个组件

隐式意图:没有明确指定组件名的Intent为隐式意图。Android系统会根据隐式意图中设置的动作(action)类别(category)数据(URL和数据类型)找到最适合的组件来处理这个意图。查找规则如下:

<intent-filter>

<action android :name="android.intent.action.CALL"/>

<category android:name="android.intent.category.DEFAULT"/>

<data android:scheme="tel"/>

</intent-filter>

<intent-filter>

<action android:name="android.intent.action.CALL"/>

<category android:name="android.intent.category.DEFAULT"/>

<data android:mimeType="vnd.android.cursor.item/phone"/>

</intent-filter>

4.Activity的生命周期

Activity有三个状态

当Activity在屏幕前台的时候(位于当前任务堆栈的顶部),它处于激活或者运行状态,可以响应用户操作

当Acitvity上边有另外一个Activity,上面的Activity没有完全覆盖它,或者上面的activity是透明的,这是下方的activity对用户可见,下方的保持暂停状态,如果系统内存不足时会杀死这个activity

当activity完全被另外一个activity覆盖时处于停止状态,仍然保留所有的状态和成员信息,但是对用户不可见,它的窗口被完全隐藏,如果其他地方需要内存,系统会杀死这个activity

activity从一种状态转变为另一种状态的时候,会调用以下保护方法来通知这种变化:

void onCreate(Bundle savedInstanceState)

void onStart()

void onRestart()

void onResume()

void onPause()

void onStop()

void onDestroy()

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2014年08月25日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档