本文共 2612 字,大约阅读时间需要 8 分钟。
1.文件存储
这种方式存的是字符串取出来的也是字符串private void save(){ FileOutputStream out = null; BufferedWriter writer = null; try { out = openFileOutput("my.txt", Context.MODE_APPEND); writer = new BufferedWriter(new OutputStreamWriter(out)); writer.write("Hello world BOB"); }catch (IOException e){ e.printStackTrace(); }finally { try{ writer.close(); }catch (Exception e){ e.printStackTrace(); } } } private String read(){ FileInputStream in = null; BufferedReader reader = null; StringBuffer buffer = new StringBuffer(); try{ in = openFileInput("my.txt"); reader = new BufferedReader(new InputStreamReader(in)); String lines = ""; while ((lines = reader.readLine())!=null){ buffer.append(lines); } }catch (Exception e){ e.printStackTrace(); }finally { if (reader!=null){ try{ reader.close(); }catch (Exception e){ e.printStackTrace(); } } } return buffer.toString(); }
2.SharedPreferences
存的是xml键值对方式(Map),可以存多种类型,存的是整形取出来的就是整形 SharedPreferences存储过程 - 生成SharedPreferences对象实例 - 调用SharedPreferences的edit()方法获取SharedPreferences.Editor对象 - 向SharedPreferences.Editor对象添加数据 - 调用apply()或者commit()将添加数据提交完成存储 生成sharedPreferences对象的三种方式Context类中的getSharedPreferences
需要传入参数文件名和操作模式,不过目前只有Context.MODE_PRIVATE这一种SharedPreferences preferences = context.getSharedPreferences("fileName",Context.MODE_PRIVATE);
Activity类中的getPreferences
和Context类中的调用不同之处是不用传入文件名,默认当前活动类名作为文件名SharedPreferences preferences = getPreferences(MODE_PRIVATE);
PreferenceManager类中的getDefaultSharedPreferences方法
默认当前应用程序包名作为文件名前缀命名文件SharedPreferences sharedPref = PreferenceManager.getDefaultSharedPreferences(context);
小例子
SharedPreferences preferences = getSharedPreferences("data",MODE_PRIVATE); SharedPreferences.Editor editor = preferences.edit(); editor.putString("name","BOB"); editor.putInt("age",12); editor.putBoolean("sex",false); editor.commit();//editor.apply();
SharedPreferences读取过程
小例子SharedPreferences pref = getSharedPreferences("data",MODE_PRIVATE); //如果没有取到相应的值就使用默认值 String name = pref.getString("name","如果不存在默认值"); int age = pref.getInt("age",0); boolean sex = pref.getBoolean("sex",false);
当然Preferences还可以对自己写的xml(包括布局layout)进行编辑
3.sqlite3数据库
现在好多第三方面向对象的数据库封装都很好用,当然不怕麻烦原生的也可以就是麻烦点,就不多介绍了转载地址:http://bmnvb.baihongyu.com/