android中通过Application设置全局变量


首先设置全局变量的方法不只下面一种,但是通常会采用application保存全局变量。

Application是android专门提供的应用入口,最重要的是它的运行周期可以贯穿整个程序运行。

下面通过代码来说明设置全局变量的方法。

 

1.定义GlobalVariable类继承Application

import android.app.Application;

public class GlobalVariable extends Application {
	private String route_id;
	private static String NAME = "MyApplication";  
	public String getRoute(){
		return this.route_id;
	}
	public void setRoute(String route){
		this.route_id=route;
	}
	public void onCreate(){
		super.onCreate();
		System.out.println(NAME);
		setRoute(NAME);
	}
}

 2.通过两个类来观察全局变量值的变化是否符合要求

(1)MainActivity类

  在onCreate()函数中执行以下代码,可以在LogCat中看到输出值为MyApplication

private GlobalVariable route;
route=(GlobalVariable)getApplication();//获得应用程序GlobalVariable	
Log.e("yuanzhi", route.getRoute());

在需要改变全局变量值的地方,加入以下代码,即改变了全局变量的值,可以去其它类中查看值是否发生了变化

route.setRoute("change");

(2)OtherActivity类

可以看到值发生了变化,输出的值为change

private GlobalVariable route;
route=(GlobalVariable)getApplication();
route_name=route.getRoute();
Log.e("changed", route.getRoute());

3.我们创建的Android项目并没有ApplicationManifest.xml,需要创建ApplicationManifest.xml

应当注意包名要写自己的包名,android:name的名称也要根据自己的项目需要进行修改。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="upc.edu"
      android:versionCode="1"
      android:versionName="1.0">
    <application android:icon="@drawable/icon" android:label="@string/app_name"
                 android:name="upc.edu.DBManager.GlobalVariable">  
        <activity android:name="upc.edu.cn.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="upc.edu.cn.TakePhotoActivity"></activity>
   </application>
   <uses-sdk android:minSdkVersion="8" />
</manifest>

4.但是如果添加了ApplicationManifest.xml,会出现如下的错误

这是因为没有在AndroidManifest.xml中声明。

在<application>中声明 android:name="upc.edu.DBManager.GlobalVariable" (根据自己的需要修改),这样问题就解决,可以正常运行了。
开始可能会有错误,但是按照上面的步骤一步一步来就能够在Android项目不同的Activity间设置全局变量啦~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值