Android Properties 存储
2015-08-21 10:15
375 查看
1.初始化
2.存储
3.获取持久化值
其中包含获取assets文件夹目录下的配置文件:
4.当初始化好的文件,重新加载。
private static void initProperties(){ File logFile = new File(Constants.PROGRESS_PROPERTIES); props = new Properties(); if(!logFile.exists()){ //创建并初始化配置文件 FileUtils.createFolder(Constants.BASEPATH + "Config");// 先创建文件夹 RootUtil.execAsRoot("echo \"\" > " + Constants.PROGRESS_PROPERTIES, "chmod 666 " + Constants.PROGRESS_PROPERTIES); persistent(-1, -1, -1, -1, "-1", "-1" , 0, 0, "-1", "-1", 0, 0, "-1", "-1", "-1", "-1", "-1", "-1"); }else{ loadProgress(props, Constants.PROGRESS_PROPERTIES); } }
2.存储
/** * 持久化 * @param channel * @param app * @return */ public static boolean persistent(int channel, int app){ props.setProperty(KEY_CHANNEL, String.valueOf(channel)); props.setProperty(KEY_APP, String.valueOf(app)); FileOutputStream fos = null; try{ fos = new FileOutputStream(Constants.PROGRESS_PROPERTIES); props.store(fos, null); return true; }catch(Exception e){ return false; }finally{ if(fos != null){ try { fos.close(); } catch(Exception e){ e.printStackTrace(); } } } }
3.获取持久化值
/** * 获取属性值 * @param key * @return */ private static int getValue(String key){ try{ if(props == null){ initProperties(); } return Integer.parseInt(props.getProperty(key)); }catch(Exception e){ e.printStackTrace(); } return -1; } /** * 获取属性值 * @param key * @return */ private static String getValueForStr(String key){ try{ if(props == null){ initProperties(); } return props.getProperty(key); }catch(Exception e){ e.printStackTrace(); } return "-1"; }
其中包含获取assets文件夹目录下的配置文件:
/** * 获取配置文件中的value * @param url 路径 * @param param 参数 * @param getFlag 访问标识 0:SD , 1 Assets * @return */ public String getValue(String url, String param, int getFlag) { String result = null; switch(getFlag){ case 0: result = getProperties(url).getProperty(param); break; case 1: result = getPropertiesByAssets(url).getProperty(param); break; } try { if (fis != null) { fis.close(); } if(in != null){ in.close(); } } catch (Exception e) { e.printStackTrace(); } return result == null ? "" : result; }
4.当初始化好的文件,重新加载。
/** * 加载属性 * @param props */ private static void loadProgress(Properties props, String file){ FileInputStream fis = null; try{ fis = new FileInputStream(file); props.load(fis); if(props.get(KEY_CHANNEL) == null){ props.setProperty(KEY_CHANNEL, String.valueOf(-1)); } if(props.get(KEY_APP) == null){ props.setProperty(KEY_APP, String.valueOf(-1)); } }catch(Exception e){ e.printStackTrace(); }finally{ if(fis != null){ try { fis.close(); } catch(Exception e){ e.printStackTrace(); } } } }
相关文章推荐
- Dexposed:android免Root无侵入Aop框架
- Dexposed:android免Root无侵入Aop框架
- 最佳实践之 Android代码规范
- 最美应用-从Android研发工程师的角度之[最美时光]
- 一培训机构设计的学习android课程内容:供大家参考
- [置顶] Android开发之动态库调用
- Android ftp 上传图片
- Android语言国际化
- 系统去掉 Android 4.4.2 的StatusBar和NavigationBar
- android知识杂记
- Android笔记(七)活动的生命周期
- android studio导入so库Failure [INSTALL_FAILED_NO_MATCHING_ABIS]解决方案
- android SDK Manager下载和更新速度慢甚至无法下载解决方案
- Android 使用Fragment界面向下跳转并一级级返回
- Android学习笔记:超能RecyclerView组件使用(下)--实现监听事件
- Android之ExpandableListView的属性(Group不展开)
- Android播放音乐时跳动的屏谱demo
- DDMS是什么
- 安装64位ubuntu 14.04-搭建android开发环境
- android学习资料