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

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

public class GameApplication extends Application {      private int score;            public int getScore() {          return score;      }      public void setScore(int score) {          this.score = score;      }  }  

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

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


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

在Activity中:
view plaincopy to clipboardprint?//设置分数  ((GameApplication)getApplication()).setScore(100)    //获取分数  ((GameApplication)getApplication()).getScore();  

在View中:
view plaincopy to clipboardprint?((GameApplication)getContext().getApplicationContext()).getScore()  

更多相关文章

  1. Android属性动画——实现灵动菜单效果
  2. 在Ubuntu上下载、编译和安装Android最新源代码
  3. Android系统源代码情景分析 第3版
  4. android:layout_weight属性的工作原理
  5. 原来Android还可以这样通过反射,获取jar包属性及方法
  6. Android最佳实践之:代码性能优化——Strict Mode介绍
  7. Android Layout布局文件里的android:layout_height等属性为什么.

随机推荐

  1. Android开发者文档笔记(一)
  2. Android(安卓)SDK下载和更新失败的解决方
  3. Android(安卓)UI设计的三种常见布局(Linea
  4. INSTALL_FAILED_MISSING_FEATURE
  5. Android之修改短信程序
  6. Android(安卓)怎么获取手机端的ip地址
  7. eclipse开发android
  8. Android(安卓)JNI的基本使用(CMake)
  9. Android上获取本机安装的应用程序
  10. Android开发面试经——常见面试官提问And