我最近将Cordova应用程序从v2.9升级到了v3.5。我通过命令行添加了所需的插件,并完成了我的应用程序的cordova构建。通过文件插件读取/写入文件时,出现Nullpointer异常。下面是堆栈跟踪:
07-08 18:58:40.750: W/System.err(6670): java.lang.NullPointerException
07-08 18:58:40.750: W/System.err(6670): at org.apache.cordova.file.LocalFilesystem.filesystemPathForURL(LocalFilesystem.java:67)
07-08 18:58:40.750: W/System.err(6670): at org.apache.cordova.file.LocalFilesystem.getFileForLocalURL(LocalFilesystem.java:189)
07-08 18:58:40.750: W/System.err(6670): at org.apache.cordova.file.FileUtils.getFile(FileUtils.java:749)
07-08 18:58:40.760: W/System.err(6670): at org.apache.cordova.file.FileUtils.access$5(FileUtils.java:742)
07-08 18:58:40.760: W/System.err(6670): at org.apache.cordova.file.FileUtils$16.run(FileUtils.java:397)
07-08 18:58:40.760: W/System.err(6670): at org.apache.cordova.file.FileUtils$23.run(FileUtils.java:525)
07-08 18:58:40.760: W/System.err(6670): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
07-08 18:58:40.760: W/System.err(6670): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
07-08 18:58:40.760: W/System.err(6670): at java.lang.Thread.run(Thread.java:856)
我需要在这里立即帮助!
Nullpointer异常已解决,但在文件访问方面需要帮助
我想知道,从应用程序的私有软件包进行文件访问的网址格式应该是什么?在cordova 2.9中,我/data/data/com.myapp.android/abc.txt
从Javascript中进行访问。我可以知道Cordova 3.5中的URL格式是什么吗?
我设法通过将应用程序文件存储在/mnt/sdcard/Android/data/com.myapp.android/
文件夹中来解决此问题。此位置对我的应用程序是私有的,并且在卸载应用程序时将被清除。
现在,我可以使用cordova的File插件从javascript读取/写入文件,并且文件路径将类似于:Android/data/com.myapp.android/abc.txt
。由于File插件在config.xml中被Compatibility
视为首选项的默认值AndroidPersistentFileLocation
,因此持久性文件存储将以/mnt/sdcard
(如果已安装)返回(如果已安装),则在Android中默认为。
参考: Google网上论坛链接
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句