Android 之 Activity和Intent用法介绍

标签: android activity intent | 发表时间:2014-01-01 22:03 | 作者:1140566087
出处:http://www.iteye.com
                    
       Activity 生命周期


1、 Activity介绍

    1)  概念:
        Activity 是Android应用程序和用户交互的窗口;

    2)  运行时的Activity特点:
        i.  可见的;
        ii. 能与用户进行交互的

2、 Activity的生命周期
    1)  生命周期图解:

    2)  提示:android 系统中的 Activity 是通过一个Activity 栈来进行管理的;遵循的是先进后出的原则;

    3)  Activity 的状态
        a)  Active/Running 状态:位于栈最顶端的 , 是处于运行状态的Activity 此时可见,能与用户进行交互的;
        b)  Paused 状态:Activity 失去了焦点,但是仍然可见;例如:透明或者Dialog样式的Activity;  仅仅可见,但是不能和用户进行交互;
        c)  Stopped 状态:当Activity被另一个Activity 完全覆盖、失去焦点,不可见;但仍然保存着所有的状态和成员信息;
        d)  Killed Activity 状态:被系统杀死回收或者没有被启动时处于Killed 状态

    4)  Activity 的主要生命周期
        a)  完整生命周期:
            说明:从调用 onCreate(); 方法到最终的调用onDestory();方法,Activity 会在onCreate() 方法进行所有“全局”状态设置,在onDestroy(); 方法中释放所有持有的资源;
        b)  可见性生命周期:
            说明:从 onStart() 到 onStop(); 这段过程称为可见性生命周期;
            特点:用户可以在屏幕上看到Activity ,但并不一定是在前景,也不一定可以和用户交互;
        c)  前景生命周期:
            说明:cong onResume()  到 onPause() 方法称为前景生命周期;
            特点:这段时间Activity 处于其他所有Activity 的前面,且与用户交互。

    5)  Activity 完整生命周期
        a)  OnCreate()  onStart()  onRestart()  onResume()  onFreeze() onPause()  onStop()  onDestroy();
        b)  onCreate():
            说明: Activity 初次创建的时候调用这个方法,是应用程序的入口;
            用途:可以初始化数据、设置用户界面等操作;
        c)  onStart();
            说明:该方法在onCreate() 之后进行调用,或者在Activity从stop状态转为Active状态时被调用;
            提示:该方法其后调用onRestart() 方法和 onResume() 方法;
        d)  onRestart();
            说明:当Activity从停止状态从新启动时调用;
            提示:其后调用的是 onResume() 方法;
        e)  onResume()
            说明:当Activity要与用户进行交互的时候调用该方;
            特点:此时的Activity 位于栈顶,可以和用户进行交互;
            提示:如果其他的Activity在它的上方恢复显示,则调用onFreeze() 方法
        f)  onFreeze()
            说明:当Activity暂停,其他的Activity恢复与用户交互的时候调用这个方法;
        g)  onPause()
            说明:当系统要调用其他的Activity 时调用(其他Activity之前调用);
            作用:一般用来提交数据的改变,停止动画,和其他占用CUP资源的东西。
            提示:如果Activity重新回到前景,则调用onResume()方法;如果用于彻底不可见,则调用onStop() 方法;
        h)  onStop()
            说明:当其他Activity 恢复并遮盖此Activity ,导致此Acitivity对用户不可见时调用;
            提示:当Activity 重新回到前景与用户交互时调用onRestart()方法,如果Activity将退出则调用 onDestory() 方法;
        i)  onDestory()
            说明:Activity 被销毁前调用的最后一个方法,当进程终止时会出现这种情况;提示:可以调用Activity提供的 finish()方法


3、 Intent 显式意图和隐式意图

    1)  Intent
        a)  说明:四大组建之一,Intent 为各个组建中互相通讯的纽带
        b)  作用:
            1、 启动其他组件,例如启动Activity ,服务,绑定服务
            2、 在广播中传递数据;
        c)  主要分类:
            Intent 的主要分类包括:隐式意图和显式意图

    2)  Intent 显式意图
        a)  说明:显示意图通常主要启动本应用中的Activity之间的数据;
        b)  用法:调用Intent.setComponent() 或 intent.setClass() 方法明确的指定了组件名;
        c)  作用:显示意图明确指定了Intent 应该传递给哪个组建;

    3)  Intent 隐式意图
        a)  说明:主要用于启动系统中某些特定的动作,比如打电话,或者是跨应用的Activity 的启动;
        b)  用法:在配置文件中设置action 动作、类别(category) ,数据找到合适的组件处理意图;
        c)  提示:隐式意图,要在mainfest.xml 文件合纵声明意图过滤器;
        d)  例子:
            <activity android:name=”.NewActivity”>
                <intent-filter>
                    <action android:name=”hp.intent.aa”/>
                    <category android:name=”android.intent.category.Default”/>
                </intent-filter>
            </activity>

    4)  隐式意图用法案例 之 拨打电话
        a)  判断号码的有效性:PhoneNumberUtils.isGlobalPhoneNumber(“用于输入的号码”)  -- 返回一个boolean 类型的值
        b)  设置动作:intent.setClass(Intent.ACTION.CALL);
        c)  携带数据(携带电话号码):intent.setData(Uri.parse(“tel:”+电话号码));   注意:此处必须加 tel:
        d)  设置打电话权限:
            <uses-permission android:name=”android.permission.CALL_PHONE”/>


已有 0 人发表留言,猛击->> 这里<<-参与讨论


ITeye推荐



相关 [android activity intent] 推荐:

Android 之 Activity和Intent用法介绍

- - 移动开发 - ITeye博客
                            Activity 生命周期. 1、 Activity介绍.         Activity 是Android应用程序和用户交互的窗口;.     2)  运行时的Activity特点:.         i.  可见的;. 2、 Activity的生命周期.

activity、 intent 、intent filter、service、Broadcast、BroadcaseReceiver解释

- - CSDN博客推荐文章
Android中,Activity是所有程序的根本,所有程序的流程都运行在Activity之中,Activity具有自己的生命周期(由系统控制生命周期,程序无法改变,但可以用onSaveInstanceState保存其状态). 对于Activity,关键是其生命周期的把握(如那张经典的生命周期图=.=),其次就是状态的保存和恢复(onSaveInstanceState onRestoreInstanceState),以及Activity之间的跳转和数据传输(intent).

使用intent来启动activity

- - CSDN博客推荐文章
Intent最常见的用途是绑定应用程序组件,并在应用程序之间通信.Intent用来启动Activity,允许创建不同屏幕的一个工作流. 要创建并显示一个Activity,可以调用startActivity,并传递给它一个Intent,如:. 可以构造Intent来显示地指定要打开的Activity类,或者包含一个目标Activity必须执行的动作.

Android Intent调用大全、系统自带Intent调用大全

- - 移动开发 - ITeye博客
1.从google搜索内容 . 6.调用发短信的程序 . 9.发送Email . 10.播放多媒体 . 14.从gallery选取图片 . 16.显示应用详细列表 . 刚才找app id未果,结果发现用package name也可以 . 18.打开联系人列表 . 19.打开另一程序 . 需要添加 这个权限到androidmanifest.xml.

Activity之间使用intent传递大量数据带来问题总结

- - CSDN博客推荐文章
转载请注明: 大飞  http://blog.csdn.net/rflyee/article/details/47441405. Activity之间使用Parcel传递大量数据产生的问题. Activity之间通过intent传递大量数据,导致新Activity无法启动. Activity之间数据传递方式总结参考  这 里.

Android Activity与Service通信

- - CSDN博客移动开发推荐文章
一、当Acitivity和Service处于同一个Application和进程时,通过继承Binder类来实现.      当一个Activity绑定到一个Service上时,它负责维护Service实例的引用,允许你对正在运行的Service进行一些方法调用. 比如你后台有一个播放背景音乐的Service,这时就可以用这种方式来进行通信.

Android中隐式意图(Intent)用法

- - CSDN博客推荐文章
         Intent对象在Android应用开发中起到很大的作用,例如激活组件(Activity,Service 等组件)或者携带数据的功能,相信大家在开发中经常会用到这些功能,Android中的意图分为 显式意图和 隐式意图,显式意图大家应该用得比较多,但隐式意图在开发过程中也是必不可少的.

Android 实现Activity后台运行

- - CSDN博客移动开发推荐文章
此方法其实不是主要是屏蔽Keycode_Back,让它不结束(finish())Activity,直接显示HOME界面.                                 ResolveInfo homeInfo = pm.resolveActivity(new Intent(Intent.ACTION_MAIN).

Android 之 Activity的加载模式

- - 移动开发 - ITeye博客
         加载模式决定以哪种方式启动一个跳转到原来某个Activity实例;.         在Android 开发中,activity 之间的跳转可能需要有多种方式,有时是普通的生成一个新实例,有时希望跳转到原来某个activity实例,而不是生成大量的重复的activity;. 3)  加载模式的种类:.

Android Intent 匹配规则以及解析框架深入分析

- - CSDN博客推荐文章
          第一部分 、Intent以及IntentFilter说明以及匹配规则分析.          第二部分:Intent的解析过程分析. 第一部分 、Intent以及IntentFilter说明以及匹配规则分析.        想当初我看Intent相关知识时,对Intent、IntentFilter的理解就很差劲,总觉得系统定义了一个Intent,为何还要整理个.