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的值可能会丢失,或得到一些您不想要的值。
- 大小: 24.6 KB
分享到:
相关推荐
除非是Web服务器停止 Android中的全局对象非常类似于Java Web中的Application域 除非是Android应用程序清除内存 否则全局对象将一直可以访问 1 定义一个类继承Application public class MyApp extends ...
Android 会同一系列核心应用程序包一起发布,该应用程序包包括 email 客户端, SMS 短消息程序,日历, 地图,浏览器,联系人管理程序等。所有的应用程序都是使用 JAVA 语言编写的。 应用程序框架 开发人员也可以...
虽然没有 Eclipse 和 Android Developer Tools 插件也可以开发 Android 应用程序,但是那样就需要熟悉 Android SDK。 Android SDK 是作为一个 ZIP 文件发布的,可以将该文件解压到硬盘上的一个目录中。由于有多个 ...
检查您的Android应用程序的权限更改 重要! 这就是用户最关心的事情。 用户总是怀疑为什么应用程序实际上需要任何权限,他们讨厌内心深处的每一个权限。 最好以任何方式检查是否有任何新权限添加到您的Android应用...
4) 在摹拟器上运行和调试Android应用程序,并将该应用程序装置到Android手机上. 二、实验步调 1、参考《Android应用开辟揭秘》的第一章,学习懂得什么是Android系统以及Androi d的系统架构、Android应用程序框架; ...
+ Integrated browser: 一个基于开源的WebKit引擎的浏览器,在应用程序层。 + Optimized graphics: 包含一个自定义的2D图形库和基于OpenGL ES 1.0 标准的3D实现。 + SQLite: 数据库 + Media support: 通用的...
Android 是一个专门针对移动设备的软件集,它包括一个操作系统,中间件和一些重要的应用程序。 Beta 版 的 Android SDK 提供了在 Android 平台上使用 JaVa 语言进行 Android 应用开发必须的工具和 API 接口。 特性 ...
4) 在模拟器上运行和调试Android应用程序,并将该应用程序安装到Android手机上。 二、实验步骤 1、参考《Android应用开发揭秘》的第一章,学习了解什么是Android系统以及Androi d的系统架构、Android应用程序框架;...
一个Android应用只会生成一个Application对象,在不同的Activity中获取的Application对象是一样的,所以Application对象是一个单例(SingleTon)。 Application对象非常适合用于存储一些与整个应用相关数据,例如...
4) 在模拟器上运行和调试Android应用程序,并将该应用程序安装到Android手机上。 二、实验步骤 1、参考《Android应用开发揭秘》的第一章,学习了解什么是Android系统以及Androi d的系统架构、Android应用程序框架;...
4) 在模拟器上运行和调试Android应用程序,并将该应用程序安装到Android手机上。 二、实验步骤 1、参考《Android应用开发揭秘》的第一章,学习了解什么是Android系统以及Androi d的系统架构、Android应用程序框架;...
Android ApplicationInfo 应用程序信息 1、简述 1 ApplicationInfo是android.content.pm包下的一个实体类,用于封装应用的信息,flags是其中的一个成员变量public int flags = 0;用于保存应用的标志信息。 2 ...
根据Android的软件框图,其软件层次结 构自下而上分为以下几个层次: 第一、操作系统层(OS) 第二、各种库(Libraries)和Android 运行环境(RunTime) 第三、应用程序框架(Application Framework) 第四、应用...
二、实验步骤 1、参考《Android应用开发揭秘》的第一章,学习了解什么是Android系统以及Androi d的系统架构、Android应用程序框架; 2、参考《Android应用开发揭秘》的第二章2.2,从FTP上下载java JDK和Eclipse放在...
4.3.5 执行应用程序 4.3.6 剖析生成的代码 4.4 封装C语言代码 4.4.1 全局变量 4.4.2 常量 4.4.3 只读变量 4.4.4 枚举 4.4.5 结构体 4.4.6 指针 4.5 封装C++代码 4.5.1 指针、引用和值 4.5.2 默认参数 4.5.3 重载函数...
13.2.2 创建WAVE播放器Android应用程序 306 13.2.3 创建WAVE播放器主Activity 306 13.2.4 实现WAVE Aduio播放 310 13.3 运行WAVE Audio Player 327 13.4 小结 328 第14章 程序概要分析和NEON优化 329 14.1 用...
针对性强,注重实际应用开发需求,书中所涵盖的知识点都是android应用开发者和系统开发者需要重点掌握的。 全书共10章,第1章介绍了阅读本书所需要做的准备工作,主要包括对android系统架构和源码阅读方法的介绍;...
Flutter视频通话与Vonage集成application此应用程序提供了使用Vonage Video API进行一对一视频通话的演示。 由于没有办公室支持航行中的抖动,因此此演示使用平台渠道与本机航行SDK进行通信。 该演示可在Android和...
香精该应用程序可以在三种不同模式下运行: 发展使用开发区块链Beta(仅适用于Android) 使用开发区块链生产使用生产区块链风味在Android上可用。 iOS项目根据XCode目标使用dev和production 。发展数据架构和内部...