用于在Android中编码许多HTTP请求的良好设计模式

Dix*_*ine 5 java android design-patterns http

在我的应用程序中,我有很多GET,POST,PUT请求.现在,我有一个单例类,它保存我下载的数据,并有许多扩展AsyncTask的内部类.在我的单例类中,我还有一些这样的接口:

/**
* Handlers for notifying listeners when data is downloaded
* 
*/
public interface OnQuestionsLoadedListener {

    public void onDataLoadComplete();

    public void onDataLoadingError();       
}
Run Code Online (Sandbox Code Playgroud)

这种模式有什么问题(许多扩展AsyncTask的内部类)?对于每个HTTP调用可能只有1个内部类(1个用于GET,1个用于POST,......),它可以更有效地完成吗?如果是这样,如何在GET请求后决定做什么?

小智 0

在最近开发的应用程序中,我遵循了类似的方案,但另外还实现了一个 WebRequest 类来执行实际的 GET、POST、PUT 等操作。

我现在拥有的是一个“Connector”类,其中有很多 AsyncTask 子类。然而,在我的实现中,我让它们接受一个 Callback 对象,每个子类都将 Http 结果传递给该对象。

我认为这是一种有效的方式,尽管可能不是理想的方式。

我想象的改进可能是,如果我只有一个 Asynctask 子类,我可以将请求正文(现在是在这些不同的任务中构建)、请求 url 和方法以及回调(即,在我看来,这是获得结果的相当好的方法)。