Невозможно отобразить данные с помощью модифицированной библиотеки - PullRequest
0 голосов
/ 31 августа 2018

Я новичок в модернизации, моя цель - отобразить данные из URL с помощью библиотеки модернизации.

Мои данные Json:

`{
  "RestResponse": {
    "messages": [
      "Total [249] records found."
    ],
    "result": [
      {
        "name": "Afghanistan",
        "alpha2_code": "AF",
        "alpha3_code": "AFG"
      },
      {
        "name": "��land Islands",
        "alpha2_code": "AX",
        "alpha3_code": "ALA"
      },
      {
        "name": "Albania",
        "alpha2_code": "AL",
        "alpha3_code": "ALB"
      },
      {
        "name": "Algeria",
        "alpha2_code": "DZ",
        "alpha3_code": "DZA"
      },`

Я хотел бы отобразить названия стран в LogCat, и вот классы Pojo, преобразованные в gson

public class RestResponse {

    @SerializedName("messages")
    @Expose
    private List<String> messages = null;
    @SerializedName("result")
    @Expose
    private List<Result> result = null;

    public List<String> getMessages() {
        return messages;
    }

    public void setMessages(List<String> messages) {
        this.messages = messages;
    }

    public List<Result> getResult() {
        return result;
    }

    public void setResult(List<Result> result) {
        this.result = result;
    }
}

Второй результат. Java:

public class Result {

    @SerializedName("name")
    @Expose
    private String name;
    @SerializedName("alpha2_code")
    @Expose
    private String alpha2Code;
    @SerializedName("alpha3_code")
    @Expose
    private String alpha3Code;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getAlpha2Code() {
        return alpha2Code;
    }

    public void setAlpha2Code(String alpha2Code) {
        this.alpha2Code = alpha2Code;
    }

    public String getAlpha3Code() {
        return alpha3Code;
    }

    public void setAlpha3Code(String alpha3Code) {
        this.alpha3Code = alpha3Code;
    }

}

и, наконец, Movies.java //Example.java, сгенерированный конвертером Gson:

public class Movies {

    @SerializedName("RestResponse")
    @Expose
    private RestResponse restResponse;

    public RestResponse getRestResponse() {
        return restResponse;
    }

    public void setRestResponse(RestResponse restResponse) {
        this.restResponse = restResponse;
    }
}

Из вышеперечисленных классов я пытаюсь получить данные. Мой RetrofitInstance:

    public class RetrofitInstance {

     private static Retrofit retrofit = null;
        private static String BASE_URL = "http://services.groupkt.com/";
        public static ApiEndpoints getCombine() {
            if (retrofit == null) {

                retrofit = new Retrofit
                        .Builder()
                        .baseUrl(BASE_URL)
                        .addConverterFactory(GsonConverterFactory.create())
                        .build();
            }
           return retrofit.create(ApiEndpoints.class);
        }
    } 

Интерфейс конечных точек:

public interface ApiEndpoints {

    @GET("country/get/all")
    Call<Movies> getResults();
}

и In MainActivity используется следующее:

        ApiEndpoints getCountryDataService= RetrofitInstance.getCombine();
        Call<Movies> call=getCountryDataService.getResults();
        call.enqueue(new Callback<Movies>() {
            @Override
            public void onResponse(Call<Movies> call, Response<Movies> response) {
                Movies info=response.body();
                if(info !=null && info.getRestResponse() != null){
                    results=(ArrayList<Result>) info.getRestResponse().getResult();
                    for(Result r:results){

                        Log.i("testing123","*********************************"+   r.getName());

                    } 
                } 
            }
            @Override
            public void onFailure(Call<Movies> call, Throwable t) {
                Log.i("Error",t.fillInStackTrace()+"s");
                t.fillInStackTrace(); 
            }
        }); 

Наконец, я не могу распечатать страны в журнале. Я получаю следующую ошибку, как java.net.UnknownServiceException: CLEARTEXT communication to services.groupkt.com not permitted by network security policys и я новичок в концепции модернизации.

Пожалуйста, помогите Заранее спасибо.

1 Ответ

0 голосов
/ 01 сентября 2018

Я решил свою проблему, уменьшив версию Gradle с

classpath 'com.android.tools.build:gradle:3.1.4'

до

classpath 'com.android.tools.build:gradle:3.1.2'

...