`
abc20899
  • 浏览: 933958 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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代码

  1. public class TestApplication extends Application {

  2.

  3. private int curIndex;

  4.

  5. public int getCurIndex() {

  6. return curIndex;

  7. }

  8.

  9. public void setCurIndex(int curIndex) {

  10. this.curIndex = curIndex;

  11. }

  12.

  13. @Override

  14. public void onCreate() {

  15. super.onCreate();

  16. }

  17.

  18. @Override

  19. public void onTerminate() {

  20. super.onTerminate();

  21. }

  22.

  23. }

  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">
分享到:
评论

相关推荐

    Android中用Application类实现全局变量

    ### Android中用Application类实现全局变量 在Android开发过程中,我们常常需要在多个组件之间共享数据,例如存储用户的登录状态、应用配置等信息。通常情况下,开发者会利用`SharedPreferences`或者`...

    使用Application做全局变量

    在Android开发中,全局变量的使用常常是为了在不同的Activity之间共享数据。`Application`类是Android框架提供的一种机制,允许开发者创建一个与应用程序生命周期绑定的单例对象,从而实现全局变量的效果。本篇文章...

    Android-Application被回收引发空指针异常分析(消灭全局变量

    在Android应用开发中,"Android-Application被回收引发空指针异常分析(消灭全局变量)"是一个常见的问题,尤其对于新手开发者来说,可能会遇到这样的困惑。这篇文章主要探讨了当Application对象被系统回收后,如何...

    详解Android中Application设置全局变量以及传值

    主要介绍了详解Android中Application设置全局变量以及传值的相关资料,希望通过本文大家能够理解掌握这部分内容,需要的朋友可以参考下

    Android编程之Application设置全局变量及传值用法实例分析

    本文实例讲述了Android编程之Application设置全局变量及传值用法。分享给大家供大家参考,具体如下: /** * 重写Application,主要重写里面的onCreate方法,就是创建的时候, * 我们让它初始化一些值,前段时间在...

    全局变量的使用

    而在android中如果使用这样的全局变量就不符合Android的框架架构,但是可以使用一种更优雅的方式就是使用Application context。 首先需要重写Application,主要重写里面的onCreate方法,就是创建的时候,初始化...

    android Application全局传值替代Intent

    在这个`MyApplication`类中,我们定义了一个静态成员`instance`来保存`Application`实例,以及一个`sharedValue`来存储全局变量。`onCreate()`方法用于初始化`instance`,并提供`getInstance()`方法以便在其他组件中...

    Android通过全局变量传递数据

    3 在传数据类中获取全局变量Application对象并设置数据 myApp MyApp getApplication ; myApp setName &quot;jack&quot; ; 修改之后的名称 4 在收数据类中接收Application对象 myApp MyApp getApplication ;"&gt;在...

    android 多个application怎么使用

    在Android系统中,每个应用程序都默认关联一个`Application`类,它是程序的全局上下文,负责初始化全局变量、设置全局配置等。然而,在某些特定情况下,我们可能需要创建多个`Application`来处理不同的任务或者使用...

    Android编程中全局变量问题分析

    在Android编程中,全局变量的使用常常涉及到应用的生命周期管理和数据持久化。本文将深入探讨在Android中如何正确地处理全局变量以及遇到的一些常见问题。 首先,全局变量通常用于在整个应用程序范围内共享数据。在...

    Android操作Application的代码例子

    `Application`类提供了一个全局环境,开发者可以在这个环境中进行全局变量的初始化、资源的加载等操作,而不局限于某个特定的Activity或Service。在标题"Android操作Application的代码例子"中,我们将探讨如何利用`...

    Android Application部分详解

    // 使用全局变量或方法 ``` #### 三、总结 本文从Android的运行机制入手,重点介绍了Application类的重要性和使用方法。通过本文的学习,读者应该能够更好地理解和运用Application类,从而提升Android应用程序的...

    Android编程中context及全局变量实例详解

    本文实例讲述了Android编程中context及全局变量的用法。分享给大家供大家参考,具体如下: 今天在研究context的时候,对application和activity context有了一定的了解,下面是从网上复制过来的资料 Application ...

    android application

    在Android应用的开发中,开发者可以自定义一个名为`MyApplication`的类,继承自`Application`类,来存储全局变量或执行一些初始化操作。而"Activity"通常指的是继承自`android.app.Activity`的类,它们是用户界面的...

    Android笔记 Application对象的使用-数据传递以及内存泄漏问题

    相较于Activity,`Application`的生命周期更长,全局唯一,因此常被用于全局变量的存储和初始化工作。 1. 数据传递: - **静态成员变量**:可以在`Application`类中定义静态变量,这些变量在整个应用程序的生命...

    Android Application

    **Application** 是 Android 框架中的一个重要组件,与 **Activity**、**Service** 并列为四大组件之一。它在应用程序启动时由系统自动创建,并在整个应用生命周期中保持唯一性。 **特点:** - **单例性**:整个...

    Application数据共享Android

    开发者可以重写`Application`的生命周期方法,如`onCreate()`,在这个方法中初始化一些全局变量或设置,这些数据在整个应用程序中都可以访问。 1. 创建自定义`Application`子类 要实现数据共享,我们可以创建一个...

Global site tag (gtag.js) - Google Analytics