Activity(2018.5.4)

启动一个Activity

一般启动

  startActivity(Intent intent)

带回调的启动

   startActivityForResult(intreqCode, Intent intent)

   onActivityResult(intreqCode, intresultCode, Intent data)

如何携带额外数据

  intent.putExtra(name, value)

如何获取携带的额外数据

  Xxxintent.getXxxExtra(name)

如何得到启动的 intent

  IntentgetIntent()

结束一个Activity

一般结束

  finish()

带结果的结束

   setResult(intresultCode, Intent data)

  finish()

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

Activity界面的四种状态

运行 状态 : 可见也可操作
暂停 状态 : 可见但不可操作
停止 状态 : 不可见,但对象存在
死亡 状态 : 对象不存在

Activity的生命周期回调方法

onCreate ()
onStart ()
onResume ()
onPause ()
onRestart ()
onStop ()
onDestory ()

Activity的生命周期图


测试用例

1)界面从死亡”-->“运行"

   -->

2) 界面从运行”-->“死亡"

   -->

3) 界面从运行”-->“停止"

   -->

4) 界面从停止” -->“运行"

   -->

5) 界面从运行”-->“暂停"

   -->

6) 界面从暂停” -->“运行"

   -->


Activity生命周期与状态


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

ActivityTaskStack

Android 中,系统用 Task Stack (Back Stack) 结构来 存储管理启动的 Activity 对象
一个应用启动 , 系统就会为其创建 一个对应的 Task Stack 来存储并管理该应用的 Activity 对象
只有最上面的任务栈的栈顶的 Activity 才能显示在窗口中


ActivitylaunchMode

Android , 启动一个 Activity 有时需要总是创建一个新对象 , 有时需要复用已有的对象 , 可以通过在配置 activity 时通过 launchMode 指定
launchMode 属性值 (4 ) :
standard :
标准模式,每次调用 startActivity () 方法就会产生一个新的实例。
singleTop :
如果已经有一个实例位于 Activity 栈的顶部时,就不产生新的实例;如果不位于栈顶,会产生一个新的实例。
singleTask :
只有一个实例 , 默认在当前 Task
singleInstance :
只有一个实例 , 创建时会新建一个栈 , 且此栈中不能有其它对象

应用练习

进入电话拨打界面的意图 : Intent.ACTION_DIAL
进入短信编辑界面的意图 : Intent.ACTION_SENDTO
拨打电话的意图 : Intent.ACTION_CALL
发送短信的工具类 : SmsManager
需要的权限 :

  打电话的权限: android.permission.CALL_PHONE

  发短信的权限: android.permission.SEND_SMS

拨打电话的 Uri: tel:110
进入短信界面的电话 Uri : smsto:110
携带额外短信数据的标识名为 : sms_body

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

设置监听的四种方式

1.layout中:android:onClick="方法名"

        Activity中:public void 方法名(View V){ }

  2.view.setOnClickListener(new View.OnClickListence(){})   

3.view.setOnclickListenter(this)

4.view.setOnclickLListenter(onclicklistenter 成员变量)


猜你喜欢

转载自blog.csdn.net/g1448261713/article/details/80220783