常用程式碼整理:Application 基類、Activity 基類
阿新 • • 發佈:2018-12-12
說明:大部分內容都是參考別的文章,這裡做整理是為了以後的程式設計有實用的模板,可以即需即用。
一、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 {
private 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();
}
public void showToast(String text) {
if (!TextUtils.isEmpty(text)) {
Toast.makeText(getApplicationContext(), text, Toast.LENGTH_SHORT).show();
}
}
}