我遇到了这个问题,我似乎无法找到解决办法。
我正在为Honeycomb平板电脑开发Android应用程序,它需要连接到互联网,下载一些数据,然后在完成后更新UI。然而,问题是我需要连续多次执行此操作。我现在的问题是我在一个带有Handler的新线程上使用Runnable,当网络调用完成后,它会更新UI。
我的大问题是我无法确定数据是否已实际下载到设备中。我所知道的是,网络呼叫已经完成,就是这样。我无法确定是否已下载任何内容。
在我的案例中,最大的问题在于您无法在Honeycomb中使用主线程进行网络操作。如果我一直在使用主线程,
我真的很喜欢这方面的一些帮助。感谢。
更新 我会尝试更好地解释一切:
我创建了一个类,它使网络调用在一个单独的线程中,并且该类还包含一些从这些网络调用返回各种数据的方法。但是,网络呼叫的长度可能会有所不同 - 取决于用户的网络速度 - 因此,如果我调用其中一种方法,即getTitle(),我无法确定网络呼叫是否已完成。
我需要做一些事情: ' - 创建类的新实例(这可以在新线程中下载) - 确保下载已完成,以便我可以使用它中的数据 - 更新进度条'
这基本上就是我需要做的事情。希望它有所帮助。感谢
答案 0 :(得分:1)
我所知道的是网络呼叫已经完成,就是这样。我无法确定是否已下载任何内容。
这对我来说没有意义。所以你正在进行网络通话,你得到了回应吗?你在存储数据吗?
你真的不应该使用主线程进行网络连接,你是否希望用户在这些网络呼叫发生时完全瘫痪?
例如,如果您使用AsyncTask,则在您的通话完成后会调用onPostExecute(Object object)
,您可以使用该链接以菊花链方式连接这些网络电话......