我使用我的Android应用的资源文件夹中保存的html文件中的谷歌图表来显示我的应用数据。 html文件在android WebView中加载。
我使用Firebase Cloud Messaging以静默方式更新我的Android应用程序的数据。
由于应用程序需要脱机工作,我需要保留数据。我可以将其保存在共享首选项中,但我没有在html文件中看到我的javascript方法来阅读Android的共享首选项。
因此,当收到有效负载时,我想更新一个.json文件(在assets文件夹中),并想知道如何去做。
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更新为
谢谢^ _ ^
答案 0 :(得分:3)
因此,当收到有效负载时,我想更新.json文件(在assets文件夹中)
这是不可能的。资产在运行时是只读的。
您可以做的是将新JSON写入文件(例如getFilesDir()
)。然后,调整读入JSON的逻辑以首先查找文件,如果文件不可用,则返回资源。
答案 1 :(得分:1)
编译和发布应用时,开发计算机上的assets
文件夹将打包到APK文件中。在运行时的设备上,assets
文件夹中的所有资源都是只读的,因为它们是从已安装的APK加载的。如果要在机器上存储数据,则需要使用SQLite数据库或编写本地文件。有关详细信息,请参阅Android开发人员文档中的Storage Options。