如果想在整个应用中使用全局变量,在java中一般是使用静态变量,public类型;而在android中如果使用这样的全局变量就不符合Android的框架架构,但是可以使用一种更优雅的方式就是使用Application context。
首先需要重写Application,主要重写里面的onCreate方法,就是创建的时候,初始化变量的值。然后在整个应用中的各个文件中就可以对该变量进行操作了。
启动Application时,系统会创建一个PID,即进程ID,所有的Activity就会在此进程上运行。那么我们在Application创建的时候初始化全局变量,同一个应用的所有Activity都可以取到这些全局变量的值,换句话说,我们在某一个Activity中改变了这些全局变量的值,那么在同一个应用的其他Activity中值就会改变。下面举个例子详细介绍一下应用步骤。
下面是MyApp.java
package com.android.test;
import android.app.Application;
public class MyApp extends Application{
private String mylabel ;
public String getLabel(){
return mylabel;
}
public void setLabel(String s){
this.mylabel = s;
}
@Override
public void onCreate() {
// TODO Auto-generated method stub
super.onCreate();
setLabel("Welcome!"); //初始化全局变量
}
}
调用:
public class otherActivity extends Activity{
private MyApp myApp;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
myApp = (MyApp) getApplication(); //获得自定义的应用程序MyApp
Log.i("guoll", "OhterActivity receive the Label:"+myApp.getLabel());
}
xml
?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.test"
android:versionCode="1"
android:versionName="1.0">
<!-- 在这里,将默认的Application设置成自己做的MyApp-->
<application android:name="MyApp"
android:icon="@drawable/icon"
android:label="@string/app_name"
>
<activity android:name=".mainActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".otherActivity">
</activity>
</application>
</manifest>
相关推荐
Android用Application设置全局变量以及使用 如果想在整个应用中使用全局变量,在java中一般是使用静态变量,public类型;而在android中如果使用这样的全局变量就不符合Android的框架架构,但是可以使用一种更优雅...
Application设置全局变量以及传值 /** * 重写Application,主要重写里面的onCreate方法,就是创建的时候, * 我们让它初始化一些值,前段时间在javaeye里面看到过一个例子,与此相似, * 我做了些改进。听说外国...
本文实例讲述了Android编程之Application设置全局变量及传值用法。分享给大家供大家参考,具体如下: /** * 重写Application,主要重写里面的onCreate方法,就是创建的时候, * 我们让它初始化一些值,前段时间在...
Android中用Application类实现全局变量
Android-Application被回收引发空指针异常分析(消灭全局变量)-例子 http://blog.csdn.net/zivensonice/article/details/51451486
3 在传数据类中获取全局变量Application对象并设置数据 myApp MyApp getApplication ; myApp setName "jack" ; 修改之后的名称 4 在收数据类中接收Application对象 myApp MyApp getApplication ;">在...
本文实例讲述了Android编程中全局变量。分享给大家供大家参考,具体如下: 现在每天都在忙,而且一忙起来,就把写笔记的事情放在了后面,最近在写程序的时候,突然要使用全局变量,就按照以前的方式,写了一个类,...
本文实例讲述了Android编程中context及全局变量的用法。分享给大家供大家参考,具体如下: 今天在研究context的时候,对application和activity context有了一定的了解,下面是从网上复制过来的资料 Application ...
android中使用Activity、Service、Broadcast实现activity与Service之间的通信,使用application保存全局变量。
4.4.1 全局变量 94 4.4.2 常量 95 4.4.3 只读变量 96 4.4.4 枚举 97 4.4.5 结构体 100 4.4.6 指针 101 4.5 封装C++代码 101 4.5.1 指针、引用和值 102 4.5.2 默认参数 103 4.5.3 重载函数 104 4.5.4 类 ...
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 重载函数 4.5.4 类 4.6 异常处理 4.7 内存管理 4.8 从原生代码中调用...
Android4.0入门之参数传递4种方式: 1.通过Intent方式传参 2.通过系统剪切板传参、需要对象转化成Base64的字符串进行传递 3.通过Application全局对象传值 4.通过Activity中的静态变量传参
摘要:Java源码,Android源码,悬浮窗 android悬浮窗的实现源码,可作为参考的一个例子,用于显示被... 在MyApplication类中:创建全局变量,全局变量一般都比较倾向于创建一个单独的数据类文件,并使用static静态变量。
大家都知道 Android 的 Activity 是存着历史栈的,比如...使用全局变量。对了,第一个想到的就是继承 Application,代码入下: 代码如下:public class AgentApplication extends Application { private List<Activi
Android 在线播放器源码:里面应用了网络通讯,json解析,全局mediaservice,自定义View组件,自定义Adapter,application全局缓存,变量等等,所有要在项目中考虑到的优化问题
一个开源的Android在线音乐播放器...因为里面应用了网络通讯,json解析,全局mediaservice,自定义View组件,自定义Adapter,application全局缓存,变量等等,所有要在项目中考虑到的优化问题 标签:jamendo
这是别人的资源,里面应用了网络通讯,json解析,全局mediaservice,自定义View组件,自定义Adapter,application全局缓存,变量等等,所有要在项目中考虑到的优化问题