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

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


1

2

3

4

5

6

7

8

9

10

11

public class GameApplication extends Application {

private int score;

public int getScore() {

return score;

}

public void setScore(int score) {

this.score = score;

}

}

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


1

2

3

4

5

6

android:name=".GameApplication"

android:icon="@drawable/icon"

android:label="@string/app_name">

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

Activity中


1

2

3

4

// 设置分数

((GameApplication)getApplication()).setScore(100);

// 获取分数

((GameApplication)getApplication()).getScore();

View中:


1

((GameApplication)getContext().getApplicationContext()).getScore();

更多相关文章

  1. 没有一行代码,「2020 新冠肺炎记忆」这个项目却登上了 GitHub 中
  2. 学习Android闹钟源代码(三)-AlarmClock类分析(part1)
  3. pc 通过vnc控制android
  4. web网页和ios、android进行交互
  5. 从零开始--系统深入学习android(实践-让我们开始写代码-Android框
  6. 让Android飞!Google开始测试ART
  7. JavaScript与Android原生相互调用并传参
  8. Android中3种全屏方法及3种去掉标题栏的方法
  9. Build Android(安卓)Project with Gradle

随机推荐

  1. 使用NetBeans搭建Android开发环境
  2. 自定义AppManager管理所有的activity
  3. android“设置”里的版本号
  4. 锁屏界面
  5. Android(安卓)exoplayer播放在线视频教程
  6. Android 拨号器的简单实现
  7. IM-A820L限制GSM,WCDMA上网的原理(其他泛泰
  8. Android Wifi模块分析(三)
  9. Android --- Activity生命周期
  10. Android Resource介绍和使用