内存文件的创建

  • 创建 一个类 MainApplication 继承于 Application,该类要采用单例模式,如下:
public class MainApplication extends Application {
    private final static String TAG = "MainApplication";
    private static MainApplication mApp; // 声明一个当前应用的静态实例

    // 声明一个公共的信息映射对象,可当做全局变量使用
    public HashMap<String, String> mInfoMap = new HashMap<String, String>();

    // 利用单例模式获取当前应用唯一实例
    public static MainApplication getInstance() {
        return mApp;
    }

    @Override
    public void onCreate() {
        super.onCreate();
        mApp = this; // 在打开应用时对静态的应用实例赋值
        Log.d(TAG, "onCreate");
    }

    @Override
    public void onTerminate() {
        Log.d(TAG, "onTerminate");
        super.onTerminate();
    }

    // 声明一个公共的图标映射对象
    public HashMap<Long, Bitmap> mIconMap = new HashMap<Long, Bitmap>();
}
  • 在 AndroidManifest.xml 中注册新定义的 Application 类名,如下:

往内存文件中存取内容

  • 存入内容:
            MainApplication app = MainApplication.getInstance();
            app.mInfoMap.put("name", name);
            app.mInfoMap.put("age", age);
            app.mInfoMap.put("height", height);
            app.mInfoMap.put("weight", weight);
            app.mInfoMap.put("married", typeArr[!bMarried ? 0 : 1]);
            app.mInfoMap.put("update_time", DateUtil.getNowDateTime());
  • 读取内容:
        String desc = "全局内存中保存的信息如下:";
        MainApplication app = MainApplication.getInstance();
        Map<String, String> map = app.mInfoMap;
        for (Map.Entry<String, String> item : map.entrySet()) {
            desc = desc + "\n " + item.getKey() + "的取值为:" + item.getValue();
        }
        if (map.size() <= 0) {
            desc = "全局内存中保存的信息为空";
        }
        tv_app.setText(desc);

效果如下: