我在android应用程序的资产文件夹中保存的html文件中使用谷歌图表可视化我的应用程序的数据。该html文件加载在android WebView中。
我使用Firebase云消息来默默地更新我的android应用程序的数据。
由于应用程序需要离线工作,我需要持久化数据。我可以保存在共享的首选项,但我没有看到我的javascript在html文件读取android的共享首选项的方式。
所以,当收到有效载荷时,我想更新一个。json文件(在资产文件夹中),想知道如何去做。
JSON:[[a,b,c] , [1, 12, 24], [2, 45, 46]]
有效载荷:
[[a,0,1,53]]
更新JSON:
[[a,b,c], [53, 12, 24], [2, 45, 46]]
第二个数组中的第一个元素从1更新为53
由于^ _ ^所以,当收到有效载荷时,我想更新一个。json文件(在assets文件夹中)
那不可能。资源在运行时是只读的。
你能做的是将新的JSON写入文件(例如,getFilesDir()
)。然后,调整读取JSON的逻辑,首先查找文件,如果文件不可用,则返回到资产。
当你编译和发布应用程序时,你的开发机器上的assets
文件夹被打包到你的APK文件中。在运行时的设备上,assets
文件夹中的所有资源都是只读的,因为它们是从安装的APK加载的。如果您希望在机器上存储数据,那么您需要使用SQLite数据库或写入本地文件。