安卓学习笔记---如何保存数据到SharePreference里面,获取所有sp文件以及删除文件
来源:互联网 发布:软件开发合作协议 编辑:程序博客网 时间:2024/05/21 22:27
最近使用到了SharePreference保存数据,并删除的功能,我们知道SP保存的文件是存放在/data/data/包名/shared_prefs文件夹下
一般的我们可以这么做
1.创建文件,保存信息
SharedPreferences sp=getSharedPreferences("book",MODE_PRIVATE);
Editor editor=sp.edit();
editor.putFloat("price", (float) price);
editor.commit();
2.删除与清空文件信息
//清空文件数据
SharedPreferences sp=getSharedPreferences("book",MODE_PRIVATE);
if(sp!=null){
sp.edit().clear().commit();
}
//删除文件
File file= new File("/data/data/"+getPackageName().toString()+"/shared_prefs","book.xml");
if(file.exists())
{
file.delete();
Toast.makeText(TestActivity.this, "删除成功", Toast.LENGTH_LONG).show();
}
//创建的时候可以如下创建:
//以时间为单位保存sp名SharedPreferences sp = BaseApplication.getContext().getSharedPreferences(TYPE_ALL, Context.MODE_PRIVATE);
//sp文件管理类
public class ShareUtil { private static final String TAG = "ShareUtil"; //sp存放路径 private static final String pathUrl="/data/data/"+ BaseApplication.getContext().getPackageName().toString()+"/shared_prefs"; /** * 遍历获取所有的sp文件 返回的是一个 List<DateInfo> * @param Extension 扩展名, */ public static List<DateInfo> GetFiles(String Extension) { List<DateInfo> paths=new ArrayList<>(); File[] files = new File(pathUrl).listFiles(); File f; if(files == null) { LoggerUtil.i(TAG,pathUrl+"is Empty"); return null; } for (int i = 0; i < files.length; i++) { f = files[i]; if(!f.canRead()) { LoggerUtil.i(TAG,pathUrl+"can not read"); return null; } if (f.isFile()) { if (f.getName().contains(Extension)) //判断扩展名 { LoggerUtil.i(TAG,"f.getName()-->"+f.getName()); String fileName=f.getName().substring(0,f.getName().lastIndexOf(".")); DateInfo dateInfo=new DateInfo(); dateInfo.setDateId(Long.parseLong(fileName)); paths.add(dateInfo); } } } return (List<DateInfo>) SortList(paths,"getDateId","desc"); } /** * 关于list根据对象排序的问题 * @param list 要排序的那个list * @param getMethod 你要排序的那个属性的get方法(比如说userId:“getUserId”) * @param sort 你倒叙还是怎样(倒序:“desc” 顺序:null) * @param <E> * @return */ public static <E> E SortList(List<E> list, final String getMethod, final String sort) { Collections.sort(list, new Comparator<Object>() { @SuppressWarnings("unchecked") public int compare(Object a, Object b) { int ret = 0; try{ Method m1 = ((E)a).getClass().getMethod(getMethod, null); Method m2 = ((E)b).getClass().getMethod(getMethod, null); if(sort != null && "desc".equals(sort))//倒序 ret = m2.invoke(((E)b), null).toString().compareTo(m1.invoke(((E)a), null).toString()); else//正序 ret = m1.invoke(((E)a), null).toString().compareTo(m2.invoke(((E)b), null).toString()); }catch(NoSuchMethodException ne){ System.out.println(ne); }catch(IllegalAccessException ie){ System.out.println(ie); }catch(InvocationTargetException it){ System.out.println(it); } return ret; } }); return (E) list; } /** * 遍历获取所有的sp文件 * @param path 文件目录 * @param Extension 扩展名 * @param IsIterative 是否进入子文件夹 * @return */ public static List<String> GetFiles(String path,String Extension, boolean IsIterative) { List<String> paths=new ArrayList<>(); File[] files = new File(path).listFiles(); File f; if(files == null) { LoggerUtil.i(TAG,path+"is Empty"); return null; } for (int i = 0; i < files.length; i++) { f = files[i]; if(!f.canRead()) { LoggerUtil.i(TAG,path+"can not read"); return null; } if (f.isFile()) { if (f.getName().contains(Extension)) //判断扩展名 { LoggerUtil.i(TAG,"f.getName()-->"+f.getName()); String fileName=f.getName().substring(0,f.getName().lastIndexOf(".")); paths.add(fileName); } } else if (f.isDirectory()) GetFiles(f.getPath(), Extension, IsIterative); } return paths; } /** * 清空与删除sp文件 * @param deleteFileName sp文件名 */ public static boolean deleteFile(String deleteFileName) { //清空文件 SharedPreferences sp=BaseApplication.getContext().getSharedPreferences(deleteFileName,Context.MODE_PRIVATE); if(sp!=null) { sp.edit().clear().commit(); } //删除文件 File file= new File(pathUrl,deleteFileName+".xml"); if(file.exists()) { return file.delete(); } return false; }}
- 安卓学习笔记---如何保存数据到SharePreference里面,获取所有sp文件以及删除文件
- 如何删除文件夹(文件)里面的所有数据
- 安卓android sharepreference数据存储,保存输入框里面的数据
- 安卓数据保存,保存到文件(转自安卓官方培训中文版)
- Android用sharepreference保存文件
- 学习笔记 - java递归删除一个文件夹及里面的所有文件
- 用户列表List保存到SP文件
- 数据满3条自动保存到一个文件里面
- 如何安全的保存数据到文件
- C++学习--向txt文件写入数据、读取数据、获取行数以及删除文件
- 保存数据到文件
- 数据保存到文件
- 保存数据到文件
- 安卓Shareprefrence实现记住密码自动登录以及保存在shareprefrence里面数据如何加密解密
- 如何批量获取文件夹内的所有文件以及文件夹名 汇总到TXT或者EXL?
- 孙鑫VC学习笔记:第十一讲 如何把元文件保存到文件当中
- 孙鑫VC学习笔记:第十一讲 (三) 如何把元文件保存到文件当中
- 安卓训练-开始-保存数据-保存文件
- 如何解决应用程序无法启动,因为应用程序的并行配置不正确?
- python threadpool 线程池使用
- 如何估算数字标牌液晶广告机颜值
- Java易混知识点总结-持续更新中
- Maven添加本地jar依赖及commons-codec.jar的使用
- 安卓学习笔记---如何保存数据到SharePreference里面,获取所有sp文件以及删除文件
- 杭电 3368 Recersi DFS 搜索
- VMware Workstation 中网卡的设置
- Mac搭建本地局域网SVN服务(Cornerstone)
- java一行一行写入或读取数据
- Java Base64、AES、SHA1、MD5加密算法
- Gear VR何以成为移动VR霸主?这些数据需要知道
- Spring 学习 (二)__BeanWrapper及其实现
- 最新Github上各DL框架Star数量大PK | 附各框架性能对比分析