activity启动模式
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".BAty"></activity> <activity android:name=".MainActivity" android:launchMode="singleTop"> <intent-filter> <action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application>
|
Intent
1
| startActivity(new Intent(MainActivity.this,MyAty.class))
|
1 2 3 4 5 6 7
| <activity android:name=".MyAty1" android:label="myAty1"> <intent-filter> <category android:name="android.intent.category.DEFAULT"></category> <action android:name="com.huan.learnintent.intent.action.MyAty"></action> <data android:scheme="app"></data> </intent-filter> </activity>
|
1 2 3 4 5 6 7 8 9 10
| public class MyAty extends Activity {
public static final String ACTION="com.huan.learnintent.intent.action.MyAty";
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.myaty); } }
|
1 2 3 4 5 6 7
| findViewById(R.id.btn_start_myAty).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { startActivity(new Intent(MyAty.ACTION)); } });
|
Context , application
context意思为上下文,一个activity就是一个上下文(实现了Context接口)
application创建是在activity之前,可以利用该特点进行初始化操作,也可以用来进行数据共享
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
| public class App extends Application {
private String data = "default";
public String getData() { return data; }
public void setData(String data) { this.data = data; }
@Override public void onCreate() { super.onCreate(); System.out.println("application onCreate"); }
@Override public void onTerminate() { super.onTerminate(); }
@Override public void onLowMemory() { super.onLowMemory(); }
@Override public void onTrimMemory(int level) { super.onTrimMemory(level); }
@Override public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); } }
|
上面App继承Application,可以在onCreate方法中进行初始化操作
在activity中获取Application 可以调用getApplicationContext()方法即可
1 2 3
| public App getApp(){ return (App) getApplicationContext(); }
|
这样就可以获取到Application中共享的数据了。