Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 下载和解析JSON文件以按需更新ArrayAdapters_Java_Android_Json_Multithreading_Listview - Fatal编程技术网

Java 下载和解析JSON文件以按需更新ArrayAdapters

Java 下载和解析JSON文件以按需更新ArrayAdapters,java,android,json,multithreading,listview,Java,Android,Json,Multithreading,Listview,我设置了一个应用程序,比如说,三个不同片段中有三个列表视图 现在,服务器提供了3个JSON文件,其中包含信息,每个ListView一个,我必须将其解析为对象或对象列表,并使用它们实例化我的自定义ArrayAdapter以显示列表视图上的信息 问题在于下载和解析是应该在GUI线程之外进行的操作。 因此,我正在寻找一种最有效的方法来按需更新这些列表视图(当片段膨胀或恢复时等) 我已经尝试过使用IntentService下载所需的json文件,然后使用ResponseHandler和Intents将下

我设置了一个应用程序,比如说,三个不同片段中有三个列表视图

现在,服务器提供了3个JSON文件,其中包含信息,每个ListView一个,我必须将其解析为对象或对象列表,并使用它们实例化我的自定义ArrayAdapter以显示列表视图上的信息

问题在于下载和解析是应该在GUI线程之外进行的操作。 因此,我正在寻找一种最有效的方法来按需更新这些列表视图(当片段膨胀或恢复时等)

我已经尝试过使用IntentService下载所需的json文件,然后使用ResponseHandler和Intents将下载的缓冲区发送到GUI线程,然后将其传递给负责将缓冲区解析为对象并填充视图的管理器类。为此,我必须保留视图和ArrayAdapter作为该类的属性,并提供按需更新方法

现在我的问题是:

1) 是否可以让服务下载JSON文件,将它们解析为集合,并以某种方式将ArrayList对象发送到GUI线程

2) 如果我必须保留适配器并在GUI线程中更新它们,那么让管理器类轻松地保留和更新ListView及其ArrayAdapter最有效(也许也是最优雅的方式)的方法是什么?(每次更新信息时,我必须获得ArrayAdapter的新实例,还是只能更新内部ArrayList?)

我想我不会包含任何代码,因为这是关于项目结构和做事情的首选方法。如果某些部分需要,尽管我可以在以后编辑问题