Android应用程序开发中,有的时候我们在应用程序的任何一个地方都需要访问一个全局变量,也就是在任何一个Activity中都可以访问的变量。它不会因为Activity的生命周期结束而消失。要实现应用程序级的变量,我们可以通过Application这个类来实现。 首先,我们新建一个类HelloApplication继承Android.app.Application类,然后在我们的类中增加一些变量。如下所示:
public class HelloApplication extends Application {
private int globalVariable=1;
public int getGlobalVariable() {
return globalVariable;
}
public void setGlobalVariable(int globalVariable) {
this.globalVariable = globalVariable;
}
}
然后在应用程序配置文件AndroidManifest.xml中进行相应的配置,如下图所示:
完成之后,我们在应用程序的任何一个Activity中可以通过如下方法访问我们的变量:
((HelloApplication)getApplication()).setGlobalVariable(10);
int valiable=((HelloApplication)getApplication()).getGlobalVariable();
怎么样? 是不是很简单?
Application对象只有在应用程序中所有Activity都destroy时才会destrory,所有我们可以在任何一个Activity中访问它。 那么为什么我们不能使用static 变量来存放全局变量呢?如下所示:
public class DataStoreClass {
private static int globalVariable=1;
public static int getGlobalVariable() {
return globalVariable;
}
public static void setGlobalVariable(int newGlobalVariable) {
globalVariable = newGlobalVariable;
}
}
通过这种方式,DataStoreClass类可能会像Activity一样在某些时候被android系统强行销毁。所以在应用程序运行期间,DataStoreClass的值可能会丢失,或得到一些您不想要的值。 FROM: helloandroid
///////////////////////////////////////////////////////////////////////////////
//使用不罗嗦了,注意红色的地方就可以了
首先:
import android.app.Application;
/**
* 全局变量类,不需要用Bundle传来传去了
* @author admin
*
*/
public class BaseApplication extends Application {
private String text = "My world";
public String getText() {
return text;
}
public void setText(String text) {
this.text = text;
}
}
其次:
<application android:icon="@drawable/icon" android:label="@string/app_name"
android:name=".BaseApplication">
...
</application>
再次:在activity中
BaseApplication app=null;
app = ((BaseApplication) getApplicationContext());
app.getText();
- 大小: 24.6 KB
分享到:
相关推荐
Android中用Application类实现全局变量
项目中采用SharedPreferences MODE_WORLD_READABLE实现两个app之间的数据传递,Activity与Activity,Fragment与Fragment,以及BroadcastReceiver中获取SharedPreferences
Android-Application被回收引发空指针异常分析(消灭全局变量)-例子 http://blog.csdn.net/zivensonice/article/details/51451486
除非是Web服务器停止 Android中的全局对象非常类似于Java Web中的Application域 除非是Android应用程序清除内存 否则全局对象将一直可以访问 1 定义一个类继承Application public class MyApp extends ...
android环境变量配置 java环境变量配置 环境变量
Android 会同一系列核心应用程序包一起发布,该应用程序包包括 email 客户端, SMS 短消息程序,日历, 地图,浏览器,联系人管理程序等。所有的应用程序都是使用 JAVA 语言编写的。 应用程序框架 开发人员也可以...
使用Mono for Android和.Net/C#开发Android 应用程序,环境搭建(开发环境配置和环境变量配置) 1、安装JDK 2、安装Android SDK 3、安装Visual Studio 2010及SP1补丁包(参见...
java &android; 环境变量设置 简单易懂 1分钟搞定
Android环境变量配置
在 Flash Professional 中创建您的第一个 AIR for Android 应用程序 创建第一个用于 iOS 的 AIR 应用程序 使用 Dreamweaver 创建第一个基于 HTML 的 AIR 应用程序 使用 AIR SDK 创建第一个基于 HTML 的 AIR 应用...
包含java jdk android 环境变量配置
Eclipse V4.2.0编写的Android全局变量应用实例。
交你一步步配置java JDK 及环境变量,android SDK 及环境变量 ,赶紧学习安装吧!!!
(sudo gedit /etc/profile ) 编辑文件,加入环境变量,把路径改为相应的路径,重启。
Application设置全局变量以及传值 /** * 重写Application,主要重写里面的onCreate方法,就是创建的时候, * 我们让它初始化一些值,前段时间在javaeye里面看到过一个例子,与此相似, * 我做了些改进。听说外国...
当时想到的就是使用全局变量,在 app.js 中定义好全局变量,点击组件页面时就修改全局变量的值,父页面同样使用全局变量的值,这样一来就可以动态打开/关闭弹出层且传递值了。 下面先看看 app.js 中怎么定义的: ...
1 不管学习什么开发 当然都要有语言基础 android的应用层用的是java 所以有良好的java语言编程基础是必要的 当然学习java有C的基础会更容易学习 推荐图书 《疯狂JAVA讲义》 推荐视频 韩顺平的java视频 百度搜去 ...
Android全局变量和Context的实现方法
android搭建环境变量时所需要的文件