这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 | ||
wiki:book:notes:android:第一行代码-android-第2版-郭霖:第2章 [2022/04/06 13:47] 博丽幻月 [活动被回收时数据的保存] |
wiki:book:notes:android:第一行代码-android-第2版-郭霖:第2章 [2022/04/06 14:07] (当前版本) 博丽幻月 [启动活动的最佳写法] |
||
---|---|---|---|
行 1: | 行 1: | ||
====== 第2章 先从看得到的入手——探究活动 ====== | ====== 第2章 先从看得到的入手——探究活动 ====== | ||
- | ====== 活动Activity | + | ===== 活动Activity ===== |
主要用于和用户进行交互。\\ | 主要用于和用户进行交互。\\ | ||
- | ====== 启动的主活动 | + | ===== 启动的主活动 ===== |
在''< | 在''< | ||
<code xml> | <code xml> | ||
行 8: | 行 8: | ||
< | < | ||
</ | </ | ||
- | ====== 通知消息Toast | + | ===== 通知消息Toast ===== |
用途:将一些短小的信息通知给用户,这些信息会在一段时间后自动消失,并且不会占用任何屏幕空间。\\ | 用途:将一些短小的信息通知给用户,这些信息会在一段时间后自动消失,并且不会占用任何屏幕空间。\\ | ||
<code java> | <code java> | ||
行 21: | 行 21: | ||
可以通过'' | 可以通过'' | ||
'' | '' | ||
- | ====== 活动中使用Menu | + | ===== 活动中使用Menu ===== |
'' | '' | ||
- | ====== 销毁一个活动 | + | ===== 销毁一个活动 ===== |
'' | '' | ||
- | ====== Intent交互 | + | ===== Intent交互 ===== |
Intent是Android程序中各组件之间**进行交互**的一种重要方式,它不仅可以指明当前组件**想要执行的动作**,还可以在不同组件之间**传递数据**。\\ | Intent是Android程序中各组件之间**进行交互**的一种重要方式,它不仅可以指明当前组件**想要执行的动作**,还可以在不同组件之间**传递数据**。\\ | ||
Intent一般可被用于**启动活动**、**启动服务**、**发送广播**等场景。\\ | Intent一般可被用于**启动活动**、**启动服务**、**发送广播**等场景。\\ | ||
Intent分两种:显示Intent、隐式Intent。\\ | Intent分两种:显示Intent、隐式Intent。\\ | ||
- | ====== 使用隐式Intent | + | ===== 使用隐式Intent ===== |
<code java> | <code java> | ||
intent.addCategory(" | intent.addCategory(" | ||
行 42: | 行 42: | ||
</ | </ | ||
</ | </ | ||
- | ====== 更多隐式Intent用法 | + | ===== 更多隐式Intent用法 ===== |
不仅可以启动自己程序内的活动,还可以启动其他程序的活动。\\ | 不仅可以启动自己程序内的活动,还可以启动其他程序的活动。\\ | ||
<code java> | <code java> | ||
行 54: | 行 54: | ||
intent.setData(Uri.parse(" | intent.setData(Uri.parse(" | ||
</ | </ | ||
- | ====== 向下一个活动传递数据 | + | ===== 向下一个活动传递数据 ===== |
使用'' | 使用'' | ||
<code java> | <code java> | ||
行 66: | 行 66: | ||
String data = intent.getStringExtra(" | String data = intent.getStringExtra(" | ||
</ | </ | ||
- | ====== 返回数据给上一个活动 | + | ===== 返回数据给上一个活动 ===== |
FirstActivity按钮onClick()中添加:\\ | FirstActivity按钮onClick()中添加:\\ | ||
<code java> | <code java> | ||
行 95: | 行 95: | ||
</ | </ | ||
如果使用'' | 如果使用'' | ||
- | ====== 活动的生存期 | + | ===== 活动的生存期 ===== |
- onCreate(): 第一次被创建,初始化操作 | - onCreate(): 第一次被创建,初始化操作 | ||
- onStart(): 不可见变为可见 | - onStart(): 不可见变为可见 | ||
行 103: | 行 103: | ||
- onDestroy(): | - onDestroy(): | ||
- onRestart(): | - onRestart(): | ||
- | ====== 活动被回收时数据的保存 | + | ===== 活动被回收时数据的保存 ===== |
'' | '' | ||
<code java> | <code java> | ||
行 126: | 行 126: | ||
} | } | ||
</ | </ | ||
- | ====== 活动的启动模式 ====== | + | ===== 活动的启动模式 ===== |
- | + | 启动模式4种:stantdard、singleTop、singleTask、singleInstance。\\ | |
+ | 可以在'' | ||
+ | standard是活动默认的启动方式。\\ | ||
+ | ===== 知晓当前是在哪一个活动 ===== | ||
+ | '' | ||
+ | ===== 随时随地退出程序 ===== | ||
+ | <code java> | ||
+ | android.os.Process.killProcess(android.os.Process.myPid()); | ||
+ | </ | ||
+ | '' | ||
+ | ===== 启动活动的最佳写法 ===== | ||
+ | 在要启动的活动中添加:\\ | ||
+ | <code java> | ||
+ | public static void actionStart(Context context, String data1, String data2) { | ||
+ | Intent intent = new Intent(context, | ||
+ | intent.putExtra(" | ||
+ | intent.putExtra(" | ||
+ | context.startActivity(intent); | ||
+ | } | ||
+ | </ | ||
+ | 然后通过下面代码启动:\\ | ||
+ | <code java> | ||
+ | SecondActivity.actionStart(FirstActivity.this, | ||
+ | </ |