Android笔记11:Activity基础操作

2017-03-09  本文已影响23人  Rave_Tian

创建Activity


Activity的跳转

Activity的跳转需要创建Intent对象,通过设置intent对象的参数指定要跳转Activity

通过设置Activity的包名和类名实现跳转,称为显式意图

通过指定动作实现跳转,称为隐式意图

显式意图

隐式意图

获取通过setData传递的数据
    //获取启动此Activity的intent对象
    Intent intent = getIntent();
    Uri uri = intent.getData();

显式意图和隐式意图的应用场景


Activity生命周期

void onCreate()

void onStart()

void onResume()

void onPause()

void onStop()

void onDestroy()

void onRestart()

使用场景

完整生命周期(entire lifetime)

onCreate-->onStart-->onResume-->onPause-->onStop-->onDestory

可视生命周期(visible lifetime)

onStart-->onResume-->onPause-->onStop

前台生命周期(foreground lifetime)

onResume-->onPause

Activity跳转的生命周期

Android生命周期 Android Activity跳转时生命周期

Activity的四种启动模式

每个应用会有一个Activity任务栈,存放已启动的Activity

Activity的启动模式,修改任务栈的排列情况


横竖屏切换的生命周期

默认情况下 ,横竖屏切换, 销毁当前的activity,重新创建一个新的activity

快捷键ctrl+F11

在一些特殊的应用程序常见下,比如游戏,不希望横竖屏切换activity被销毁重新创建
需求:禁用掉横竖屏切换的生命周期

  1. 横竖屏写死
    android:screenOrientation="landscape"
    android:screenOrientation="portrait"

  2. 让系统的环境 不再去敏感横竖屏的切换。

      android:configChanges="orientation|screenSize|keyboardHidden"
    

掌握开启activity获取返回值

从A界面打开B界面, B界面关闭的时候,返回一个数据给A界面

步骤:

  1. 开启activity并且获取返回值

     startActivityForResult(intent, 0);
    
  2. 在新开启的界面里面实现设置数据的逻辑

     Intent data = new Intent();
     data.putExtra("phone", phone);
     //设置一个结果数据,数据会返回给调用者
     setResult(0, data);
     finish();//关闭掉当前的activity,才会返回数据
    
  3. 在开启者activity里面实现方法
    onActivityResult(int requestCode, int resultCode, Intent data)
    通过data获取返回的数据

  4. 根据请求码和结果码确定业务逻辑

上一篇 下一篇

猜你喜欢

热点阅读