转自:http://blog.csdn.net/leilu2008/article/details/6199961

android中application 关于全局变量


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

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

  Base class for those who need to maintain global application state. You can provide your own implementation by specifying its name in your AndroidManifest.xml's < application> tag, which will cause that class to be instantiated for you when the process for your application/package is created.

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

  因小工程中涉及到的文件比较多,这里就贴代码撒。

  application文件:

  Java代码



  public class TestApplication extends Application {

  private int curIndex;

  public int getCurIndex() {

  return curIndex;

  }

  public void setCurIndex(int curIndex) {

  this.curIndex = curIndex;



  }

  @Override

  public void onCreate() {

  super.onCreate();

  }

  @Override

  public void onTerminate() {

  super.onTerminate();

  }

  }

  application中有一个curIndex和setter getter方法。

  第一个acitivty中对application进行的操作:

  Java代码

  1. TestApplication application = (TestApplication) this.getApplication();

  2. Log.i("data", ""+application.getCurIndex());

  3. application.setCurIndex(5);

  TestApplication application = (TestApplication) this.getApplication();

  Log.i("data", ""+application.getCurIndex());

  application.setCurIndex(5);

  第二个Activity:

  Java代码

  1. TestApplication application = (TestApplication)this.getApplication();

  2. Log.i("data", ""+application.getCurIndex());

  3. application.setCurIndex(6);

  TestApplication application = (TestApplication)this.getApplication();

  Log.i("data", ""+application.getCurIndex());

  application.setCurIndex(6);

  第三个Activity:

  Java代码

  1. final TestApplication application = (TestApplication) this.getApplication();

  2. Log.i("data", ""+application.getCurIndex());

  final TestApplication application = (TestApplication) this.getApplication();

  Log.i("data", ""+application.getCurIndex());



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

更多相关文章

  1. android 自定义checkbox (转)
  2. TabHost 相关解决
  3. Android系统权限和root权限
  4. android工程项目导入问题汇…
  5. Android启动模拟器出现:Failed to allocate memory: 8的解决方法
  6. android的style控制Theme
  7. Android(安卓)Studio
  8. Android中解析xml文件的接口
  9. NPM 和webpack 的基础使用

随机推荐

  1. cocos2dx android mac
  2. Android 文件下载 downloadManager
  3. android 作业1相对布局(拼图)
  4. android之实现SeekBar拖动组件
  5. EditText设置不自动弹出键盘
  6. android桌面快捷方式添加 删除 更新 自动
  7. MediaScannerReceiver
  8. 2011.07.18——— android AlphaBitmap
  9. android:gravity的值可以使用|连接多个属
  10. Android——AppWidgetProvider应用