2017-06-16 2 views
1

das ist meine Web-Service für das Senden und einen String-Wert mit SchlüsselRetrofit Einzelwert/array

Urls.class

public class Urls { 
    public static final String MAIN_URL="example.com"; 
} 

API.class

public interface API { 

    @POST("user.php") 
    Call<MainResponse> registerUser(@Body User user); 

    @POST("user.php") 
    Call<MainResponse>loginUser(@Body User user); 

    @POST("contact.php") 
    Call<MainResponse>checkNumber(@Body Phone phone); 

} 

Empfang WebService.klasse

public class WebService { 
    private static WebService instance; 
    private API api; 

    public WebService() { 

     OkHttpClient client = new OkHttpClient.Builder().build(); 
     Retrofit retrofit = new Retrofit.Builder().client(client) 
       .addConverterFactory(GsonConverterFactory.create()) 
       .baseUrl(Urls.MAIN_URL) 
       .build(); 

     api = retrofit.create(API.class); 
    } 

    public static WebService getInstance() { 
     if (instance == null) { 
      instance = new WebService(); 
     } 
     return instance; 
    } 

    public API getApi() { 
     return api; 
    } 
} 

MainResponse.class

public class MainResponse { 
    @SerializedName("status") 
    public int status; 
    @SerializedName("message") 
    public String message; 
} 

Phone.class

public class Phone { 

    @SerializedName("phone") 
    public String phone; 
} 

MainActivity.class

  Phone phone=new Phone(); 
      phone.phone=contactsString[0]; 
      WebService.getInstance().getApi().checkNumber(phone).enqueue(new Callback<MainResponse>() { 
       @Override 
       public void onResponse(Call<MainResponse> call, Response<MainResponse> response) { 
        if (response.body().status==1){ 
         //do something 
        } 
       } 

       @Override 
       public void onFailure(Call<MainResponse> call, Throwable t) { 

       } 
      }); 

Meine Frage ist, wie diese bearbeiten ein Array mit Werten contactsString[] und erhalten

ein weiteres Array

Antwort

1

Ihr Service ist in einer Art und Weise sollten Sie Serverseite einzelne Anfrage zu erhalten und geben Sie zurück einzelne Antwort gefüllt senden Service, wenn Sie ändern der back-End-Entwickler des Dienstes ist, eine Liste der Anfrage zu erhalten und eine Liste des Ergebnisses

dies ist Ihr aktueller Service zurückgeben:

@POST("contact.php") 
Call<MainResponse>checkNumber(@Body Phone phone); 

Serverseite Entwickler soll Service für Sie ändern zu können, Sende ein Objekt wie dieses für Handys:

public class Phones { 

@SerializedName("phones") 
public List<String> phones; 
} 

und in Ihrer Antwort sollten Sie die Liste von Status und Meldungen mit Anfrage Telefone

Antwort wie diese:

public class MainResponse { 
public List<PhoneStatusResponse> phonesStatusList; 

} 

public class PhoneStatusResponse { 
    @SerializedName("status") 
    public int status; 
    @SerializedName("message") 
    public String message; 
    @SerializedName("phoneRequest") 
    public String phone; 

} 
+0

das ist, was für – RealDEV

+0

Ich bitte Sie ein Array senden möchten von Werten als Anfrage und bekomme das Ergebnis. habe ich recht? – Meikiem

+0

ja, das ist, was ich frage – RealDEV