知识点
-
在配置文件中设置主活动
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
- findViewById()方法返回的是一个View对象,我们需要向下转型,转成具体的控件对象。
- 这里应该描述下menu
- 显式Intent和隐式Intent
//显示Intent跳转
Intent intent = new Intent(MainActivity.this, Main2Activity.class);
startActivity(intent);
//隐式Intent跳转
Intent intent1 = new Intent();
//设置的Action要与跳转的Activity配置文件中的匹配 因为跳转的Activity设置的Category 是Default
//在 调用startActivity的时候会把这个category自动添加到intent中 intent1.addCategory("");
intent1.setAction("com.dashingqi.studyIntent.START_INTENT");
startActivity(intent1);
<activity android:name=".Main2Activity">
<intent-filter>
<action android:name="com.dashingqi.studyIntent.START_INTENT"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>
- 拨打电话和浏览网页
Intent intent = new Intent(); //浏览网页 intent.setAction(Intent.ACTION_VIEW); intent.setData(Uri.parse("http://www.baidu.com")); //拨打电话号码界面 intent.setAction(Intent.ACTION_DIAL); intent.setData(Uri.parse("tel:10086")); startActivity(intent);
活动的生命周期
1.返回栈(Back Stack):是一个先进后出的数据结构
2. 活动状态:运行状态,暂停状态,停止状态,销毁状态。
3. 活动被回收了怎么办?
/**
* 在活动回收之前 都会调用这个方法在这里进行数据的保存 在onCreate()中进行数据的获取
* @param outState
* @param outPersistentState
*/
@Override
public void onSaveInstanceState(Bundle outState, PersistableBundle outPersistentState) {
super.onSaveInstanceState(outState, outPersistentState);
if (outState!=null){
outState.putInt("intrger",7);
}
}
4. 杀掉当前进程
Process.killProcess(Process.myPid());