转自《第一行代码-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()方法就可以了。