Örnek Android Virgil Dobjanschi uygulayan İstemci proje uygulama desen DİNLENME DİNLENME ihtiyacı
Bir android telefon üzerinde bir DİNLENME İstemci kurmak istiyorum.
GERİSİ server, çeşitli kaynakları, (örneğin) gösterir
http://foo.bar/customer List of all customer
http://foo.bar/customer/4711 The customer with id 4711
http://foo.bar/customer/vip List of all VIP customer
http://foo.bar/company List of all companys
http://foo.bar/company/4711 The company with the ID 4711
http://foo.bar/company/vip List of all VIP companys
Ben (sanırım) geri KALANI için sunucu nasıl konuşacağımı biliyorum Ve istediğim bilgiyi bulursun. DİNLENMEK bu gibi bir API ile İstemci sınıfı uygulamak istiyorum
public List<Customer> getCustomers();
public Customer getCustomer(final String id);
public List<Customer> getVipCustomer();
public List<Company> getCompanies();
public Customer getCompany(final String id);
public List<Customer> getVipCompanies();
Sunum "" Virgil Dobjanschi isteği Aktivite iş Parçacığı geri kalanını işlemek için iyi bir fikir olduğunu öğrendim. Developing Android REST client applications sevk Bunun yerine Service API kullanmak gerekir.
(Yerel) Hizmetine bağlayan Tek bir ServiceHelper fikri gibi değil, Hizmet anlayışı doğru anlamadım korkarım.
Şimdilik DİNLEN arama sonuç (asynchrounous Hizmeti yapılan) arayan Etkinliği haber vermek için nasıl anlamıyorum. Ben de eğer tüm KALAN istekleri (farklı dönüş türleri ile) işleyen BİR Hizmete ihtiyacım olursa ya da her DİNLENMEK için özel bir hizmet talep ihtiyacım var merak ediyorum.
Muhtemelen benim için en iyi şey olacaktır bu yüzden diğer pek çok anlama sorunları varörnek uygulamabenim ihtiyaçlarını karşılar. Kullanın benim davam değil, sıradışı ve örnek bir uygulama yoktur umarım.
Bana bildirin lütfen!
Doğru uygulama bu yönde beni işaret eden başka bir öneriniz da faydalıdır (Android API-Demo kullanın benim durumumda eşleşmiyor).
Şimdiden teşekkürler.
Klaus
EDİTBenzer Konular lazım yönde bana yol YANİ (bunu yazdıktan sonra) bulundu (karmaşık minimize"") Dobjanschi desen:
CEVAP
Genel bakış
Düzenleme:
Herkes ilgi de daha iyi bir görünüm vermek olabilir bu RESTful android bir göz alarak bu konuda düşünün.
Ne öğrendim deneyimi üzerinde çalışıyor uygulamak için Dobjanschi Model, her şey yazılı taş ve o sadece sende bakış ne bu diye değişti app app ama formül şöyledir:
Bu fikirler kendi Eklemek = Mutlu Uygulama Android izleyin
Apps çalıştığım başka C2DM, bu bir kullanabileceği SyncAdapter için Hesap gerek olmayabilir gereksinimi değişebilir bazı modeli son zamanlarda birileri yardımcı olabilir:
Hesap ve AccountManager olan bir uygulama
Senkronize veri için SyncAdapter kullanmak için izin verir. Bu Create your own SyncAdapter üzerinde tartışıldı
ContentProvider eğer sizin ihtiyaçlarınıza uygun olup olmadığını () oluşturun
Bu soyutlama bir başına bir SONUNA Eşleme yöntemi Arch sadece veritabanına erişmek için izin verir, ancak olduğu gibi ServiceHelper DİNLENME görüşmeleri yürütmek için de geçerli.
İçerik Sağlayıcı | DİNLENME Yöntemi
----------------^ sorgu. OLSUN
Ekle ---------------->KOYUN
----------------^ güncelleme. POST
----------------^ sil. SİL
ServiceHelper Katman
Bu adam temel ContentProvider dan geçirilen parametreleri ile (mutlaka protokolü ama en yaygın) Http KALAN bir yöntemi uygulamak(a) hizmet(ler) başlayacak. Erişmek için ne olduğunu biliyorum yani içerik Sağlayıcı, UriMatcher kazanılmış olduğu maç tamsayı geçtim, yani
class ServiceHelper{
public static void execute(Context context,int match,String parameters){
//find the service resource (/path/to/remote/service with the match
//start service with parameters
}
}
Hizmeti
Bu parametreler Yardımcısı geçti ile RESTMethod gider (İntentService çoğu zaman kullanıyorum) infaz ediliyor ve ne iyi gelir? iyi Hizmet unutmayın planda bu işleri iyi.
Ayrıca yine bu Yayın ve yeniden sorgulamak kayıtlı olduğu hizmet iş benim Etkinlik bildirmek ile yapıldığında yani bir BroadCastReceiver uygulamak. Bu son adım Virgill Konferans değil, ama gitmek için iyi bir yol olduğundan eminim.
RESTMethod sınıf
Gereken parametreleri, WS kaynak(http://myservice.com/service/path) parametreleri,her şey hazır, arama yürütmek ve yanıt Kaydet ekler.
Eğer authtoken bu AccountManager talep edebilirsiniz gerekiyorsa Eğer servis çağırmadan kimlik doğrulama başarısız oldu, çünkü, authtoken geçersiz kılmak ve yeni bir jeton almak reauth.
Nihayet RESTMethod bana da bir XML veya JSON işlemci eşleştirici dayalı oluşturmak anlamazsınız ve yanıt geçirir.
İşlemci
Yanıt ayrıştırma tahsil ve yerel olarak Ekle.
Örnek Bir Uygulama? Elbette.
Ayrıca eğer ilginç bir test uygulaması bak Eli-G, olmayabilir en iyi örnek, ama onu takip Hizmeti DİNLENME yaklaşım, dahili ServiceHelper, İşlemci, ContentProvider, Loader ve Yayın.
DİNLENME istemci, Örnek Android?...
Ayrı DİNLENME JSON API sunucu ve istem...
Girdi olarak parametre değerleri liste...
Bina Android örnek Karınca kullanarak ...
DİNLENME vs POST KOY...