Android 第四课时 by姚鑫
2020-01-17 14:45:15 5 举报
AI智能生成
Andorid
作者其他创作
大纲/内容
Android 第四课时 by姚鑫
Intent
使用显式Intent
第一个参数为上下文
第二参数为目标活动
隐式Intent
在AndroidManifest文件配置
只有action和category同时匹配上Intent中指定的action和category时,才响应
startActivity默认的category是android.intent.category.DEFAULT
每个Intent中只能指定一个acton,但是能指定多个category
更多隐式Intent用法
Intent.ACTION_VIEW
打开浏览器
android:scheme
指定数据的协议部分 http
android:host
指定数据的主机名部分www.baidu.com
android:port
端口部分:80
android:path
主机名和端口后的部分
android:mimeType
用于可以处理的数据类型
Intent.ACTION_DIAL
拨号
Intent传递数据
传递
用putExtra()方法
接收
用getIntent
getStringExtra()
返回数据
用startActivityForResult()
setResut返回数据
重写onActivityResult获取数据
第一个参数requestCode,启动活动时的请求吗
第二个参数resultCode,返回数据的处理结果
第三个参数data,返回的数据
Activity
概念
可以包含用户界面的组建,主要和用户进行交互
基本用法
右键 ->new ->Activity -> Empty Activity
使用Menu
创建xml菜单
res -> New -> directory->menu
重写onCreateOptionMenu方法
getMenuInflater()得到MenuInflater对象
inflate()方法
第一参数用于指定资源菜单文件
第二参数用于指定我们的菜单添加到哪个Menu中
返回Ttrue
表示允许创建菜单显示出来
返回false
菜单不显示
重写onOptionsItemSelected方法
item.getItemId()
判断点击的哪一个子项
销毁一个活动
finish()
生命周期
返回栈
活动是叠层的
新的会覆盖在原活动上
返回是销毁最上边的活动
后进先出
活动状态
运行状态
位于栈顶时,可见
暂停状态
不位于栈顶,但是仍可见,例如对话框,透明的activiy
停止状态
不位于栈顶,不可见,需要内存时可能会被回收
销毁状态
从返回栈移除
生命周期7个回调方法
onCreate
第一次创建时调用
onStart
由不可见变为可见时调用
onResume
位于栈顶,处于运行状态
onPause
准备启动另一个活动时调用
onStop
活动完全不可见时调用
onDestroy
被摧毁调用
onRestart
由停止变为运行时调用
体验生命周期
启动第一个activity
2019-12-02 22:47:57.316 10447-10447/com.yx.jjzg D/yaoixin: 1onCreate2019-12-02 22:47:57.321 10447-10447/com.yx.jjzg D/yaoixin: 1onStart2019-12-02 22:47:57.328 10447-10447/com.yx.jjzg D/yaoixin: 1onResume
跳转第二个activity
2019-12-02 22:48:11.853 10447-10447/com.yx.jjzg D/yaoixin: 1onPause2019-12-02 22:48:11.935 10447-10447/com.yx.jjzg D/yaoixin: 2onCreate2019-12-02 22:48:11.937 10447-10447/com.yx.jjzg D/yaoixin: 2onStart2019-12-02 22:48:11.942 10447-10447/com.yx.jjzg D/yaoixin: 2onResume2019-12-02 22:48:12.202 10447-10447/com.yx.jjzg D/yaoixin: 1onStop
从activity返回到桌面
2019-12-02 22:48:36.371 10447-10447/com.yx.jjzg D/yaoixin: 2onPause2019-12-02 22:48:36.772 10447-10447/com.yx.jjzg D/yaoixin: 2onStop
从桌面返回activty
2019-12-02 22:48:49.693 10447-10447/com.yx.jjzg D/yaoixin: 2onRestart2019-12-02 22:48:49.698 10447-10447/com.yx.jjzg D/yaoixin: 2onStart2019-12-02 22:48:49.700 10447-10447/com.yx.jjzg D/yaoixin: 2onResume
返回第一个activity
2019-12-02 22:49:03.704 10447-10447/com.yx.jjzg D/yaoixin: 2onPause2019-12-02 22:49:03.774 10447-10447/com.yx.jjzg D/yaoixin: 1onRestart2019-12-02 22:49:03.775 10447-10447/com.yx.jjzg D/yaoixin: 1onStart2019-12-02 22:49:03.776 10447-10447/com.yx.jjzg D/yaoixin: 1onResume2019-12-02 22:49:04.026 10447-10447/com.yx.jjzg D/yaoixin: 2onStop2019-12-02 22:49:04.027 10447-10447/com.yx.jjzg D/yaoixin: 2onDestroy
第一个activity退出
2019-12-02 22:49:23.910 10447-10447/com.yx.jjzg D/yaoixin: 1onPause2019-12-02 22:49:23.988 10447-10447/com.yx.jjzg D/yaoixin: 1onStop2019-12-02 22:49:25.060 10447-10447/com.yx.jjzg D/yaoixin: 1onDestroy
保存数据onSaveInstanceState
活动被系统回收,要重新onCreate方法
启动模式
standard
在不进行显示指定的情况下,默认模式
每次创建一个新的实例
singleTop
位于栈顶时,不会创建新的实例
singleTask
栈里唯一实例,自动移除他上面所有的活动
singleInstance
全局单例
会单独放入一个栈里
在<activtiy> 标签 android:launchMode属性选择来启动
小技巧
知晓当前是哪个avtivity
建立Baseactivity
getClass().getSimpleName()
随时退出程序
增加工具类管理activity
onCreate增加
onDestroy删除
0 条评论
回复 删除
下一页