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 语言编写的。 应用程序框架 开发人员也可以...
15. armeabi-v7a:armeabi-v7a是一个 Android ABI(Application Binary Interface),用于指定Android应用程序的编译目标架构。armeabi-v7a是Android最常用的ABI之一,支持ARM架构的CPU。 16. obj\local\armeabi-v7...
本实验报告的目的是指导读者搭建 Android 开发环境,包括安装和配置 Java JDK、Eclipse、Android SDK、ADT 等开发工具,并创建第一个 Android 项目 HelloAndroid,最后在模拟器上运行和调试该应用程序。 一、 ...
虽然没有 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 应用程序,最后将该应用程序安装到 Android 手机上。 一、 Android 开发环境搭建的必要条件 要搭建 Android 开发环境,需要了解 Android 开发所需要的开发包和工具,包括 Java JDK、Eclipse、Android SDK ...
Android 是一个专门针对移动设备的软件集,它包括一个操作系统,中间件和一些重要的应用程序。 Beta 版 的 Android SDK 提供了在 Android 平台上使用 JaVa 语言进行 Android 应用开发必须的工具和 API 接口。 特性 ...
4) 在模拟器上运行和调试Android应用程序,并将该应用程序安装到Android手机上。 二、实验步骤 1、参考《Android应用开发揭秘》的第一章,学习了解什么是Android系统以及Androi d的系统架构、Android应用程序框架;...
一个Android应用只会生成一个Application对象,在不同的Activity中获取的Application对象是一样的,所以Application对象是一个单例(SingleTon)。 Application对象非常适合用于存储一些与整个应用相关数据,例如...
根据Android的软件框图,其软件层次结 构自下而上分为以下几个层次: 第一、操作系统层(OS) 第二、各种库(Libraries)和Android 运行环境(RunTime) 第三、应用程序框架(Application Framework) 第四、应用...
* src/com/example/helloandroid/MyActivity.java:主程序类,实现了应用程序的主要功能。 在main.xml文件中,添加了一个TextView和一个Button控件,并定义了它们的属性。然后,在MyActivity.java文件中,实现了...
4) 在模拟器上运行和调试Android应用程序,并将该应用程序安装到Android手机上。 二、实验步骤 1、参考《Android应用开发揭秘》的第一章,学习了解什么是Android系统以及Androi d的系统架构、Android应用程序框架;...
4) 在模拟器上运行和调试Android应用程序,并将该应用程序安装到Android手机上。 二、实验步骤 1、参考《Android应用开发揭秘》的第一章,学习了解什么是Android系统以及Androi d的系统架构、Android应用程序框架;...
Android Activity 是 Android 应用程序的基本组件之一,用于处理用户交互和显示用户界面。然而,在 Android 应用程序中,如何完全结束并退出程序是一个经常被问到的问题。本文将介绍如何使用全局变量标记来实现完全...
Android ApplicationInfo 应用程序信息 1、简述 1 ApplicationInfo是android.content.pm包下的一个实体类,用于封装应用的信息,flags是其中的一个成员变量public int flags = 0;用于保存应用的标志信息。 2 ...
二、实验步骤 1、参考《Android应用开发揭秘》的第一章,学习了解什么是Android系统以及Androi d的系统架构、Android应用程序框架; 2、参考《Android应用开发揭秘》的第二章2.2,从FTP上下载java JDK和Eclipse放在...