安卓开发实践:SharedPreferences与文件IO操作

1 下载量 45 浏览量 更新于2024-08-29 收藏 73KB PDF 举报
"安卓开发学习——6.练习SharedPreferences用法和文件IO" 在安卓开发中,数据存储是一个重要的环节,主要用于保存应用的状态或者用户的数据。本练习主要涉及两种常见的数据存储方式:SharedPreferences和文件输入/输出(File I/O)。这两种方法在不同的场景下各有优势。 **SharedPreferences** 是安卓提供的一种轻量级的数据存储机制,它允许应用程序以键值对的形式存储简单的数据,如字符串、整数、布尔值等。SharedPreferences通常用于存储用户设置或应用状态这类小量且不复杂的数据。在示例代码中,可以看到SharedPreferences被用来记录程序的启动次数。以下是如何使用SharedPreferences的基本步骤: 1. 获取SharedPreferences对象:通常通过`getSharedPreferences()`方法,传入一个首选项的名称和模式(如 Context.MODE_PRIVATE)。 2. 创建SharedPreferences.Editor:通过`edit()`方法获取编辑器,用于修改数据。 3. 设置键值对:使用`putXXX()`方法,例如`putInt()`, `putString()`等,根据需要存储的数据类型选择合适的方法。 4. 提交更改:使用`commit()`或`apply()`方法保存数据。`commit()`是同步的,而`apply()`是异步的,但两者都能确保数据的持久化。 **文件I/O** 在需要存储大量结构化数据或者非结构化数据时更为适用,比如文本文件、图片等。在示例代码中,`write()`和`read()`函数分别用于写入和读取文本文件。以下是基本的文件操作流程: 1. 打开文件:使用`FileOutputStream`或`FileInputStream`打开文件,通常需要处理异常如`IOException`。 2. 写入数据:对于输出流,可以使用`PrintStream`或直接调用`write()`方法写入数据。 3. 读取数据:对于输入流,可以逐字节或逐行读取,通常配合`BufferedReader`或`DataInputStream`进行高效读取。 4. 关闭流:确保在操作完成后关闭输入/输出流,防止资源泄漏。 在代码中,`submit`按钮触发SharedPreferences的操作,`write`和`read`按钮则分别对应文件的写入和读取操作。`TextView`用于显示读取到的数据,`ListView`和`RadioGroup`可能用于展示更多复杂的数据或提供用户选择。 通过这个练习,开发者可以掌握在安卓应用中如何使用SharedPreferences和文件I/O来实现数据的持久化存储,这对于构建功能完善的安卓应用至关重要。了解并熟练运用这些技术,可以帮助开发者更好地管理用户数据,提升应用的用户体验。