Android 数据存储三种方式
2017-06-07 23:34
531 查看
1.文件存储
这种方式存的是字符串取出来的也是字符串
2.SharedPreferences
存的是xml键值对方式(Map),可以存多种类型,存的是整形取出来的就是整形
SharedPreferences存储过程
- 生成SharedPreferences对象实例
- 调用SharedPreferences的edit()方法获取SharedPreferences.Editor对象
- 向SharedPreferences.Editor对象添加数据
- 调用apply()或者commit()将添加数据提交完成存储
生成sharedPreferences对象的三种方式
Context类中的getSharedPreferences
需要传入参数文件名和操作模式,不过目前只有Context.MODE_PRIVATE这一种
Activity类中的getPreferences
和Context类中的调用不同之处是不用传入文件名,默认当前活动类名作为文件名
PreferenceManager类中的getDefaultSharedPreferences方法
默认当前应用程序包名作为文件名前缀命名文件
小例子
SharedPreferences读取过程
小例子
当然Preferences还可以对自己写的xml(包括布局layout)进行编辑
3.sqlite3数据库
现在好多第三方面向对象的数据库封装都很好用,当然不怕麻烦原生的也可以就是麻烦点,就不多介绍了
这种方式存的是字符串取出来的也是字符串
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数据库
现在好多第三方面向对象的数据库封装都很好用,当然不怕麻烦原生的也可以就是麻烦点,就不多介绍了
相关文章推荐
- Android数据的三种存储方式:SharedPreferences、SQLite、Content Provider
- Android中数据存储的三种方式--基础
- Android数据存储的三种方式-SharedPrefrences,File,SQLite
- Android应用程序的常见数据存储方式小结
- Android应用程序的常见数据存储方式小结
- Android中的数据存取三种方式
- 【Android游戏开发十三】(保存游戏数据 [下文])详解SQLite存储方式,并把SQLite的数据库文件存储在SD卡中!!!
- Android开发之数据存储之二:SQLite数据库存储方式【免费提供源码下载】
- Android的数据存储方式
- 【Android游戏开发十三】(保存游戏数据 [下文])详解SQLite存储方式,并把SQLite的数据库文件存储在SD卡中!!!
- Android中的文件存储数据方式
- Android 数据存储的一种最简单的方式 SharedPreferences
- android数据存储方式
- Android实战技巧:数据存储方式
- Android的数据存储方式
- Android数据存储--SQLite 存储方式应用(日记管理系统)
- android 数据存储几个方式
- Android为数据存储提供几种方式
- Android数据4种存储方式
- Android的数据存储方式