SORU
9 ŞUBAT 2011, ÇARŞAMBA


Ö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
4 EKİM 2011, Salı


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.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Besnik Ibrahimi

    Besnik Ibrah

    27 Mart 2010
  • edwin maldonado

    edwin maldon

    28 Mart 2009
  • MrRandomSong

    MrRandomSong

    29 Kasım 2009