Android应用程序开发中,有的时候我们在应用程序的任何一个地方都需要访问一个全局变量,也就是在任何一个Activity中都可以访问的变量。它不会因为Activity的生命周期结束而消失。要实现应用程序级的变量,我们可以通过Application这个类来实现。 首先,我们新建一个类HelloApplication继承Android.app.Application类,然后在我们的类中增加一些变量。如下所示:
01 |
public class HelloApplication extends Application {
|
02 |
private int globalVariable= 1 ;
|
04 |
public int getGlobalVariable() {
|
08 |
public void setGlobalVariable( int globalVariable) {
|
09 |
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的值可能会丢失,或得到一些您不想要的值。
分享到:
相关推荐
除非是Web服务器停止 Android中的全局对象非常类似于Java Web中的Application域 除非是Android应用程序清除内存 否则全局对象将一直可以访问 1 定义一个类继承Application public class MyApp extends ...
项目中采用SharedPreferences MODE_WORLD_READABLE实现两个app之间的数据传递,Activity与Activity,Fragment与Fragment,以及BroadcastReceiver中获取SharedPreferences
使用Mono for Android和.Net/C#开发Android 应用程序,环境搭建(开发环境配置和环境变量配置) 1、安装JDK 2、安装Android SDK 3、安装Visual Studio 2010及SP1补丁包(参见...
Android 会同一系列核心应用程序包一起发布,该应用程序包包括 email 客户端, SMS 短消息程序,日历, 地图,浏览器,联系人管理程序等。所有的应用程序都是使用 JAVA 语言编写的。 应用程序框架 开发人员也可以...
在 Flash Professional 中创建您的第一个 AIR for Android 应用程序 创建第一个用于 iOS 的 AIR 应用程序 使用 Dreamweaver 创建第一个基于 HTML 的 AIR 应用程序 使用 AIR SDK 创建第一个基于 HTML 的 AIR 应用...
2.3.4 实践演练——演示编译Android程序的两种方法 43 2.4 编译Android kernel 47 2.4.1 获取goldfish内核代码 47 2.4.2 获取msm内核代码 50 2.4.3 获取omap内核代码 50 2.4.4 编译Android...
RSA-Android 计算 RSA 算法中使用的变量的 Android 应用程序
androbogs框架是一个android漏洞分析系统,可以帮助开发人员或黑客在android应用程序中发现潜在的安全漏洞。
在这门课程中,你将学习如何使用 Kotlin 为 Android 制作 17 款在线游戏和应用程序。在这里查看视频教程。 以下是我们在教程中构建的开源应用程序列表: 查找我的年龄应用。 井字棋本地应用。 计算器应用。 精灵宝...
此 Android 应用程序经测试可在 Android Pie (9.0) 上正常运行。 此应用程序使用 Android 传感器功能 ( android.hardware.sensor )。 要使用adb安装 apk ,请在下载 apk 后尝试在计算机控制台中运行以下命令。确保您...
Kõnele是一个Android应用程序,可为其他应用程序提供语音到文本服务。 它的主要组成部分是: 语音搜索面板(即活动) 由两个开源语音识别服务器支持的两种实现 实现的语音键盘 下图以黄色显示了Kõnele的主要...
Android 开发 C 程序入门,从软件选择,环境变量配置,到最最简单的helloworld例子
提示计算器Android应用程序 提示计算器是一款可在Android上练习应用程序开发基本概念的应用程序。 布局 用户将能够输入账单金额 当用户输入账单金额时,应用程序将计算最终账单金额并显示计算结果。 该应用程序包含...
在前文中,我们分析了Android应用程序窗口的运行上下文环境的创建过程。由此可知,每一个Activity组件都有一个关联的ContextImpl对象,同时,它还关联有一个Window对象,用来描述一个具体的应用程序窗口。由此又可知...
您可以从下载预构建的Android程序包,这些程序包允许您使用自己选择的文件管理器打开.love文件来运行它们。 快速开始: 安装带有SDK API 28的Android NDK和Android SDK,设置环境变量: ANDROID_HOME到您的...
Remixer是一个框架,通过允许您调整UI变量而无需重建(甚至重新启动)应用程序,可以快速迭代UI更改。 您可以调整数字,颜色,布尔值和字符串。 要查看实际效果,请查看。 如果您有兴趣在其他平台上使用Remixer,...
虽然没有 Eclipse 和 Android Developer Tools 插件也可以开发 Android 应用程序,但是那样就需要熟悉 Android SDK。 Android SDK 是作为一个 ZIP 文件发布的,可以将该文件解压到硬盘上的一个目录中。由于有多个 ...
检查您的Android应用程序的权限更改 重要! 这就是用户最关心的事情。 用户总是怀疑为什么应用程序实际上需要任何权限,他们讨厌内心深处的每一个权限。 最好以任何方式检查是否有任何新权限添加到您的Android应用...
加载并显示一副图像对内存使用情况有显著的影响,Android提供了一个名为BitmapFactory 的实用程序类,该程序提供了一系列的静态方法,允许通过各种来源加载Bitmap图像。针对我们的需求,将从文件加载图像,并在最初...
开发Android应用程序时将使用的简单bash脚本,以将应用程序从AndroidStudio项目启动到测试设备。 ###装备 研究生课程通常在Android Studio项目目录中找到。 首先可能需要运行一次以进行设置。 亚行程序如果在SDK...