Retrofit2 Post и Get Json массив данных с Hashmap - PullRequest
0 голосов
/ 08 апреля 2020

Я написал ниже код в Retrofit2 для публикации и получения данных на основе опубликованных данных. Он работает отлично, но иногда он делает некоторую задержку при отправке и получении, может hashmap сделать это несколько быстрее. как можно использовать хеш-карту для того же, чтобы публиковать и получать данные. Получение понятия не имею

Ниже мой APIInterface

@FormUrlEncoded // annotation used in POST type requests
@POST("/myhippo.php")
    // API's endpoints


Call<SignUpResponse> registration(@Field("umobile") String umobile,
                                        @Field("pickup_lat") String pickup_lat,
                                        @Field("pickup_lan") String pickup_lan,
                                        @Field("drp_lat") String drp_lat,
                                        @Field("drp_lan") String drp_lan,         
                                  );

А ниже я публикую данные и получаю ответ

Api.getClient().registration(umobile,pck_lat,pck_lan,drp_lat,drp_lan).enqueue(new Callback<SignUpResponse>() {

  @Override
  public void onResponse(Call<SignUpResponse> call, Response<SignUpResponse> response) {

    log.e(response.body().getUmobile());)
  }

А это мой SignUpResponse. java

private String pickup_lan;
private String drp_lat;
private String drp_lan;

public String getPickup_lat() {
    return pickup_lat;
}

public void setPickup_lat(String pickup_lat) {
    this.pickup_lat = pickup_lat;
}

public String getPickup_lan() {
    return pickup_lan;
}

public void setPickup_lan(String pickup_lan) {
    this.pickup_lan = pickup_lan;
}

public String getDrp_lat() {
    return drp_lat;
}

public void setDrp_lat(String drp_lat) {
    this.drp_lat = drp_lat;
}

public String getDrp_lan() {
    return drp_lan;
}

public void setDrp_lan(String drp_lan) {
    this.drp_lan = drp_lan;
}

А это мой Api

public class Api {

private static Retrofit retrofit = null;
public static ApiInterface2 getClient() {

    // change your base URL
    if (retrofit==null) {
        retrofit = new Retrofit.Builder()
                .baseUrl("http://baseurl.website/")
                .addConverterFactory(GsonConverterFactory.create())
                .build();
    }
    //Creating object for our interface
    ApiInterface api = retrofit.create(ApiInterface.class);
    return api; // return the APIInterface object
}

}

1 Ответ

0 голосов
/ 08 апреля 2020

Не думаю, что это может помочь увеличить скорость, но это способ отправки данных в виде карты

Call<SignUpResponse> registration(@FieldMap Map<String,String> map);

собирать данные, как это

Map<String, String> map = new HashMap<>();
    map.put("pickup_lat","8512397");
    .
    .
    .
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...