现在每当我的项目在后端有一个网络服务时。我习惯于用这种结构/模式创建我的项目。
项目
- HttpMethods 包
- HttpGetThread
- HttpPostThread
- HttpMultipartPostThread
- HttpGetThread
- 接口包
- IPostResponse
我在这些 JAVA 文件中编写的代码是,
IPostResponse.java
public interface IPostResponse {
public void getResponse(String response);
}
HttpGetThread.java
public class HttpGetThread extends Thread {
private String url;
private final int HTTP_OK = 200;
private IPostResponse ipostObj;
public HttpGetThread(String url, IPostResponse ipostObj) {
this.url = url;
this.ipostObj = ipostObj;
}
public void run() {
try {
HttpClient httpClient = new DefaultHttpClient();
HttpGet httpGet = new HttpGet(url);
HttpResponse httpResponse = httpClient.execute(httpGet);
int responseCode = httpResponse.getStatusLine().getStatusCode();
if (responseCode == HTTP_OK) {
InputStream inputStream = httpResponse.getEntity().getContent();
int bufferCount = 0;
StringBuffer buffer = new StringBuffer();
while ((bufferCount = inputStream.read()) != -1) {
buffer.append((char) bufferCount);
}
ipostObj.getResponse(buffer.toString());
}
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
通过扩展并拥有一个构造函数和一个 run 方法,在类HttpPost
和类中的方式相同。HttpMultipartPost
Thread
然后,
我实现了一个活动的接口,并将该主要活动扩展到所有其他活动,并通过创建带有参数和调用的 Http 类的对象来获得响应和调用obj.start();
我仍然认为:我缺乏很多东西或者这个结构很差。
我需要知道,对于要在大多数活动中实现 Web 服务调用并具有代码可重用性的 Android 应用程序,我应该遵循哪种模式/结构?
我刚刚看到 Facebook 如何进行网络服务调用,例如登录/注销它有登录和注销侦听器。
是否有任何博客/文章/答案有据可查?请问,任何用户都可以分享他/她的出色经验和解决方案吗?
我更感兴趣的是“我的类和接口应该是什么样子,应该有什么样的方法? ”