书籍介绍
本节书摘来自异步社区《Android 游戏案例开发大全(第4版)》一书中的第4章,第4.1节的三个Android程序——私有文件夹的写入与读取(sample_4_1)、读取resource和assets中的文件(sample_4_2)和数据共享者–content provide的使用(sample_4_4),作者 吴亚峰 , 于复兴 , 苏亚光,更多章节内容可以访问云栖社区“异步社区”公众号查看
私有文件夹的写入与读取(sample_4_1)
本例的基本功能是在应用程序的私有文件夹下创建一个文件,并读取其中的数据显示到屏幕的TextView中。
原因
该例无法运行,是因为在例中的readFileData函数中的这行代码报错
result = EncodingUtils.getString(buffer, ENCODING);
原因是EncodingUtils.getString()函数现在已经被淘汰,最后使用EncodingUtils.getString()函数是在API=21时。
所以只需要将这行代码修改后程序即可运行。
解决方法
用下面这行代码替换掉上面的代码就可以了。
result = new String(buffer, ENCODING);
读取resource和assets中的文件(sample_4_2)
在Android平台上,应用程序可以从资源文件和Assets中获得输入流读取数据,这些文件分别存放在应用程序的res/raw目录和assets目录下,这些文件将会在编译的时候和其他文件一起被打包。
本例就是来说明如何从resource和assets中读取信息。
原因
程序不能运行是因为assets文件夹放的位置不对。
解决方法
将assets目录放在跟java和res同级目录下。
数据共享者–content provide的使用(sample_4_4)
本例中通过contentresolve对象访问Android中存储了联系人的content provider并将数据显示到textview上。
原因
没有获得查看联系人的权限
解决方法
通过虚拟机的设置功能给与该应用查看联系人的权限