生命周期: 从出生到死亡

Activity生命周期的7个方法和3个循环

onCreate() 创建时调用
onRestart() 不可见到可见时调用
onStart() 用户可见时调用
onResume() 用户可交互时调用
onPause() 用户不可交互时调用
onStop() 用户不可见时调用
onDestroy() 销毁时调用

启动与退出的循环
Activity启动 onCreate() -- onStart() -- onResume()
Activity退出 onPause() -- onStop() -- onDestroy()

可见与不可见的循环
Activity不可见 onPause() -- onStop()
Activity重新可见 onRestart() -- onStart() -- onResume()

焦点失去与获得的循环
Activity失去焦点 onPause()
Activity获得焦点 onResume()

-----------------------------------------
Intent 在组件之间跳转的桥梁

intent分为如下两类:
明确的intent (显式的Intent)
明确指定要跳转的Activity
不明确的intent (隐式的Intent)
没有直接指定要跳转哪个Activity 通过一系列过滤条件筛选要跳转的Activity

1.1 明确intent跳转到相同包下的Activity
intent.setClass()

1.2 明确 intent跳转到不同包下的Activity
intent.setClassName("应用程序的包名", "Activity的包名.Activity类名");
特殊情况是:Activity的包名和应用程序的包名相同,则第二个参数可以简写为".Activity类名"

1.3 明确intent跳转到不同应用下的Activity
intent.setClassName("应用程序的包名", "Activity的包名.Activity类名");
同时,被跳转的Activity需要添加action=MAIN的过滤器

不明确的intent
需要设置的过滤条件有7个:
ComponentName --- 组件名称 用法基本上和setClassName()大同小异
Action -- 动作
Category -- 额外的动作
Data -- 数据(格式为Uri对象)
Extra -- 额外的数据
Flag -- 标识
Type -- 数据的类型(MIME) 多媒体格式的数据类型(文本、图片、音频、视频)

2.1 不明确的intent跳转到相同包下的Activity
跳转的Activity需要设置
intent.setAction("com.second");
同时被跳转的Activity需要在AndroidManifest.xml中设置intent过滤器:
<intent-filter >
<action android:name="com.second"/> --- 与跳转时set一致Action()的参数
<category android:name="android.intent.category.DEFAULT"/> -- 不能省略
</intent-filter>
2.2 不明确的intent跳转到不同包下的Activity 方法同上
2.3 不明确的intent跳转到不同应用下的Activiy 方法同上

Android_life,Intent_note的更多相关文章

随机推荐

  1. WCF - Consuming WCF Service

    WCF services allow other applications to access or consume them. A WCF service can be consumed by ma ...

  2. Android开发之使用BaseAdapter的notifyDataSetChanged()无法更新列表

    在做一个通讯录的app,使用BaseAdapter作为adapter.重写了getCount().getItem().getItemId() .getView()方法. 因为新建联系人在第二个acti ...

  3. 免安装oracle驱动访问数据库

    try { string connStr = "Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.110.110)( ...

  4. [转] POJ 题目分类

    转载来自http://www.cnblogs.com/kuangbin/archive/2011/07/29/2120667.html 初期:一.基本算法:     (1)枚举. (poj1753,p ...

  5. C#实现调用Java类中方法

    基本思路: 用C#实现调用Java编写的类中的方法:重点是将Java编写的程序打包成Jar,然后使用开源工具IKVM将其转化成DLL控件,在.NET环境下调用. 分为以下步骤: 1.下载JDK6(注: ...

  6. POJ 2240 Arbitrage spfa 判正环

    d[i]代表从起点出发可以获得最多的钱数,松弛是d[v]=r*d[u],求最长路,看有没有正环 然后这题输入有毒,千万别用cin 因为是大输入,组数比较多,然后找字符串用strcmp就好,千万不要用m ...

  7. [CODEVS3299]有序数组合并求第K大问题

    题目描述 Description 给出两个有序数组A和B(从小到大有序),合并两个有序数组后新数组c也有序,询问c数组中第k大的数 假设不计入输入输出复杂度,你能否给出一个O(logN)的方法? 输入 ...

  8. Windows下Lua+Redis 断点调试环境搭建==Linux下类似

    Lua+Redis 断点调试环境搭建 windows环境,使用Redis,写lua脚本头疼的问题之一不能对脚本断点调试,google加上自己的摸索,终于搞定. 1.下载ZeroBraneStudio, ...

  9. Stack Overflow 上人气最旺的 10 个 Java 问题

    1. 为什么两个(1927年)时间相减得到一个奇怪的结果? (3623个赞) 如果执行下面的程序,程序解析两个间隔1秒的日期字符串并比较: public static void main(String ...

  10. 问题-[delphi2007、2010]无法二次启动,报EditorLineEnds.ttr被占用,进程一直有bds.exe?

    问题现象:delphi2007.2010无法二次启动,报EditorLineEnds.ttr被占用,而且进程中一直有bds.exe的进程? 问题原因:问题处理:方法一:可能是系统更新的东东造在的.KB ...