在Android程序中保存全局变量

来源:互联网 发布:eclipse java汉化教程 编辑:程序博客网 时间:2024/05/10 08:10

有时候我们的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>@Overrideprotected 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方法即可。


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







0 0
原创粉丝点击