gpt4 book ai didi

java - Android、异步、回调和 UI

转载 作者:太空宇宙 更新时间:2023-11-04 14:07:29 25 4
gpt4 key购买 nike

我在将这些东西组合成一个整体时遇到了一个棘手的问题。示例:我想获取用户位置并使用纬度和经度值更新 UI。因为我坚持 MVC 模式,所以我为此任务创建了一个单独的类(例如 LocationWorker)并按照本指南实现它: http://developer.android.com/training/location/retrie ..

问题:在本例中,onConnected 回调位于 LocationWorker 类中,无法与 UI 进行通信。我尝试在 MainActivity 类中实现 onConnected callBack(还添加 GoogleApiClient.ConnectionCallbacks 的实现),但出现错误(尝试在空对象引用上调用虚拟方法“methodName”)。看来回调在 Worker 实际完成所有工作之前执行(连接后获取用户位置,但 OnConnectedCallback 在连接后且在有时间获取任何数据之前被触发)。

无论如何,这对我来说是一个大问题,我应该使用什么才能拥有异步任务并能够在异步任务完成时更新 UI(并且不破坏 MVC)?

最佳答案

AsyncTask 中有一个 get() ,它将在请求完成时触发,并返回您在创建 AsyncTask 时指定的 RETURN TYPE。

eg : ImageGrabber extends AsyncTask<String, String, Bitmap>

这里返回类型是Bitmap

这是给您的示例,下面的字符串将包含响应。

String jsonResponse = new JSONHelper().execute("http://example.com").get();

关于java - Android、异步、回调和 UI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28703807/

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