本地文件的Android最佳实践

时间:2017-03-01 08:00:44

标签: java android performance file asynctaskloader

我目前正在编写一个显示ListView内的项目的应用程序,然后用户可以添加或删除这些项目。我通过写出本地JSON文件来保持此数据的持久性(我将数据保存为JSONArray,然后在toString()之前调用Serializing方法它和写作,阅读基本上是相同的过程逆转。)

由于我对Android开发相当新,我对最佳做法不是很清楚,特别是我对访问存储在本地文件中的数据的最佳方法感兴趣资源文件。目前我正在使用AsyncTaskLoader从这些文件中读取和写入,并且想知道这对于本地文件是否合理,或者对于本地文件是否需要/推荐。在主线程上运行以访问本地文件是否可以,或者我可以使用除AsyncTaskLoader以外的其他类吗?

我的主要问题是,在实现AsyncTaskLoader之后,我看到了一些性能问题并且对整个开发来说还是一个新手,我怀疑我没有以有效的方式实现这个相当复杂的类。如果我可以一起避免它或者用一个不太复杂的类来代替类似的结果,我想我会被设定。在此先感谢您的反馈,如果有一些代码片段有助于澄清问题,请告诉我。

2 个答案:

答案 0 :(得分:0)

在搜索了一下并尝试了一些不同的东西之后,我发现实现SQLLight数据库和Cursor Loader比尝试将字符串序列化和反序列化为JSON更快,反之亦然。此外,当所有设置完成后,实施起来要容易得多。

这个项目是如何实现这个https://github.com/udacity/ud845-Pets的一个很好的例子。

答案 1 :(得分:-1)

如果你的数据文件很大,可以读写,那么你需要使用一些ThreadAsyncTaskAsyncTask主要有三种方法用于Android UI的击球手表现。

用于存储数据,您可以将json字符串存储到SharedPreferences中。

见下面

的链接

AsyncTask

并且

SharedPreferences