Activity
-
生命周期
-
生命周期函数
继承Activitiy,实现方法的覆盖 -
生命周期状态
运行
暂停
停止
消亡 -
必须在AndroidMainfest.xml文件中注册
-
启动Activity的入口
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
- 启动Activity
显示启动activity
Intent intent = new Intent(ActivityOne.this,ActivityTow.class);
startActivity(intent);`
隐式启动Activity
1.首先在AndroidMainfest.xml中注册Activity
<activity android:name=".service.IntentActivity">
<intent-filter>
//这个name就是启动的指定字符串
<action android:name="primer/intent/activity"></action>
<category android:name="android.intent.category.DEFAULT"</category>
</intent-filter>
</activity>
2.其次,intent指定注册的activity name
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent("primer/intent/activity");
startActivity(intent);
}
});
- 带返回值的Activity
启动一个有返回值的
Intent intent = new Intent();
intent.setClass(ActivityMethods.this, OtherActivity.class);
startActivityForResult(intent, mRequestCode);
处理返回值
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == mRequestCode && resultCode == mResultCode) {
String result = data.getStringExtra("str_set_result");
Toast.makeText(this, "result :" + result, Toast.LENGTH_SHORT).show();
}
}
- 结束Activity
方式一
finish();
方式二
finishActivity(int requestcode)
- activity状态保存和恢复
// Activity 恢复数据的方法,经常在 oncreate 方法中恢复数据
@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
Log.i(TAG, "----onRestoreInstanceState----");
}
// Activity 保存数据的方法,经常在 onPause 方法中保存数据
@Override
public void onSaveInstanceState(Bundle outState, PersistableBundle outPersistentState) {
super.onSaveInstanceState(outState, outPersistentState);
Log.i(TAG, "----onSaveInstanceState----");
}