线程安卓疑惑

时间:2012-04-30 22:39:53

标签: android multithreading service android-asynctask loader

我正致力于从Java到Android的人机对话开源系统JVoiceXML的可移植性。该系统基于VoiceXML 2.0标准,该标准使用XML文档创建人与机器之间的交互。

这个想法是为Android提供一种方法来创建使用TTS和SpeechRecognizer安卓引擎通过语音与用户交互的应用程序。

我们正试图在屏幕上没有任何视觉效果的情况下这样做,就像系统服务一样。目前我已经尝试将我们的系统作为一项服务来实现,但是我遇到了线程和Android杀死我的服务的问题。

问题是,您认为哪种方法最适合我的项目,AsyncTask,服务,Loader?也许是启动AsyncTask或Loader的服务?

要求是:

  1. 我的VoiceXML Interpreter被应用程序Intent激活(意图过滤器就是我现在拥有它的方式)
  2. 它从应用程序收到一份文件。此外,该应用程序可以停止我的口译员,或至少停止解释该文件。
  3. 口译员与TTS交互并创建语音识别器引擎。
  4. 解释器本身是一个必须从服务,加载器或asyncTask启动的java线程。
  5. 只有一个应用程序可以使用我的口译员(不需要并行连接)
  6. 如果需要更多信息来理解问题,请告诉我。

    提前感谢,

    马科斯。

1 个答案:

答案 0 :(得分:1)

如果你的大部分工作已在另一个线程中完成,我认为不需要AsyncTask。只需使用您服务中的口译员即可。如果你想提供没有用户界面的东西,你将需要一个服务。