Android 使用Application类保存应用的全局数据

在实际应用我们经常需要对数据进行交互与保存,但Intent中默认的方法对传输数据是有类型限制的,当我们需要传输或保存一个复杂的泛型数据时,使用Application是一个很好的解决办法。

顾名思义,Application对应整个应用,就如Activity对应当前的活动窗口一样,当我们需要使用它的时候,一定要在AndroidManifest.xml中对它进行声明。

    <application
        android:name="MeterApplication"
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
   </application>

然后我们来到实体类,首先当其他类需要存取或调用的时候,首先调用本类的 getInstance()得到MeterApplication的对象,接下来就可以对不同类型的数据进行get,set操作了,这样形式的好处没有了 一般数据类型的限制,当我们需要跨一个或多个Activity保存或者读取复杂数据的时候,问题就迎刃而解了。

调用方法:  MeterApplication.getInstance().getXXX();   //读取

MeterApplication.getInstance().setXXX(X xxx);//存入

public class MeterApplication extends Application {

    private List<ReadyTask> DownloadList;
    private static MeterApplication instance;

    private HashMap<String, List<ReadyTask>> DownLoadResult;
    private List<String> UnitNumList;
    private String CurOPNUM;                                     

    private boolean BlueConStatus;

    private int CurStauts;   // 当前运行状态
    @Override
    public void onCreate() {
        // TODO Auto-generated method stub
        instance = this;
        DownloadList = new ArrayList<ReadyTask>();
        super.onCreate();
    }

    public boolean isBlueConStatus() {
        return BlueConStatus;
    }

    public void setBlueConStatus(boolean blueConStatus) {
        BlueConStatus = blueConStatus;
    }

    public List<String> getUnitNumList() {
        return UnitNumList;
    }

    public void setUnitNumList(List<String> unitNumList) {
        UnitNumList = unitNumList;
    }

    public HashMap<String, List<ReadyTask>> getDownLoadResult() {
        return DownLoadResult;
    }

    public void setDownLoadResult(HashMap<String, List<ReadyTask>> downLoadResult) {
        DownLoadResult = downLoadResult;
    }

    public static MeterApplication getInstance() {
        return instance;
    }

    public List<ReadyTask> getDownloadList() {   //下载List的值
        return DownloadList;
    }

    public void setDownloadList(List<ReadyTask> downloadList) {
        DownloadList = downloadList;
    }

    public int getCurStauts() {
        return CurStauts;
    }

    public void setCurStauts(int curStauts) {
        CurStauts = curStauts;
    }

    public String getCurOPNUM() {
        return CurOPNUM;
    }

    public void setCurOPNUM(String curOPNUM) {
        CurOPNUM = curOPNUM;
    } 

}
时间: 2024-11-05 12:28:34

Android 使用Application类保存应用的全局数据的相关文章

Android中用Application类实现全局变量

最近在项目中,遇到了application这个类,开始不知道有什么用,经过学习后才知道它的用途也蛮大的,举个例子,如果想在整个应用中使用全局变量,在java中一般是使用静态变量,public类型:而在android中如果使用这样的全局变量就不符合Android的框架架构,但是可以使用一种更优雅的方式就是使用Application context. 我们先看看一下这段说明: Base class for those who need to maintain global application s

Android中Application类用法

原文:http://www.cnblogs.com/renqingping/archive/2012/10/24/Application.html Application类 Application和Activity,Service一样是Android框架的一个系统组件,当Android程序启动时系统会创建一个Application对象,用来存储系统的一些信息. Android系统自动会为每个程序运行时创建一个Application类的对象且只创建一个,所以Application可以说是单例(si

【转】Android中Application类用法

Application类 Application和Activity,Service一样是Android框架的一个系统组件,当Android程序启动时系统会创建一个Application对象,用来存储系统的一些信息. Android系统自动会为每个程序运行时创建一个Application类的对象且只创建一个,所以Application可以说是单例(singleton)模式的一个类. 通常我们是不需要指定一个Application的,系统会自动帮我们创建,如果需要创建自己的Application,那

Android之Application类用法

Application和Activity,Service一样是Android框架的一个系统组件,当Android程序启动时系统会创建一个Application对象,用来存储系统的一些信息. Android系统自动会为每个程序运行时创建一个Application类的对象且只创建一个,所以Application可以说是单例(singleton)模式的一个类. 通常我们是不需要指定一个Application的,系统会自动帮我们创建,如果需要创建自己的Application,那也很简单!创建一个类继承A

android开发 - Application类

本文摘自google的android官网翻译,如果有不对的地方,请各位大神指点 网址:http://developer.android.com/reference/android/app/Application.html Application,Activity,Service,content provider都是Android框架的系统组件,当Android程序启动时系统会创建一个Application对象,用来存储系统的一些信息. 启动一个android应用程序,就等于启动了一个进程,一个进

Android使用Application总结

Application 配置全局Context 第一步.写一个全局的单例模式的MyApplication继承自Application 覆盖onCreate ,在这个方法里面实例化Application 第二步.配置全局的Context <application android:name="com.appstore.service.MyApplication" ></application> 第三步.使用,使用的时候用的时候根据类的名称访问Context Andr

android &amp;lt;application&amp;gt; 开发文档翻译

由于本人英文能力实在有限,不足之初敬请谅解 本博客仅仅要没有注明"转",那么均为原创.转贴请注明本博客链接链接 <application>语法:    <application android:allowTaskReparenting=["true" | "false"]                 android:allowBackup=["true" | "false"]     

Android 使用Application总结

Application 配置全局Context 第一步.写一个全局的单例模式的MyApplication继承自Application 覆盖onCreate ,在这个方法里面实例化Application 第二步.配置全局的Context <application android:name="com.appstore.service.MyApplication" ></application> 第三步.使用,使用的时候用的时候根据类的名称访问Context Andr

Android笔记——Application的作用

一.Application是什么 Application和Actovotu,Service一样是android框架的一个系统组件,当android程序启动时系统会创建一个 application对象,用来存储系统的一些信息.通常我们是不需要指定一个Application的,这时系统会自动帮我们创建,如果需要创建自己 的Application,也很简单创建一个类继承 Application并在manifest的application标签中进行注册(只需要给Application标签增加个name属