服务与活动之间的沟通如何进行?

问题描述:

我打开一个新的线程来谈谈我的问题:-),我与“服务”之间的通信“活动”服务与活动之间的沟通如何进行?

问题,我有: 我有一个下载的文件的FTP下载在后台作为服务!最后,我有一个时间X在一个变量。 此外,它还检查文件是否也完全加载,我通过简单的数据大小比较来完成。

所以我有一个时间0s“开始时间12:22:00 up as 20sec是“结束时间12:22:20 浏览次数和的下载大小变为5000KB。

这些值在服务中定义。

项目:

我想以图形或通过活动的GUI文本显示此。

这样的:

文件下载时间:X秒 X秒,将逐行扫描和动态显示。 1.秒,2秒...... 20秒

下载交通:X KB 5000 KB的

下载速率将被显示:0KB,250 KB,KB 500 ..... 5000 KB。

现在我的问题:

我怎么做,这些值传送服务的活动! 以及如何在“动态和自动”活动中显示。

我感谢大家的努力

通过sendBroadcast()与数据发送广播Intent,该活动与BroadcastReceiver回升。 Here is a sample project从我的一本书展示了这一点。

+0

具体而言,看WeatherPlusService.java的225线( “广播” 在顶部声明)和线WeatherPlus.java的113-117。请务必在您的Activity的onPause()和onResume()处理程序中注册和取消注册BroadcastReceiver。你可以在Intent的Bundle中添加你想传递的任何数据。这就是你需要做的。 – Andrew 2010-09-30 20:56:37

考虑让你想要没有服务,但与AsyncTask。 您可以使用AsyncTask的publishProgress(...)方法更新当前进度的UI。没有服务,没有广播接收器。

http://developer.android.com/reference/android/os/AsyncTask.html