Context是什麼,怎麼用

2022-05-07 01:48:09 字數 1252 閱讀 9234

開始學安卓的時候發現經常有context,但是都不知道為什麼,什麼時候需要它。

官方文件概述:關於應用程式環境的全域性資訊的介面。這是乙個抽象類,它的實現是由安卓系統提供的。它允許訪問應用程式特定的資源和類,以及應用級的操作,如啟動活動,**,廣播和接收的意圖,等等。 我感覺可以把context比喻成乙個遊樂園,你要玩過山車,海盜船這些就要在遊樂園中玩。

它們三者的物件就是乙個context。因此在mainactivity中需要進行資料操作的時候的時候這樣寫

editor editor = getsharedpreferences("alarm", mode_private).edit();

但是在乙個繼承於linearlayout的子類中,則需要這樣寫

editor editor = getcontext().getsharedpreferences("alarm", context.mode_private).edit();

因此,在mainactivity中,有時候需要傳入context的物件,可以看到直接用mainactivity.this 結合鬧鐘那個專案,在新增鬧鐘的時候

private

void

addalarm()

會發現這裡的context是mainactivity

文件提到,可以通過context來進行多項操作,但是不同的context能力範圍不一樣,遊樂園也有大小區別嘛。

conext能做的通用操作決定於這個context最初**於**。下表所列的是,在應用中常見的會收到context物件的,以及對應的每種情況,它可以用於哪些地方:

no3 在android4.2以上,如果receiver是null的話(這是用來獲取乙個sticky broadcast的當前 值的),這是允許的。

這可以結合安卓的那個鬧鐘專案

public

class alarmreceiver extends

broadcastreceiver

}

可以發現這裡的context是receiverrestrictedcontext,因此需要建立乙個新的task

ThreadLocal是什麼?怎麼用?

threadlocal用於儲存某個執行緒共享變數 對於同乙個static threadlocal,不同執行緒只能從中get,set,remove自己的變數,而不會影響其他執行緒的變數。簡單的使用 public class threadlocaltestpublic class mytest exte...

RESTful是什麼,為什麼用,怎麼用

restful是什麼 其實restful絕大部分內容都是關於api設計時規範推薦的做法,並沒有新東西。只要符合rest設計原則的api都可以被稱為restful。restful的核心就是後端將資源發布為uri,前端通過uri訪問資源,並通過http動詞表示要對資源進行的操作。這裡涉及到乙個新概念 資...

IntPtr是什麼,該怎麼用

intptr 型別被設計成整數,其大小適用於特定平台。即是說,此型別的例項在 32 位硬體和作業系統中將是 32 位,在 64 位硬體和作業系統上將是 64 位。intptr 型別可以由支援指標的語言使用,並可作為在支援與不支援指標的語言間引用資料的一種通用方式。intptr 物件也可用於保持控制代...