同前面所使用的SharedPreferences一样,使用File来读写文件也属于常规思路。它是一个应用程序私有的,一个应用程序无法读写其他应用程序的文件。在Android中没有提供像J2SE里面那么多关于IO的API,所以使用起来非常简单轻巧。Files方式的存储是把需要保存的数据通过文件的形式记录下来,当需要这些数据时,通过读取这个文件并获得相应的数据。大家都知道Android采用的是Linux内核,所以在Android系统中,文件的形式与Linux中的文件形式相同。
在实际开发中如何通过File读取和保存数据呢?可以使用手机本身的存储设备或者其他的外接存储设备创建用于保存数据的文件。具体是通过FileInputStream和FileOutputStream文件数据流对文件进行操作,可以通过openFileOutput函数打开一个文件,如果文件不存在就自动创建,通过load()方法来获取文件中的数据,通过store()方法来获取文件中的数据,通过deleteFile()方法可以删除一个指定的文件。在Android系统中,这些文件保存在“/data/data/PACKAGE_NAME(所建的包名)/files”目录下,见代码清单13-1。数据读取和保存的代码实现如下:
代码清单13-1File方式数据读取
从代码中进一步看出,通过context.openFileInput(file)代码打开文件,Android中的文件读写具有权限的控制,因此要使用context()来打开文件,文件可以在相同的Package中共享,见代码清单13-2。
代码清单13-2 File方式数据写入
从代码清单13-2可以看出,它声明了文件打开的方式:context.openFileOutput(file,Context.MODE_WORLD_WRITEABLE)。一般来说,直接使用文件可能不太好用,尤其是存放一些琐碎的数据,会生成一些琐碎的文件,且由于格式不同不便于管理,因此可以将需要保存的数据包装成Properties属性来使用,具体实现见本章示例代码。
下面通过一个示例讲解File方式数据存储的过程,代码运行结果如图13-1所示。当重新启动的时候,在用户名编辑框中出现上一次保存的数据。
首先,介绍如何通过xml布局实现这一效果,如代码清单13-3所示。
(www.xing528.com)
图13-1 File方式数据存储示例
代码清单13-3 File方式数据存储示例(第13章\Demo_13_01)main.xml
其次,介绍Activity java代码如何配合布局实现Flies数据存储功能,如代码清单13-4所示。
代码清单13-4 File方式数据存储示例(第13章\Demo_13_01)MainActivity.java
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。