`
1140566087
  • 浏览: 547623 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
博客专栏
2c4ae07c-10c2-3bb0-a106-d91fe0a10f37
c/c++ 入门笔记
浏览量:18074
3161ba8d-c410-3ef9-871c-3e48524c5263
Android 学习笔记
浏览量:309446
Group-logo
J2ME 基础学习课程集
浏览量:17988
A98a97d4-eb03-3faf-af96-c7c28f709feb
Spring 学习过程记录...
浏览量:17193
社区版块
存档分类
最新评论

Android 之 Activity和Intent用法介绍

阅读更多
                    
       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
0
分享到:
评论

相关推荐

    Android提高之Activity+Intent用法示例

    熟悉Android程序设计的人都知道Android有三个基础组件Activity,Service和BroadcastReceiver,他们都是依赖Intent来启动。本文所要介绍的是Activity的生命周期以及针对Activity的Intent使用。 之前的例子一直都是使用...

    android-页面跳转-Activity&Intent详解,Bundle类介绍说明.doc

    代码示例说明Android页面跳转,并且叙述了Activity和Intent的用法原理, 透视分析Bundle类的使用介绍

    Android Intent和Intent Filter详解

     三种应用程序基本组件——activity, service和broadcast receiver——是使用称为intent的消息来激活的。Intent消息传递是一种组件间运行时绑定的机制. intent是Intent对象, 它包含了需要做的操作的描述, 或者, ...

    Android开发-Activity的生命周期及Intent

    2. 掌握使用intent实现activity之间的跳转 3. 掌握在manifest文中定义多个activity,并指定Launcher Activity 4. 掌握Activity的启动模式,和启动模式所对应的Activity和task的关系 内容: 1、设计如下界面,包括四...

    实验一Activity的生命周期及Intent.zip

    实验目的: 1. 掌握activity组件...2. 掌握使用intent实现activity之间的跳转 3. 掌握在manifest文中定义多个activity,并指定Launcher Activity 4. 掌握Activity的启动模式,和启动模式所对应的Activity和task的关系

    Android组件之间交互核心Intent用法分析

    本文实例讲述了Android组件之间交互核心Intent用法。分享给大家供大家参考,具体如下: 从一个Activity启动到另一个Activity可以使用startActivity()方法或者是startActivityForResult()方法 第一种:直接启动一个...

    Android通过Intent传递数据

    我们可以通过Intent类中的putExtra方法可以将简单的数据类型和序列化对象保存到Intent对象中,然后在目标的Activity中使用getXxx方法取出对应的数据。

    Android 从Activity中返回数据

    在实际的应用中,我们不仅仅要向Activity传递数据,而且要从Activity中返回数据,虽然返回数据和传递数据类似,也可以采用前面4种方法,但是一般建议采用Intent对象的方式来返回数据,使用这种方式返回数据,需要...

    robotium intent 各种用法

    总结android中Intent的用法,约21种。

    Android整数乘法计算器(帮助理解Intent)

    适合刚入门的新手理解Activity和Inetent的初步用法

    详解Android应用开发中Intent的作用及使用方法

    Intent是一种运行时绑定(run-time binding)机制,它能在程序运行过程中连接两个不同的组件。通过Intent,你的程序可以向Android表达某种请求或者意愿,Android会...Android的三个基本组件——Activity,Service和Bro

    Android开发中使用Intent打开第三方应用及验证可用性的方法详解

    本文实例讲述了Android开发中使用Intent打开第三方应用及验证可用性的方法。分享给大家供大家参考,具体如下: Android中提供了Intent机制来协助应用间的交互与通讯。可作为不同组件之间通讯的媒介完成应用之间的...

    Android开发中Intent用法总结

    本文实例讲述了Android开发中Intent用法。分享给大家供大家参考,具体如下: Android手机软件开发中,Intent作为手机软件开发时很重要的对象需要引起我们的重视,实际上,intent也是体现Android开发具有其独特性的一...

    Android Activity中使用Intent实现页面跳转与参数传递的方法

    主要介绍了Android Activity中使用Intent实现页面跳转与参数传递的方法,结合实例形式简单分析了Android中的Activity交互操作相关技巧,需要的朋友可以参考下

    Android编程使用Intent传递对象的方法分析

    之前的文章中,介绍过Intent的用法,比如启动活动,发送广播,启发服务等,并且可以使用Intent时传递一些数据。如下代码所示: Intent intent = new Intent(this,SecondActivity.class); intent.putExtra(info, I ...

    Android代码-Android 一些重要知识点解析整理

    Tips &gt;later Main Android中的异步任务机制 Android中AsyncTak的使用与源码分析 ...Android中Intent传递对象的两种方法(Serializable,Parcelable) 评论 29,85,96 序列化: Serializable与Parce

    深入学习Android中的Intent

    Intent提供了一种通用的消息系统,它允许在你的应用程序见传递Intent来执行动作和产生事件,使用Intent可以激活Android应用的三种类型的核心组件:活动Activity、服务Service、广播接受者Broadcast。 Intent又分为...

Global site tag (gtag.js) - Google Analytics