使用Android应用程序部署大量静态数据

使用Android应用程序部署大量静态数据,第1张

概述我有一个Android应用程序,该应用程序需要脱机工作并且需要大量静态数据.目前,我正在/res/raw中使用JSON文件,并将其与Jackson解析器一起加载到我的POJO方案中.由于我有一个外部程序将生成此数据,因此它确实运行良好,并且偶尔会有更改时,我将向市场发布新版本,因此无需处理运行

我有一个Android应用程序,该应用程序需要脱机工作并且需要大量静态数据.

目前,我正在/ res / raw中使用JsON文件,并将其与Jackson解析器一起加载到我的POJO方案中.由于我有一个外部程序将生成此数据,因此它确实运行良好,并且偶尔会有更改时,我将向市场发布新版本,因此无需处理运行更新服务器和以此类推.

但是,现在我的JsON文件大约为2.5MB,用于测试的数据集有限,最后大约为5-10MB.

问题是解析文件已经花费了大约3-5秒的时间,并且每次重新启动应用程序时都需要这样做.

那么,我在这里有什么选择?我可以将数据放入sqlite数据库,但这将需要重写外部应用程序并相当大地更改数据结构.但是那时我只能查询当前需要的东西,而不能一次加载整个东西.

有没有更简单/更好的方法?另外,是否有一种很好的方法可以通过sqlite数据库发布应用程序?我发现的所有文章都谈到在第一次启动时为用户数据创建数据库,但这不是用户数据,我需要从Market进行部署.

解决方法:

JsON感觉像是错误的方法-这是编码要传输的数据的好方法,但仅此而已.

拥有有关您的应用程序确切功能的更多信息会很高兴,但是我很难想象一个用例,其中在内存中存储几MB的POJO是一种有效的解决方案.我认为使用sqlite会更好,这就是为什么:

I Could put the data to a sqlite database, but that would require rewriting the external application and changing the data structure quite a bit.

您仍然可以使用其他程序的JsON输出,但是您可以在首次启动应用程序时填充数据库,而不是使用Jackson将所有内容加载到POJO中.这样,如果数据集不变,则应用程序启动时间可以忽略不计.

如果您仍然想在应用程序的其余部分中使用POJO,那么编写查询以从数据库检索数据并以与Jackson相同的方式创建对象的查询将是微不足道的.

But then I Could only query the things I need at the moment and not loading the entire thing at once.

您正在做什么,需要一次访问所有数据?要实现相同的目的,搜索或排序一组对象总是比SQL查询要慢.

Also, is there a good way to publish the app with the sqlite database?

您绝对可以将应用程序与数据库一起运输,尽管我个人还没有这样做.这是一个相关的问题:

By Default load some data into our database sqlite

希望对您有所帮助.

总结

以上是内存溢出为你收集整理的使用Android应用程序部署大量静态数据全部内容,希望文章能够帮你解决使用Android应用程序部署大量静态数据所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1084013.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-27
下一篇2022-05-27

发表评论

登录后才能评论

评论列表(0条)

    保存