Android 将List<Bean>数据写入文件,从文件中读取;以及多个 Activity 的退出方法
2016-11-15 08:57
871 查看
数据集合写入文件的方法:
从文件当中读入数据集合的读取方法:
其中数据集合文件是保存在 SD 卡当中,传入保存的文件名(注意传入的是文件名而不是文件的全路径)
最后在添加 退出多个 Activity 方法:
/** * 将集合写入sd卡 * * @param fileName 文件名 * @param list 集合 * @return true 保存成功 */ public boolean writeListIntoSDcard(String fileName, List<T> list) { if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) { File sdCardDir = Environment.getExternalStorageDirectory();//获取sd卡目录 File sdFile = new File(sdCardDir, fileName); try { FileOutputStream fos = new FileOutputStream(sdFile); ObjectOutputStream oos = new ObjectOutputStream(fos); oos.writeObject(list);//写入 fos.close(); oos.close(); return true; } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); return false; } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); return false; } } else { return false; } }
从文件当中读入数据集合的读取方法:
/** * 读取sd卡对象 * * @param fileName 文件名 * @return */ @SuppressWarnings("unchecked") public List<T> readListFromSdCard(String fileName) { if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) { //检测sd卡是否存在 List<T> list; File sdCardDir = Environment.getExternalStorageDirectory(); File sdFile = new File(sdCardDir, fileName); try { FileInputStream fis = new FileInputStream(sdFile); ObjectInputStream ois = new ObjectInputStream(fis); list = (List<T>) ois.readObject(); fis.close(); ois.close(); return list; } catch (StreamCorruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); return null; } catch (OptionalDataException e) { // TODO Auto-generated catch block e.printStackTrace(); return null; } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); return null; } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); return null; } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); return null; } } else { return null; }
其中数据集合文件是保存在 SD 卡当中,传入保存的文件名(注意传入的是文件名而不是文件的全路径)
最后在添加 退出多个 Activity 方法:
/** * 创建一个 Activity 的 List 集合 */ private static List<Activity> mActivityList; /** * 将所有需要回退的 Activity 加入到集合当中 * @param activity */ public static void addActivity2List(Activity activity) { if (null == mActivityList) mActivityList = new ArrayList<Activity>(); if (null != activity) mActivityList.add(activity); } /** * 遍历集合当中所有的 Activity ,并且将其全部的 finish * 注意这里只能从后面开始遍历,来 finish Activity;因为 List 集合数据默认是添加到集合的后面,如果从 0 开始 finish,会看不到响应的效果 */ public static void finishActivityFromList() { if (null != mActivityList) for (int i = mActivityList.size() - 1 ; i >= 0; i--) { if (null != mActivityList.get(i)) { mActivityList.get(i).finish(); } } mActivityList.clear(); }
相关文章推荐
- android activity之间传递bean类型数据如(list<UVedioBean> )
- 17开年第一篇Activity之间传递List<T> 以及T对象类型数据的方法
- [读取文件数据],open()的返回类型和【list.append(),造成显性写入\n】。方法参数的缺省带来的影响?
- 读取xml文件转成List<T>对象的两种方法(附源码)
- 读取xml文件转成List<T>对象的两种方法(附源码)
- Android中ListView中同时清除list<E>,ArrayList<E>中多条数据的3种方法
- Android本地最简单的数据存储,没有之一(让SharedPreferences存取JavaBean对象或List<Bean>)
- 读取xml文件转成List<T>对象的两种方法
- 读取文件内容并组装成List<Bean>
- android .向sdcard写入json字符串、读取json字符保存到list<类>中供调用
- 读取xml文件转成List<T>对象的两种方法
- (转) 读取xml文件转成List<T>对象的两种方法
- Android 读取清单文件<meta-data>元素的数据
- 用java读取一个文件往hbase里插入数据(List<PUT>)
- Android 读取清单文件<meta-data>元素的数据
- Android保存List<Map<String,Object>>数据到SD卡及读取
- Android 读取<meta-data>元素的数据
- C++ List(#include<list>) 动态数组以及取其中第N个元素的方法
- 【Android数据传递】Intent传递List和Object和List<Object>(附源码)
- Android 读取<meta-data>元素的数据