内存文件的创建
- 创建 一个类 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);
效果如下: