更新android资源文件夹中的json文件

时间:2016-08-22 16:43:57

标签: android json android-assets

我使用我的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更新为

谢谢^ _ ^

2 个答案:

答案 0 :(得分:3)

  

因此,当收到有效负载时,我想更新.json文件(在assets文件夹中)

这是不可能的。资产在运行时是只读的。

您可以做的是将新JSON写入文件(例如getFilesDir())。然后,调整读入JSON的逻辑以首先查找文件,如果文件不可用,则返回资源。

答案 1 :(得分:1)

编译和发布应用时,开发计算机上的assets文件夹将打包到APK文件中。在运行时的设备上,assets文件夹中的所有资源都是只读的,因为它们是从已安装的APK加载的。如果要在机器上存储数据,则需要使用SQLite数据库或编写本地文件。有关详细信息,请参阅Android开发人员文档中的Storage Options