5

Android'i öğrenmeye başlayan bir iOS geliştiricisiyim. Swift'de, bir tamamlama işleyicisi oluşturmak çok basit, ancak yine de bunu Java'da yapmanın bir yolunu bulamıyorum.Bir HTTP İsteği Tamamlandıktan Sonra Nesneleri döndürmek için Özel Tamamlama/Geri Arama İşleyicisi Oluşturun

Bu soru StackOverflow kullanıcıları için çok noob ise özür dilerim.

Ben Sonradan montaj kullanılarak yapılır tüm HTTP isteği işlemek için bir sınıf oluşturma

Sorun.

Ben benim MainActivity

RequestHelper.checkEmailAvailability("[email protected]"); 

Şimdi fonksiyonu hala geçersizdir gelen böyle diyorlar ama sonra bir şeyler dönmek için ben istiyorum bu fonksiyon benim RequestHelper.java

public static void checkEmailAvailability(String email) { 
    MyWebServiceAPI serviceAPI = retrofit.create(MyWebServiceAPI.class); 

    Call<APIResults> call = serviceAPI.checkEmailAvailability(getAuthenticationHeader(), RequestBody.create(MediaType.parse("text/plain"), email)); 

    call.enqueue(new Callback<APIResults>() { 
     @Override 
     public void onResponse(retrofit.Response<APIResults> response, Retrofit retrofit) { 
       //Parse Response Json 
       //Get some value and place it inside an object 
      //ANDI WOULD LIKE RETURN SOME BOOLEAN VALUE AND SOME OTHER STRING 
     } 

     @Override 
     public void onFailure(Throwable t) { 
       //I WOULD LIKE A BOOLEAN VALUE HERE    
     } 
    }); 
} 

yapmak onResponse ve onFailure yönteminde.

Herhangi bir düşünce lütfen?

cevap

1

Callback nesnesini parametre olarak checkEmailAvailability()'a iletmelisiniz.

Ve siz MainActivity gelen yöntemini çağırın ve veri UI güncelleştirmek dönerken onXXX() yöntemde response parametresini kullandığınızda arabirimini uygular.

+0

Farklı bir Geri Arama (Özel) sahibi olmak isterim. Çünkü cevabı ayrıştıracağım. – JayVDiyk

+0

@JayVDiyk Aşağıdaki gibi bir şey yapabilirsiniz: public void checkEmailAvailability (Dize e-posta, son geri arama dinleyici) ve onResponse if (listener! = Null) { listener.success (uyarlama, yanıt); } onFailure if (listener! = Null) { listener.failure (t); – JoCuTo

+0

@JeCuRo Yanıtladığınız için teşekkür ederiz. Diyelimki. Geri aramada bir boolean değeri vermek istiyorum. Bunu yapmak için nasıl giderim? – JayVDiyk