2012-04-30 55 views
2

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

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

我们正在尝试在屏幕上没有任何视觉效果的情况下进行操作,就像系统服务可以工作一样。现在我试图将我们的系统作为一种服务来实现,但是我在线程和Android上遇到了麻烦,导致我的服务中断。

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

的要求是:

  1. 我的VoiceXML解释得到由一个应用程序意图解雇了(意图过滤器是如何I'm有它现在)
  2. 它临危从应用程序的文件。此外,该应用可以阻止我的口译员,或至少停止对该文件的解释。
  3. 解释器与TTS交互并创建语音识别器引擎。
  4. 解释器本身是一个Java线程,必须从服务,加载器或asyncTask启动。
  5. 只有一个应用程序可以利用我的翻译(无需并行连接)的

请让我知道如果需要更多的信息来理解这个问题。

在此先感谢,

马科斯。

回答

1

如果大部分工作已经在另一个线程中完成,我没有看到需要一个AsyncTask。只需使用您的服务中的翻译。无论您想在没有用户界面的情况下提供某种服务,都需要服务。

+0

非常感谢您的回答。我正在使用一个服务,但是它被一个ANR杀死了,因为这个解释器需要很长时间......我会用一个更具体的问题来打开另一个问题。谢谢! – Marakatu