Android内部存储示例教程

时间:2020-02-23 14:29:00  来源:igfitidea点击:

今天,我们将研究android内部存储。
Android提供了几种结构化的方式来存储数据。
这些包括

  • 共享首选项
  • 内部存储器
  • 外部存储
  • SQLite存储
  • 通过网络连接存储(在云上)

在本教程中,我们将研究如何使用Android Internal Storage将数据保存和读取到文件中。

Android内部存储

Android内部存储是设备内存中私有数据的存储。
默认情况下,将文件保存和加载到内部存储是应用程序专用的,其他应用程序将无法访问这些文件。
当用户卸载应用程序时,与该应用程序关联的内部存储文件也将被删除。
但是,请注意,某些用户会扎根其Android手机,从而获得超级用户访问权限。
这些用户将能够读取和写入所需的任何文件。

在Android内部存储中读取和写入文本文件

Android从Java I/O类提供了" openFileInput"和" openFileOutput",以修改本地文件的读写流。

  • openFileOutput():此方法用于创建和保存文件。
    其语法如下:
    方法openFileOutput()返回FileOutputStream的实例。
    之后,我们可以调用write方法在文件上写入数据。
    其语法如下:

  • openFileInput():此方法用于打开文件并读取它。
    它返回FileInputStream的实例。
    其语法如下:
    之后,我们调用read方法从文件中一次读取一个字符,然后打印它。
    其语法如下:
    在上面的代码中,字符串temp包含文件的所有数据。

  • 请注意,这些方法不接受文件路径(例如path/to/file.txt),它们仅使用简单的文件名。

Android内部存储项目结构

Android内部存储示例代码

xml布局包含用于将数据写入文件的" EditText",以及"写入按钮"和"读取按钮"。
请注意,仅在xml文件中定义onClick方法,如下所示:

activity_main.xml

FileOutputStream fOut = openFileOutput("file name",Context.MODE_PRIVATE);

MainActivity包含读取和写入文件的实现,如上所述。

String str = "test data";
fOut.write(str.getBytes());
fOut.close();

在此,当数据成功写入内部存储器时,将显示一个吐司,并且在从文件中读取数据时,数据将显示在EditText本身中。

下图是项目的输出。
该图像描述了写入内部存储器的文本,单击"读取"后,它将在同一EditText中显示文本。

文件在哪里?

要实际查看文件,请从工具-> Android-> Android设备监视器中打开Android设备监视器。
该文件位于文件夹data-> data-> {package name}-> files中,如下图所示:

文件" mytextfile.txt"位于项目的程序包名称中,即com.theitroad.comternalstorage。