常用代碼整理: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 {

    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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章