gpt4 book ai didi

Java Micro Edition - 使用线程和委托(delegate)进行 HTTP 发送/接收(如何更新 UI)

转载 作者:行者123 更新时间:2023-11-30 05:12:51 24 4
gpt4 key购买 nike

我正在制作一个购物 list 应用程序,它基本上将您的购物 list 上传到 php 文件,并下载其他人对该列表所做的所有更新。

我正在使用带有记录枚举和项目对象的记录存储

基本上我希望能够使用线程将记录存储中的所有元素发送到 php 文件。麻烦来了,我需要将记录存储传递给线程吗?以及如何取回数据并更新记录存储?

目前我无法看到我的发送数据类将如何更新主 midlet 的记录存储。

提前致谢

edi

public GetDataClass(Midlet parentMidlet, String URL, RecordStore tempRecordStore)
{
try
{
populateLocalRecordStore(tempRecordStore);
this.parentMidlet = parentMidlet;
this.URL = URL;
}
catch(Exception e)
{
System.out.println(e.toString());
}
}

填充记录存储获取已传递的记录存储并逐字循环遍历所有记录并将它们插入到本地 rs 中。问题来自于当我想将数据传递回主表单/记录存储时

编辑

如何从线程内更新主表单中的记录存储(从http请求返回的内容)

最佳答案

如果我理解正确(如果我理解错了,请告诉我),您想知道如何从应该更新 UI 的后台线程获取返回值?您用来填充本地记录存储的线程。

所以,如果你的 GetDataClass 是 Runnable (用 new Thread(runnable) 创建的),你可以做类似的事情:

public class GetDataClass implements Runnable {
private Midlet parentMidlet;
private String URL;
private RecordStore tempRecordStore;

public GetDataClass(Midlet parentMidlet, String URL, RecordStore tempRecordStore) {
this.parentMidlet = parentMidlet;
this.URL = URL;
this.tempRecordStore = tempRecordStore;
}

public void run() {
try {
returnData = populateLocalRecordStore(tempRecordStore);
parentMidlet.updateForm(returnData);
} catch(Exception e) {
// log and do exception handling
}
}

关于Java Micro Edition - 使用线程和委托(delegate)进行 HTTP 发送/接收(如何更新 UI),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2745375/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com