Android开发教程:文件存取与数据库编程详解

需积分: 10 21 下载量 201 浏览量 更新于2024-10-20 收藏 3.94MB PDF 举报
"这篇文档是关于新版Android开发教程的第十二部分,主要涵盖了文件存取和数据库编程的基础知识。" 在Android开发中,文件存取是必不可少的一部分,它允许应用程序存储和读取大量数据。文件可以是任何类型,如文本、图片或音频,它们能够存储在设备的内部存储或外部存储中。Android提供了方便的API来处理文件操作。 1. 文件存取编程基础 - 文件是一个存储大量数据的容器,特别适合存储那些不适合用变量或对象直接表示的数据。 - Android应用程序可以通过系统提供的方法来读取和写入文件,但只能访问本地文件。 - 优点:大容量存储,适用于大量数据的持久化。 - 缺点:文件结构的变动可能导致代码的大量调整,同时文件安全性和访问控制需要额外考虑。 2. 读文件 - `Context.openFileInput(String name)`用于打开一个私有文件输入流,与应用程序关联,如果文件不存在,则会抛出`FileNotFoundException`。 - 示例中,使用`openFileInput("test2.txt")`打开名为“test2.txt”的文件,然后通过`close()`方法关闭输入流。 3. 写文件 - `Context.openFileOutput(String name, int mode)`用于创建或打开一个私有文件输出流,`MODE_APPEND`标志表示在文件末尾追加内容。 - 示例中,`openFileOutput("test2.txt", MODE_APPEND)`不仅打开文件,还在添加模式下写入,防止覆盖原有内容,最后同样需要关闭输出流。 4. 读取静态文件 - 对于打包在应用程序内的静态文件(如res/raw目录下的文件),可以使用`Resources.openRawResource(int resourceId)`方法打开。 - `R.raw.mydatafile`是资源ID,`getResources().openRawResource(R.raw.my)`获取到输入流,之后关闭输入流以释放资源。 5. 数据库编程 - Android中的数据库通常使用SQLite,它是一个轻量级的关系型数据库,适合移动设备。 - 创建数据库:通过继承`SQLiteOpenHelper`,重写`onCreate()`和`onUpgrade()`方法。 - 执行SQL:使用`SQLiteDatabase`类的方法,如`execSQL()`执行SQL语句,`query()`、`insert()`、`update()`和`delete()`进行数据操作。 - 数据库的生命周期管理:`SQLiteOpenHelper`会根据需要自动创建和升级数据库,开发者需在合适的地方调用`getWritableDatabase()`或`getReadableDatabase()`。 Android开发中的文件存取涉及读写操作,以及对静态资源的访问,而数据库编程则利用SQLite进行数据的存储和检索,这些都是开发中常见的任务。通过理解并熟练运用这些技术,开发者可以有效地管理和使用应用程序的数据。