我已经在两部 Android 手机之间实现了套接字连接。本地电话需要更新一些视图元素,因为我想在自制地图上显示位置。
Android 编程指南不允许从我的活动之外更改视图元素。这意味着我不能调用这样的方法:
mainActivity.updateView(positionX);
因为我会在网络线程中运行它。那么官方的做法是什么呢?我知道有runOnUIThread但乍一看似乎是一个快速修复。
或者我应该需要一个 AsyncTask 吗?但是 API 说对于较长的任务不可行,我需要线程一直在后台运行(并且经常获取更新)。
那么创建一个新的 Handler/AsyncTask 来简单地在 MainActivity 的其他地方设置一个小图标不是一件大事吗?毕竟,我假设每秒甚至可能有 50 次更改。
希望这里有人知道正确的方法。谢谢!
PS 好的,所以请允许我问一下,是否至少有一个选项可以覆盖诸如 onDraw 方法之类的东西。毕竟,这听起来像是最好的主意,因为总是创建新线程似乎有点矫枉过正。所以我想告诉“redraw()”方法来获取我在网络线程中存储(同步)的信息。所以我不需要任何进一步的线程。有人知道吗?谢谢!