2

我目前正在Android平台上开发一个需要多次联系主服务器来做各种事情的应用程序。我现在正在处理软件设计问题,即在单独的线程中向服务器发出每个请求(否则,我会收到NetworkOnMainThreadException,不建议这样做)。

所以我的例子中有 3 个类:

  • 比如说,请求者类希望用位于服务器中的数据库中的数据填充 Spinner。
  • 要求 DBConnection 执行新连接的中间类,然后等待它完成并将数据解析为适当的格式。
  • 与数据库建立连接并检索原始字符串的低级类,然后将其传递给中间类进行解析。

我知道,对于与服务器建立的每个连接,我都必须创建一个新线程,以便在建立连接的类(低级类)中创建一个新线程并等待结果。这样我就不会用 AsyncTasks 和他们不应该知道的东西使我的软件的顶层过载。

问题是,在我收到数据后,我必须解析它,并用它做一些事情。我还必须填满微调器(如示例中所示)。

我知道创建一个 DataFromServerListener 接口或类似的接口可能是个好主意,但我认为它会变得混乱,到处都是处理来自服务器的数据的方法。另一方面,我必须让每个顶级课程都使用 AsyncTask 启动单独的线程,这可能不是最好的解决方案。

我非常感谢有关此主题的任何建议。:D

4

2 回答 2

0
private class LongOperation extends AsyncTask<String, Void, String> {

    @Override
    protected String doInBackground(String... params) {

        return "Executed";
    }      

    @Override
    protected void onPostExecute(String result) {               
    }
}
于 2012-10-23T01:52:24.693 回答
0

这正是我所需要的。实际上,它解决了我以前没有解决的问题。 http://www.codeproject.com/Articles/162201/Painless-AsyncTask-and-ProgressDialog-Usage

于 2012-11-01T21:23:59.523 回答