目录
4.3向下一个活动传递数据---------------------(代码练习做到2.3.4停止)
android 分为四层架构:Linux内核层(为硬件设备提供底层驱动),系统运行层(为系统提供特性支持),应用框架层(构建程序使用的API),应用层(手机应用程序)
1.四大组件
Activity(活动):在应用中可见的都存放于Activity
主要用户用户交互
Service:不可见,后台运行,用户退出应用仍运行
Broadcast Receiver:接受,发送广播消息
Content Provider:应用之间共享数据
2.原始代码介绍:
app -> src -> main -> res -> AndroidMainfest.xml:
app -> src -> main -> res中:
drawable:存照片
minmap:存图标
values:存字符串,样式,颜色等
layout:存放布局文件
3.Activity基本用法(参考第一行代码2.2部分)
3.1手动创建activity
3.2创建和加载布局
3.3在AndManifest文件中注册
所有活动需要在AndManifest.xml中注册才能生效
注:当前FirstActivity 为主活动,因此需要配置<intent-filter>标签中的内容,若不是主活动则不需要。
3.4在activity中使用Toast(提醒)
3.5在activity中使用Menu
在res目录下新建menu文件夹
创建两个菜单项:id,title
重写onCreateOptionsMenu()与onOptionsItemsSelected()方法
3.6销毁一个activity
使用finish()即可销毁当前activity
4.Intent
概念:Intent是Android程序中各组件之间进行交互的一种重要方式,可指明当前组件执行的动作,还可在不同组件中传递数据。
使用场景:启动活动、服务以及发送广播
分类:显式Intent、隐式Intent
4.1使用显示Intent
将second_layout.xml中替换为
Intent有多个构造函数的重载,eg:Intent(Context packageContent,Class<?>cls)
第一个参数:提供一个启动活动的上下文,
第二个参数:Class指定想要启动的目标活动
4.2隐式Intent
作用:启动自己程序内活动与其他程序的活动
展示一个网页:
Intent.ACTION_VIEW:常量值为:android.intent.action.VIEW()信息需要通过其他Activity展示给用户时,可将Intent的action指定为ACTION_VIEW
Uri.parse():将网址字符串解析成一个Uri对象
调用Intent.setData()方法将Uri对象传递进去
.setData()方法:
4.3向下一个活动传递数据---------------------(代码练习做到2.3.4停止)
putExta():将数据暂存Intent,启动另一个程序,再将数据从Intent中取出
4.4返回数据给上一个活动
startActivityForResult():用于启动活动。接受两个参数:Intent、请求码
setResult():用于向上一个活动返回数据。接收两个参数,第一个参数用于向上一个活动返回处理结果,只使用RESULT_OK或RESULT_CANCELED。第二个参数把带有数据的Intent传递回去,再调用finish()销毁当前活动。
5 Activity的生命周期
5.1返回栈(Back Stack)后进先出
5.2 Activity 生命周期
实践:
android:theme给当前Activity指定主题。
红圈处将DiaologActivity使用对话框式主题。
onSaveInstanceState():回调方法。保证Activity在回收之前一定被调用,可以解决活动被回收时临时数据得不到保存的问题。
存储:
取出:
5.3 Activity 启动模式
<activity>标签指定android:lunchMode
5.3.1 standard
5.3.2 singleTop
5.3.3 singleTask
功能:解决重复创建栈顶activity问题,让某个activity在整个应用程序的上下文中只存在一个实例。
5.3.4 singleInstance
功能:Activity会启动一个新的返回栈来管理这个Activity。可以共享Activity