将我的 JSON 数组从 android 线程返回到类

Posted

技术标签:

【中文标题】将我的 JSON 数组从 android 线程返回到类【英文标题】:Returning my JSON Array from android thread to class 【发布时间】:2019-08-11 09:36:54 【问题描述】:

好的,我会尽力解释这一点。

我创建了一个线程来从 JSON URL 生成一个 Arraylist。我想将此返回到我的主线程。我正在考虑使用全局数组,但显然这是不好的做法。

public class MainActivity extends AppCompatActivity 

@Override
protected void onCreate(Bundle savedInstanceState) 
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    LoadJson generate = new LoadJson();
    GenerateDataset.thread.start();

如您所见,我在我的类 Generate 中调用我的运行线程,它开始创建我的 Object Arraylist。我最好如何将此数据集返回到我的原始线程。

Thread thread = new Thread(new Runnable() 

    @Override
    public void run() 
        try 
            Arraylist<elements> temp = Start(); //<----- this list is what I want to return
         catch (Exception e) 
            e.printStackTrace();
        
    

【问题讨论】:

【参考方案1】:

您可以在线程可以访问的 GenerateDataset 类中保存MutableLiveData&lt;Arraylist&lt;elements&gt;&gt;

在您的 MainActivity 中观察 LiveData 并更新 UI。

about LiveData

【讨论】:

以上是关于将我的 JSON 数组从 android 线程返回到类的主要内容,如果未能解决你的问题,请参考以下文章

Android/Java 中的 JSON 数组迭代

在 Android 上通过 GSON 从嵌套 JSON 数组中获取价值? [复制]

如何通过Android将参数发布到PHP后检索json数组

如何将 json 属性添加到 Json.net 数组

如何在Android中将大型json数组拆分为页面

我无法将我的数组从我的控制器获取到 codeigniter 中的 ajax