Android基礎概念Context的作用

2021-07-03 11:05:25 字數 1258 閱讀 5268

很多初入android開發的網友向我們問到context有什麼作用,很多地方都用到它,這裡android123給這些新入門的網友做個簡單的解釋:

context字面意思上下文,位於framework package的android.content.context中,其實該類為long型,類似win32中的handle控制代碼,很多方法需要通過context才能識別呼叫者的例項,比如說toast的第乙個引數就是context,一般在activity中我們直接用this代替,代表呼叫者的例項為activity,而到了乙個button的onclick(view view)等方法時,我們用this時就會報錯,所以我們可能使用activityname.this來解決,主要原因是因為實現context的類主要有android特有的幾個模型,activity、service以及broadcastreceiver。

常規需要context例項的方法主要有各種service實現的類,比如說sensormanager在例項化時需要getsystemservice(string)方法就必須由context的例項執行,還有一些私有的檔案系統i/o比如說openfileinput以及常用的toast的maketext方法。

讀上面的解釋,提取兩點:

1.一般在activity中,我們直接用this代替。

2.有些方法必須通過context才能識別呼叫者的例項,我們就傳context例項。

很多初入android開發的網友向我們問到context有什麼作用,很多地方都用到它,這裡android123給這些新入門的網友做個簡單的解釋:

context字面意思上下文,位於framework package的android.content.context中,其實該類為long型,類似win32中的handle控制代碼,很多方法需要通過context才能識別呼叫者的例項,比如說toast的第乙個引數就是context,一般在activity中我們直接用this代替,代表呼叫者的例項為activity,而到了乙個button的onclick(view view)等方法時,我們用this時就會報錯,所以我們可能使用activityname.this來解決,主要原因是因為實現context的類主要有android特有的幾個模型,activity、service以及broadcastreceiver。

常規需要context例項的方法主要有各種service實現的類,比如說sensormanager在例項化時需要getsystemservice(string)方法就必須由context的例項執行,還有一些私有的檔案系統i/o比如說openfileinput以及常用的toast的maketext方法。

Android原始碼分析 全面理解Context

context是乙個抽象基類,我們通過它訪問當前包的資源 getresources getassets 和啟動其他元件 activity service broadcast 以及得到各種服務 getsystemservice 當然,通過context能得到的不僅僅只有上述這些內容。對context的...

Android程式中任意位置獲取Context

context物件在android中是乙個很重要的內容,activity中我們很容易獲得該物件,然後在service以及其他class中並不是那麼簡單。下文介紹如何在任意位置獲得context物件。return instance override public void oncreate 這裡寫上完...

Python基礎五之break和continue

通常,迴圈會不斷的執行 塊,直到條件為假或者使用完序列中的所有元素。但在有些情況下,你可能想中斷迴圈,開始新迭代或者直接結束迴圈。1 break 直接跳出迴圈,執行後面的 假設找到小於100的最大平方值。from math import sqrt for n in range 99,0,1 root...