1. 程式人生 > >常用程式碼整理:Application 基類、Activity 基類

常用程式碼整理:Application 基類、Activity 基類

說明:大部分內容都是參考別的文章,這裡做整理是為了以後的程式設計有實用的模板,可以即需即用。

一、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(); } } }