Android的Application对象使用以及获得方法
2014-08-26 23:30
232 查看
Application和Activity,Service一样是android框架的一个系统组件,当android程序启动时系统会创建一个application对象,用来存储系统的一些信息。通常我们是不需要指定一个Application的,这时系统会自动帮我们创建。打开每一个应用程序的manifest文件,可以看到activity都是包含在application标签之中,如下: 为了更好的利用Application的这一特性,比如我们需要Application来保存一些静态值,需要自定义继承于Application的类,然后在这个类中定义一个变量来保存。在默认情况下应用系统会自动生成Application 对象,但是如果我们自定义了Application,那就需要告知系统,实例化的时候,是实例化我们自定义的,而非默认的。比如我们自定义了一个AppContext类: android:name= ".AppContext" 通常Application全局对象是通过Context或者Activity的getApplicationContext()方法获得的比如我们在应用程序中想要获得我们刚刚定义的AppContext对象,就需要在activity中这样做: appContext = (AppContext)this.getApplicationContext(); 如果有Context对象,还可以:appContext = (AppContext)mContext.getApplicationContext(); 但是很多时候我们的代码可能在activity之外,且没有context对象的引用,但是又需要获得AppContext对象,原始的做法可能是想办法将activity或者context传递到需要调用的地方,但是这样代码耦合度太高,可读性差。我们有更优雅的做法。 我们谈到Application对象是全局的,单例的,既然是单例应该有一个类方法能让我们获得这个单例对象才是,但Application本身没有,我们只能在自定义的时候想办法。 Application是系统的一个组件,也就有自己的生命周期函数,让人感到意外的是他的生命周期函数中居然也有onCreate(),onCreate是被自动调用的,我们可以利用这点来获得这个Application对象。 在AppContext中加入如下几行代码: Context的getExternalFilesDir()方法。但是这个工具类没有直接的办法获取到context,于是我们可以: |
相关文章推荐
- Android全局对象Application的使用,以及如何在任何地方得到Application全局对象
- Android笔记 Application对象的使用-数据传递以及内存泄漏问题
- Android全局对象Application的使用,以及如何在任何地方得到Application全局对象
- Android全局对象Application的使用,以及如何在任何地方得到Application全局对象
- Android笔记 Application对象的使用-数据传递以及内存泄漏问题
- android中使用httpclient方法获得网页内容并对json对象解析
- Android笔记 Application对象的使用-数据传递以及内存泄漏问题
- Android笔记 Application对象的使用-数据传递以及内存泄漏问题
- Android全局对象Application的使用,以及如何在任何地方得到Application全局对象
- Android笔记 Application对象的使用-数据传递以及内存泄漏问题
- android - Application对象的使用-数据传递以及内存泄漏问题
- android中使用httpclient方法获得网页内容并对json对象解析
- Android笔记 Application对象的使用-数据传递以及内存泄漏问题
- Android使用Parcelable传递对象方法及注意事项
- objective-c中对象所有权的内存管理(关于set,get方法),以及如何使用@property来进行简易操作(九)
- Android中split,java.util.StringTokenizer和indexOf的使用以及各方法效率的对比
- struts2如何动态调用action的方法以及使用json插件范围json格式的javascript对象
- Application对象的使用-数据传递以及内存泄漏问题
- 今天为大家介绍下Android的下拉单使用方法(Spinner),以及效果图。
- Android中滑屏初探 ---- scrollTo 以及 scrollBy方法使用说明