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