開始學安卓的時候發現經常有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會發現這裡的context是mainactivityvoid
addalarm()
文件提到,可以通過context來進行多項操作,但是不同的context能力範圍不一樣,遊樂園也有大小區別嘛。
conext能做的通用操作決定於這個context最初**於**。下表所列的是,在應用中常見的會收到context物件的,以及對應的每種情況,它可以用於哪些地方:
no3 在android4.2以上,如果receiver是null的話(這是用來獲取乙個sticky broadcast的當前 值的),這是允許的。
這可以結合安卓的那個鬧鐘專案
public可以發現這裡的context是receiverrestrictedcontext,因此需要建立乙個新的taskclass alarmreceiver extends
broadcastreceiver
}
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 物件也可用於保持控制代...