我目前正在Android平台上开发一个需要多次联系主服务器来做各种事情的应用程序。我现在正在处理软件设计问题,即在单独的线程中向服务器发出每个请求(否则,我会收到NetworkOnMainThreadException,不建议这样做)。
所以我的例子中有 3 个类:
- 比如说,请求者类希望用位于服务器中的数据库中的数据填充 Spinner。
- 要求 DBConnection 执行新连接的中间类,然后等待它完成并将数据解析为适当的格式。
- 与数据库建立连接并检索原始字符串的低级类,然后将其传递给中间类进行解析。
我知道,对于与服务器建立的每个连接,我都必须创建一个新线程,以便在建立连接的类(低级类)中创建一个新线程并等待结果。这样我就不会用 AsyncTasks 和他们不应该知道的东西使我的软件的顶层过载。
问题是,在我收到数据后,我必须解析它,并用它做一些事情。我还必须填满微调器(如示例中所示)。
我知道创建一个 DataFromServerListener 接口或类似的接口可能是个好主意,但我认为它会变得混乱,到处都是处理来自服务器的数据的方法。另一方面,我必须让每个顶级课程都使用 AsyncTask 启动单独的线程,这可能不是最好的解决方案。
我非常感谢有关此主题的任何建议。:D