說明:大部分內容都是參考別的文章,這裏做整理是爲了以後的編程有實用的模板,可以即需即用。
一、MyApplication
import android.app.Application;
public class MyApplication extends Application {
private static MyApplication mMyApplication;
public static MyApplication getInstance() {
return mMyApplication;
}
@Override
public void onCreate() {
super.onCreate();
mMyApplication = this;
}
}
1、程序啓動時,系統會自動創建 Application 對象,然後運行 onCreate() 方法,其中 android.app.Application.onCreate() 方法體爲空,可以在 onCreate() 中做一些初始化工作。Application 不能自己創建,就如同不能自己創建 Activity 一樣,如果我們通過 new 創建一個 Application,會得到一個普通的類的實例,如果需要應用 Application 的地方用的是我們 new 出來的實例,則會出現空指針異常。綜上所述,使用 Application 一定要使用程序自己創建的 Application,在 onCreate() 中將對象賦值給一個變量(mMyApplication = this),後面開發中使用這個變量即可。
二、BaseActivity
public class BaseActivity extends AppCompatActivity {
protected Context mContext;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mContext = this;
}
@Override
protected void onRestart() {
super.onRestart();
}
@Override
protected void onStart() {
super.onStart();
}
@Override
protected void onResume() {
super.onResume();
}
@Override
protected void onPause() {
super.onPause();
}
@Override
protected void onStop() {
super.onStop();
}
@Override
protected void onDestroy() {
super.onDestroy();
}
protected void showToast(String text) {
if (!TextUtils.isEmpty(text)) {
Toast.makeText(getApplicationContext(), text, Toast.LENGTH_SHORT).show();
}
}
}
參考文章:
1、https://blog.csdn.net/asdssaaaa/article/details/52189616