метод модификации вызова enqueue не работал - PullRequest
0 голосов
/ 16 июня 2020

Я недавно учился ретрофиту и видел видео с ютуба. Я скопировал все коды, которые видел в этом видео, но мой код вообще не работал. После запуска приложения в avd ничего не происходит. без ошибок, без исключений и без логов. Ты знаешь почему ??

это мой код

public class MainActivity extends AppCompatActivity {

TextView txtResult ;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    txtResult = findViewById(R.id.txtResult);
    Retrofit retrofit = new Retrofit.Builder()
            .baseUrl("http://jsonplaceholder.typicode.com/")
            .addConverterFactory(GsonConverterFactory.create())
            .build();
    JsonPlaceHolderApi jsonPlaceHolderApi = retrofit.create(JsonPlaceHolderApi.class);
    Call<List<Post>> call = jsonPlaceHolderApi.getPosts();

    call.enqueue(new Callback<List<Post>>() {
        @Override
        public void onResponse(Call<List<Post>> call, Response<List<Post>> response) {
            Log.e("MAIN ACTIVITY","AAA");

            if (!response.isSuccessful()){
                txtResult.setText("Code : " + response.code());
                return;
            }
            List<Post> posts = response.body();
            Log.e("MAIN ACTIVITY","BBB");

            for(Post item : posts){
                String content = "";
                content = content.concat("Id : " + item.getId());
                content = content.concat("User Id : " + item.getUserId());
                content = content.concat("Title : " + item.getTitle());
                content = content.concat("Text : " + item.getText());
                txtResult.append(content);
                Log.e("MAIN ACTIVITY","CCC");

            }

        }
        @Override
        public void onFailure(Call<List<Post>> call, Throwable t) {
            txtResult.setText(t.getMessage());
            Log.e("MAIN ACTIVITY","DDD");

        }
    });
}

}

public interface JsonPlaceHolderApi {

@GET("posts")
Call<List<Post>> getPosts();

}

Я использую 4 log.e в моем коде, но ни один из них не работает

Обновление

Думаю, это из-за того, что я пытался запустить android api 29. В android oreo все работает без проблем, но, видимо, в android 10 мы просто можем получить информацию с веб-сайта, имеющего сертификат ssl, в противном случае мы столкнемся с ошибкой конфигурации сетевой безопасности. Это правильно ?

...