码迷,mamicode.com
首页 > 移动开发 > 详细

在Android程序中保存全局变量

时间:2015-08-25 16:36:21      阅读:141      评论:0      收藏:0      [点我收藏+]

标签:android   全局变量   

有时候我们的app需要保存一些变量值以供程序在任何地方都能调用,因此会用到全局变量的保存方法。这里介绍两种方法供大家参考。

1:使用application来保存全局变量


1.1 定义一个类AppContext继承自Application

package com.example.demo_001.app;  

import java.util.HashMap;
import java.util.Map;

import com.example.demo_001.User;

import android.app.Application;

/**  
 * 创建时间:2015-8-25 下午3:09:27  
 * 项目名称:Demo_001  
 * @author 许助云 
 * @version 1.0   
 * @since JDK 1.6.0_21  
 * 文件名称:AppContext.java  
 * 类说明:  
 */

public class AppContext extends Application {
	private String b; //保存字符串
	private User user; //保存User实体对象
	private Map innerMap = new HashMap(); //保存Map类型的数据
	
	public void onCreate(){
		//初始化字符串
		b = "arthinking";
	}

	public String getB() {
		return b;
	}

	public void setB(String b) {
		this.b = b;
	}

	public User getUser() {
		return user;
	}

	public void setUser(User user) {
		this.user = user;
	}

	public Map getInnerMap() {
		return innerMap;
	}

	public void setInnerMap(Map innerMap) {
		this.innerMap = innerMap;
	}
	
	
}
  <span style="color:#cc0000;">
</span>


1.2 在manifest.xml中声明application

   <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
       <strong><span style="color:#cc0000;"> android:name="com.example.demo_001.app.AppContext"</span></strong>
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.example.demo_001.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>
    </application>

1.3 在程序中给全局变量赋值以及取值

<span style="color:#cc0000;">	</span>@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		//赋值
		final AppContext app = (AppContext )getApplication();
		//给字符串赋值
		app.setB("hello,world");
		//给User对象赋值
		User user = new User();
		user.setAge(25);
		user.setName("arthinking");
		app.setUser(user);
		//给Map对象赋值
		app.addParam("company", "alibaba");
		
		//取值
		String str = app.getB();
		User user2 = app.getUser();
		String company = (String) app.getParam("company");
		
	}<span style="color:#cc0000;">
</span>


2.使用普通类保存全局变量


2.1定义一个类

public class Data{
	private static String a ="feiyangxiaomi";
	
	public static String getA() {
		return a;
	}
	
	public static void setA(String a) {
		Data.a = a;
	}
}

2.2 取值和赋值

调用相应的set和get方法即可。


 两种方法测试均通过,个人建议用第一种方式。







版权声明:本文为博主原创文章,未经博主允许不得转载。

在Android程序中保存全局变量

标签:android   全局变量   

原文地址:http://blog.csdn.net/jdfkldjlkjdl/article/details/47977401

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!