Android數據本地持久化方案目前有SharePreference,文件,Sqlite;java
利用文件寫入用戶信息數據:app
public static void writerObject(Context context, Object userInfo) { ObjectOutputStream objectOutputStream = null; try { FileOutputStream fileOutputStream = context.getApplicationContext().openFileOutput(FILENAME, Context.MODE_PRIVATE); objectOutputStream = new ObjectOutputStream(fileOutputStream); objectOutputStream.writeObject(userInfo); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { if (objectOutputStream != null) { try { objectOutputStream.flush(); objectOutputStream.close(); } catch (IOException e) { e.printStackTrace(); } } } }
從文件中讀取用戶信息:加密
public static Object readerObject(Context context) { ObjectInputStream objectInputStream = null; Object userInfo = null; try { FileInputStream fileInputStream = context.getApplicationContext().openFileInput(FILENAME); objectInputStream = new ObjectInputStream(fileInputStream); userInfo = objectInputStream.readObject(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } catch (ClassNotFoundException e) { e.printStackTrace(); } finally { if (objectInputStream != null) { try { objectInputStream.close(); } catch (IOException e) { e.printStackTrace(); } } } return userInfo; }
利用Properties讀取assets目錄下的配置信息:code
public static String getProperties(Context context, String key){ Properties props = new Properties(); try { InputStream in = context.getAssets().open("appConfig.properties"); props.load(in); } catch (Exception e) { e.printStackTrace(); } return props.getProperty(key); }