編輯:關於android開發
官方文檔概述:關於應用程序環境的全局信息的接口。這是一個抽象類,它的實現是由安卓系統提供的。它允許訪問應用程序特定的資源和類,以及應用級的操作,如啟動活動,電話,廣播和接收的意圖,等等。 我感覺可以把context比喻成一個游樂園,你要玩過山車,海盜船這些就要在游樂園中玩。
ContextWrapper提供一系列方法。這樣繼承於它的Application,Service,Activitykey直接從它取得對應的方法。但是它的方法是空殼,具體功能由ContextImpl實現。
它們三者的對象就是一個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(){ //添加一句輸出 Log.d("Context", getContext()+""); ... }
會發現這裡的context是MainActivity
文檔提到,可以通過context來進行多項操作,但是不同的Context能力范圍不一樣,游樂園也有大小區別嘛。
Conext能做的通用操作決定於這個context最初來源於哪裡。下表所列的是,在應用中常見的會收到context對象的,以及對應的每種情況,它可以用於哪些地方:
這可以結合安卓的那個鬧鐘項目
public class AlarmReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { // TODO Auto-generated method stub ... Log.d("Context", getContext()+""); //啟動響鬧鐘的界面 Intent i = new Intent(context, PlayMusic.class); i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(i); } }
可以發現這裡的Context是ReceiverRestrictedContext,因此需要創建一個新的task
Android Menu菜單使用,androidmenu菜單 如上圖右上角,菜單選項的編輯,第一種代碼實現方式如下: package com.example.menu;
安卓開源項目周報1214,安卓開源項目1214由OpenDigg 出品的安卓開源項目周報第一期來啦。我們的安卓開源周報集合了OpenDigg一周來新收錄的優質的
Android 扒開美女衣服,android扒開美女本文主要實現一個小的扒開美女衣服的游戲項目 效果如下: 項目布局設計: <FrameLayout xmlns
Android中使用ViewPager實現屏幕頁面切換和頁面輪播效果,androidviewpager之前關於如何實現屏幕頁面切換,寫過一篇博文《Android中使用Vi