Android开发中,经常会接触到数据存储, 故本文详细讲述下关于数据存储的知识,希望能够加深理解,时常回顾,由于本人才疏学浅,或有不当之处,望批评指教
文本存储比较简单,不会对数据做格式化处理,适合存储一些简单的文本数据,默认情况下,保存到内部存储的文件是应用的私有文件,其他应用(和用户)不能访问这些文件。 当用户卸载您的应用时,这些文件也会被移除。 Context类提供了两种方法打开数据文件的IO流
该方法将数据输出到文件里,方法接受两个参数,第一个参数是文件名,注意文件名不可以包含路径,因为所有的文件都是默认存储到/data/data/<packagename>/files目录下的,基于该文件名创建文件;第二个参数是操作模式, 有两种模式可选 * MODE_PRIVATE: 默认的操作模式,表示私有数据,只能被本应用访问,并且写入内容会覆盖源文件内容 * MODE_APPEND: 表示若文件已存在,则往文件中追加内容,否则创建新文件。
该方法从文件中读取数据,直接受一个参数,即要读取的文件名,然后系统会自动到/data/data/<packagename>/files/目录下加载该文件,并返回一个FileInputStream对象
SharedPreferences 是基于xml文件存储的键值对保存数据的,并且支持多种不同的数据类型。文件存放在/data/data/<packagename>/shared_prefs/目录下。当然,要使用SharedPreferences存储数据,首先要忽的SharedPreferences对象,可通过以下两个方法之一:
getSharedPreferences() - 接受两个参数,第一个是文件名称,第二个指定操作模式getPreferences() - 只接受操作模式参数,因只在Activity类中获取,故类名为文件名。SharedPreferences对象的edit()方法获取SharedPreferences.Editor对象向SharedPreferences.Editor对象中添加数据,使用 putBoolean() 和 putString() 等方法调用commit()或apply()方法提交SharedPreferences.Editor editor = getSharedPreferences("data", MODE_APPEND).edit();editor.putBoolean("flag", true);editor.putInt("age", 22);editor.putString("name", "hao");editor.commit();getXXX()方法读取数据SharedPreferences sharedPreferences = getSharedPreferences("data", MODE_APPEND);SQLite数据库和ContentProvider内容较多,故放在单独的博客中讲解, 后续整理,加油。
新闻热点
疑难解答