我们在平时的开发中,有时候可能会需要一些全局数据,来让应用中的所有Activity和View都能访问到,大家在遇到这种情况时,可能首先会想到自己定义一个类,然后创建很多静态成员,不过android已经为我们提供了这种情况的解决方案,下面就来介绍一下:


在Android中,有一个名为Application的类,我们可以在Activity中使用getApplication(),方法来获得,它是代表我们的应用程序的类,使用它可以获得当前应用的主题,资源文件中的内容等,这个类更灵活的一个特性就是可以被我们继承,来添加我们自己的全局属性。例如我们在开发一个游戏应用,需要保存分数,那么我们就可以继承Application,

代码如下:


01.public class GameApplication extends Application {  02.    private int score;  03.      04.    public int getScore() {  05.        return score;  06.    }  07.    public void setScore(int score) {  08.        this.score = score;  09.    }  10.}  

这样我们就扩展了自己的属性,不过还没有结束,另外一个比较关键的一步,是需要在androidManifest.xml文件中将我们扩展后的Application类指定上去,例如下面的代码:

01.<application  02.android:name=".GameApplication"   03.android:icon="@drawable/icon"   04.android:label="@string/app_name"> 

这样指定好之后,我们的自定义Application就算完成了,然后我们可以很方便的在任何Activity和View中来获取我们的分数属性,代码如下:

在Activity中:

01.//设置分数  02.((GameApplication)getApplication()).setScore(100)  03.  04.//获取分数  05.((GameApplication)getApplication()).getScore(); 


在View中:

01.((GameApplication)getContext().getApplicationContext()).getScore()  


更多相关文章

  1. 没有一行代码,「2020 新冠肺炎记忆」这个项目却登上了 GitHub 中
  2. Windows下Qt for Android(安卓)编译安卓C语言可执行程序
  3. Android——SystemProperties的应用
  4. android之复选框点击事件(掌握CheckBox复选控件)
  5. 读oschina android 开源app代码 - 笔记。
  6. OSG 坑爹的Android(安卓)example
  7. android NDK 和android,mk文件 认知
  8. Android中使用GSON包解析JSON数据(复杂JSON)
  9. Android(安卓)Gallery 3D 特效精华

随机推荐

  1. android 5.0新特性
  2. Android之简易天气预报小应用(xml解析练手
  3. duplicate files during packaging of ap
  4. Android系统启动
  5. Android中的广播也定向
  6. 实现android启动界面字体的动画效果
  7. 初窥图像处理利器RenderScript
  8. Android如何代码混淆
  9. Android(安卓)HttpClient GET或者POST请
  10. Android之系统自带的文字外观设置及实际