Activity(2018.5.3)

本文介绍了Android中的Intent,包括其用于启动Activity、Service和Broadcast的功能,以及显式和隐式意图的区别。同时,详细阐述了Activity的生命周期,如创建、运行、停止、销毁等状态及其转换,并给出了相关测试用例。此外,还提到了IntentFilter在配置Activity中的作用,以及Intent的相关API使用。
摘要由CSDN通过智能技术生成

关于Intent(意图)

意图可以启动activity,service和broadcast

意图可以携带参数进行跳转

意图分为显式意图和隐式意图

意图可以设置action, category等属性

用来启动其他新的Activity。

作为传递数据和事件的桥梁。


Intent的分类

意图 : 明确指定的目标组件的意图
创建对象 :Intent(Context context ,Class clazz )
何时使用 : 当操作 当前自己应用 的组件时使用
隐式意图 : 没有明确指定目标组件的意图
创建对象 : Intent(String action)
何时使用 : 当操作 其它应用 的组件时使用


————————————————————————————————————————————————————

Activity的生命周期以及调用时机

Oncreate(创建) :创建activity第一个被调用的方法,用来对Activity初始化
Onstart(激活):activity变为在屏幕上对用户可见时调用,显示即调用
Onresume(恢复):activity开始与用户交互时调用(启动,重新启动。本方法都调用)
Onpause(暂停):activity被暂停或收回CPU和其他资源时调用,用于保存活动状态,保护现场,一般用来保存数据或者释放占用的资源。
Onstop(停止):activity被停止并转为不可见阶段时调用
Onrestart(重启):重启时调用。本活动仍在栈中,从停止状态转换为活动状态之前被调用。
Ondestroy(销毁):被完全从系统内存中移除时候调用


简单介绍Activity的生命周期四种状态

答:1、Running状态:一个新的Activity启动入栈后,它在屏幕最前端,处于栈的最顶端,此时它处于可见并可和用户交互的激活状态。
2、Paused状态:当Activity被另一个透明或者Dialog样式的Activity覆盖时的状态。此时它依然与窗口管理器保持连接,系统继续维护其内部状态,它仍然可见,但它已经失去了焦点,故不可与用户交互。
3、Stopped状态:当Activity不可见时,Activity处于Stopped状态。当Activity处于此状态时,一定要保存当前数据和当前的UI状态,否则一旦Activity退出或关闭时,当前的数据和UI状态就丢失了。
4、Killed状态:Activity被杀掉以后或者被启动以前,处于Killed状态。这是
Activity已从Activity堆栈中移除,需要重新启动才可以显示和使用。
 


————————————————————————————————————————————————————


测试用例:

1.界面从死亡-->运行
                     创建对象-->onCreate()-->onStart() -->onResume()-->可见可操作(运行状态)
 2.界面从   运行-->死亡
        onPause()-->onStart() -->onDestroy()-->Activity对象成为垃圾对象(死亡状态)  
 3.界面从   运行-->停止
   onPause()-->onStart()
 
 4.界面从   停止-->运行
   onRestart()-->onStart()-->onResume()
 5.界面从   运行-->暂停
           onPause()
 6.界面从   暂停-->运行
       onResume()



 match_parent     填充父窗体
   wrap_content      包裹内容

   hint属性: 提示信息

 android:id="@+id/et_main_msg"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"

        android:hint="@string/tips"



 //初始化视图对象
        et_main_msg=(EditText) findViewById(R.id.et_main_msg);
        btn_main_start1=(Button) findViewById(R.id.btn_main_start1);
        btn_main_start2=(Button) findViewById(R.id.btn_main_start2);
        
        //设置点击监听
        btn_main_start1.setOnClickListener(this);

        btn_main_start2.setOnClickListener(this);

public void onClick(View v){//v 就是发生的事件 (用户操作的)视图对象

if (v==btn_main_start1){

// Toast.makeText(this, "一般启动", Toast.LENGTH_SHORT).show();
//1.创建Intent对象(显示)
Intent intent = new Intent(this,SecondActivity.class);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值