Java tutorial
//package com.java2s; import android.content.Context; import android.os.Parcel; import android.os.Parcelable; import java.io.ByteArrayOutputStream; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.util.List; public class Main { @SuppressWarnings("unchecked") public static List<Parcelable> readParcelableList(Context context, String fileName, ClassLoader classLoader) { List<Parcelable> results = null; FileInputStream fis = null; ByteArrayOutputStream bos = null; try { fis = context.openFileInput(fileName); if (fis != null) { bos = new ByteArrayOutputStream(); byte[] b = new byte[4096]; int bytesRead; while ((bytesRead = fis.read(b)) != -1) { bos.write(b, 0, bytesRead); } byte[] data = bos.toByteArray(); Parcel parcel = Parcel.obtain(); parcel.unmarshall(data, 0, data.length); parcel.setDataPosition(0); results = parcel.readArrayList(classLoader); } } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); results = null; } finally { if (fis != null) try { fis.close(); } catch (IOException e) { e.printStackTrace(); } if (bos != null) try { bos.close(); } catch (IOException e) { e.printStackTrace(); } } return results; } }