What is Context? 什麼是 Context ?
context 是取得 application/object 的狀態,新建立出來的 object 現在的狀態。一般來使用會呼叫 context 來取得 activity 或 application 的資訊。
或者透過 context 來得到系統提供的服務,像是database 和 preferences 等等。Android App 在 activity時, Context 就是提示現在app 運作的狀態。 Acitvity Object 繼承 Context Object 這讓 Activity 有權限去取得 application 的特定資源和環境資訊。
所大多的使用基礎都是用Context ,Context在 Android 的開發中幾乎無所不在,錯誤的使用容易出現 memory leaks 。
圖片引至https://spicyboyd.blogspot.com/2018/04/appcontext.html
常見的使用有以下幾種
ListAdapter adapter = new SimpleCursorAdapter(getApplicationContext(), ...);
TextView tv = new TextView(getContext());
context 在 activity 中調用,與 activity 生命週期綁在一起。
NotificationManager manager = (NotificationManager)
getSystemService(Context.NOTIFICATION_SERVICE);
getWindow().setTitle(getResources().getText(R.string.main_title));
Context context = getContext();
File path = context.getExternalFilesDir(null);
if (null == path) {
path = context.getFilesDir();
}
Context.getSharedPreferences(name, mode)
reference :https://spicyboyd.blogspot.com/2018/04/appcontext.html
reference :https://jhengjhe.com/2019/02/26/translate-what-is-context