在通过Kivy-Buildozer打包成apk在安卓手机运行。
按之前存放图片和字体,音乐文件的方法,在根目录下建立一个log文件夹,里面存放txt文件做为程度的日志记录。log文件夹里的txt文件无法读写,apk程序闪退。
在查阅了android的开发资料后,发现应用程序被安装到系统后,其所在的包会有专用文件夹存放可读写的数据文件,也只有我们的这个程序可对这个文件夹的有写入权限,这个私有文件夹路径位于程序根目录下的/data/data/{Package name},其他的应用程序都无法在这个文件夹中写入数据。
于是,按此开发要求,我在本地的程序main.py同根目录下,也新建了/data/data/airgame/三层目录,其中airgame是Buildozer.spec配置文件里的包名。
然后将log.txt放入/data/data/airgame/log.txt,在Python源代码中调用的方法是直接读取:
'data/data/airgame/'
而Python源代码中读取images/或fonts/目录时,则需要在前面加 app/images/,大家要注意区别对待!
再次进行打包apk,运行后读写txt文件正常!
就此,Python程序开发的安卓app读写txt文件的问题就此解决!