轉自《第一行代碼-Android》進階篇
這本書對於入門來說確實很棒,很簡單明了的介紹了Android開發中涉及到的方方面面,對我的幫助很大,同時記錄一些該書中一些對我以后開發有用的東西,以方便使用。
Android提供了一個Application類,每當應用程序啟動的時候,系統就會自動將這個類進行初始化。而我們可以定制一個自己的Application類,已便於管理程序內一些全局的狀態信息,比如全局Context。
定制一個自己的Application,首先需要創建一個MyApplication類繼承Application。
1 public class MyApplication extends Application { 2 3 private static Context context; 4 5 @Override 6 public void onCreate() { 7 // TODO Auto-generated method stub 8 super.onCreate(); 9 context=getApplicationContext(); 10 } 11 12 public static Context getContext() { 13 return context; 14 } 15 }
重寫了父類的onCreate()方法,並通過調用getApplicationContext()方法得到了一個應用程序級別的Context,然后又提供了一個靜態的getContext()方法,在這里將剛才獲取到的Context返回。
在AndroidMainifest文件中的<application>標簽下進行指定
1 <manifest xmlns:android="http://schemas.android.com/apk/res/android" 2 package="com.example.test" 3 android:versionCode="1" 4 android:versionName="1.0" > 5 ...... 6 <application 7 android:name="com.example.test.MyApplication" 8 ......> 9 ...... 10 </activity> 11 </application> 12 </manifest>
這樣我們就已經實現了一種全局獲取Context的機制,之后不管你想在項目的任何地方使用Contenxt,只需要調用一下MyApplication.getContext()方法就可以了。
