0

我想要一个收集数据然后根据该数据生成图像的 Android 服务。我想从服务中在我的 UI 上绘制此图像,或者找到一种有效的方法将图像数据发送到我的 UI 并通知“立即绘制”。数据是实时的,更新速率约为每秒 8 张图像(256x256 像素)。因此,我需要一些相当有效的东西,并且很难找到最好的(甚至是好的)方法来做到这一点。

我是一个相当新的 Android 程序员,所以没有任何建议太侮辱人了!我的代码在我的演示 UI 中作为 AsyncTask 工作。我想把它变成一项服务,这样我就可以将它与多个 UI 一起使用,其中一些是我的同事将编写的。也许这是另一个问题,但可能有比服务更好的方法来做到这一点。我的基本问题是我想将我的“服务”分发给我的同事,而不是源代码,以供他们使用,以允许我的图像显示在他们的 UI 中。

我的“服务”不必更新多个 UI。一次只有一个活动会绑定到我的“服务”。不需要广播到多个活动。如果有更直接的方式来思考这个问题,我很高兴听到它。

谢谢

4

2 回答 2

0

我想从服务中在我的 UI 上绘制此图像,或者找到一种有效的方法将图像数据发送到我的 UI 并通知“立即绘制”。

你不能那样做——只有主线程可以改变 UI。我敢打赌,在你的 AsyncTask 演示中,你在 onPostExecute() 方法中绘制——尝试将你的代码移动到 doInBackground(),它不会工作。

我认为你能做的最好的事情是在你的服务中获取/获取图像,并使用广播/otto/无论它在 SD 卡上的某个地方并且可以使用它来通知你的消费者。不太确定它是否足够快以每秒通过 8 张图像......

于 2013-03-20T18:22:15.180 回答
0

我认为您可以将数据写入文件。将其存储在 SD 卡上。然后向您的朋友发送包含该文件数据的广播。这样你的朋友就没有源代码了。

于 2013-03-20T18:07:38.167 回答