Şu anda projem her zaman arka tarafta bir web servisine sahip. Projemi bu yapı/desen ile oluşturmaya alışkınım.Projede http web servis çağrılarını düzenlemek için android/java yapısı/modeli nedir?
Proje
- HttpMethods Paketi
- HttpGetThread
- HttpPostThread
- HttpMultipartPostThread
- HttpGetThread
- Arayüzler Paketi
- IPostResponse
ben vardır benim bu JAVA dosyalarında yazılı edilmiştir kodu
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();
}
}
}
Thread
'u genişleterek ve bir kurucuya ve bir çalışma yöntemine sahip olarak HttpPost
ve HttpMultipartPost
sınıflarında aynı şekilde. Bir etkinliğe arabirimini uygulamak ve diğer tüm etkinliklere ana faaliyeti genişletmek ve yanıt almak ve parametreleri ile HTTP sınıfların nesnesi oluşturarak arama yapmak ve arama
Sonra
, obj.start();
Hala buna inanıyorum: Çok fazla şeyim yok veya bu yapı çok zayıf. Ben kodu yeniden kullanılabilirliği ben takip etmeli Desen/Yapı Web Servis çoğunlukla tüm faaliyetlerde çağrıları uygulamak ve sahip olmak bir Android uygulaması için, bunu bilmek gerek
?Sadece Facebook'un web servisini nasıl yaptığını gördüm, örneğin Giriş/Çıkış için Giriş ve Çıkış dinleyicileri var.
Aynı şekilde iyi belgelenmiş herhangi bir blog/makale/cevap var mı? Lütfen, herhangi bir kullanıcı kendi mükemmel deneyimini ve çözümünü aynı şekilde paylaşabilir mi?
Ben
@CloseVoters http://stackoverflow.com/faq # soruları Anlamaya çalışırsanız, bu soru şu türden bir soru değildir: “______ için ______ kullanırım, ne kullanırsınız?”. Bu, sorunun global olarak nasıl çözüleceği ve tekrar kullanılabilir hale getirilmesi ile ilgilidir. Çözüm için en sağlam ve mükemmel olan yol. – MKJParekh
Benzer bir soruya yaklaşımımı sundum [here] (http://stackoverflow.com/a/8697827/570930). Bu soru RESTful müşteriler hakkındaydı - ama konsept aynı. – curioustechizen
Teşekkürler yakında yakında yakından bakacak. – MKJParekh