Application配置全局Context

第一步、写一个全局的单例模式的MyApplication继承自Application 覆盖onCreate ,在这个方法里面实例化Application

第二步、配置全局的Context

<applicationandroid:name="com.appstore.service.MyApplication"></application>

第三步、使用的时候用的时候根据类的名称访问Context

Android程序的入口点

Android使用GoogleDalvikVM,相对于传统JavaVM而言有着很大的不同,在Sun的Java体系中入口点和标准c语言一样是main(),而每个Android程序都包含着一个Application实例,一个Application实例中有多个Activity、Service、ContentProvider或BroadcastReceiver。因为大部分的应用都包含Activity所以,说很多网友认为是Activity的onCreate,但是你没有发现你的工程中有多个Activity吗?你可能没有见过没有Activity的Android应用吧。

其实在android.app.Application这个包的onCreate才是真正的Android入口点,只不过大多数开发者无需重写该类,他的继承关系如下图:

java.lang.Object
android.content.Context
android.content.ContextWrapper
android.app.Application

android.app.Application类包含了4个公开的方法

voidonConfigurationChanged(ConfigurationnewConfig)
voidonCreate()//这里才是真正的入口点。
voidonLowMemory()
voidonTerminate()

所以希望大家,记住真正的Android入口点是application的main,你可以看下androidmanifest.xml的包含关系就清楚了,并不是每个应用都必须有Activity的。


android中application关于全局变量

android编程中,application这样的名词似乎变得那样的不常见,而让大家更为熟悉的是activity、intent、provider、broadcast和service。但其实android中的application也有着它自身的用处。

打开manifest文件,会看到有一个application配置标签,这就是有关application的使用了。那究竟application有什么用处呢?来看看SDK中是如何描述的:

Baseclassforthosewhoneedtomaintainglobalapplicationstate.YoucanprovideyourownimplementationbyspecifyingitsnameinyourAndroidManifest.xml's<application>tag,whichwillcausethatclasstobeinstantiatedforyouwhentheprocessforyourapplication/packageiscreated.

就是说application是用来保存全局变量的,并且是在package创建的时候就跟着存在了。所以当我们需要创建全局变量的时候,不需要再像j2se那样需要创建public权限的static变量,而直接在application中去实现。只需要调用Context的getApplicationContext或者Activity的getApplication方法来获得一个application对象,再做出相应的处理。


例如:

public class MyApplication extends Application
{}

调用获得:

privateMyApplication app;

app=(MyApplication)getApplicationContext();

更多相关文章

  1. android 之 Notification 实例
  2. Activity的四种启动模式及其应用场景
  3. Picasso源码解析
  4. Android——application全局类的使用
  5. Android(安卓)Activity堆栈信息
  6. OkHttpClient实例化解析
  7. Android加载Class的思考
  8. Android布局和intent实例
  9. 用Android(安卓)Studio进行NDK编程入门实例

随机推荐

  1. Android 限定 Activity 转向
  2. androidの布局控件居于最底部实现
  3. Android 滚动Tab
  4. Android中的基本组件(2)
  5. Android TimePicker
  6. 由浅入深研究Android(3)--浅谈线程的一些东
  7. Android控件之CheckBox(复选框控件)
  8. Android中按钮点击效果显示
  9. android Content provider 组件
  10. Activity的启动模式