Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Retrofit 2. Возвращаемое значение == null - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Как сделать, чтобы при обновлении приложения в Google Play сохранялись пользовательские настройки и данные http://www.cyberforum.ru/android-dev/thread1809355.html
Как сделать, чтобы при обновлении приложения в Google Play сохранялись пользовательские настройки и данные
Программирование Android Выбрать карты для программы Для отображения текущего положения (GPS) и отображения пары точек (маркеры) нужны карты. Бесплатные и простые. На какие обратить внимание? http://www.cyberforum.ru/android-dev/thread1809352.html
Программирование Android Работа программы после блокировки экрана
Программа с помощью tts переодически произносит время , но если поставить телефон на блокировку то tts перестает работать и наступает тишина. Как можно сделать так чтобы программа продолжала работать...
Парсить строку по маске Программирование Android
Гуру, подскажите инструмент! Есть строка вида "фыва<asdf123>"йцук Надо получить 1) начало строки "<asdf" 2) начало строки йцук 3) значение 123 пытаюсь в Html.fromHtml добавить "понимание"...
Программирование Android Не удается прочитать текстовый файл который создан из приложения http://www.cyberforum.ru/android-dev/thread1809320.html
Задача открывать из написаного мною приложения тектовые файлы которые не созданы этим приложением! Я сейчас пришу приложение и для обработки входных данных нужно выбирать файлы которые записываются...
Программирование Android Не получается отобразить координаты Здравствуйте. Хочу просто отобразить координаты через genymotion. Но при компиляции выдаёт ошибку 09-15 16:58:42.092 8114-8114/com.aa.app138new E/AndroidRuntime: FATAL EXCEPTION: main ... подробнее

Показать сообщение отдельно
fraley
106 / 106 / 40
Регистрация: 24.05.2015
Сообщений: 322
18.09.2016, 21:07
Цитата Сообщение от Rom96 Посмотреть сообщение
Пробовал через errorBody, приложение крашится.
Модель у вас не правильная.

Должно быть примерно так:

MainActivity

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
public class MainActivity extends AppCompatActivity {
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        ApiInterface vkService= ApiInterface.retrofit.create(ApiInterface.class);
        Call<ProfileInfo> call=vkService.getProfileInfo("210700286","5.53");
 
        call.enqueue(new Callback<ProfileInfo>() {
            @Override
            public void onResponse(Call<ProfileInfo> call, retrofit2.Response<ProfileInfo> response) {
                ArrayList<Response> userArray=response.body().getResponse();
                for(Response user:userArray){
                    Toast.makeText(MainActivity.this, "First Name: "+user.getFirstName()+"\n" +
                            "Last Name: "+user.getLastName()+"\n"+"ID: "+user.getId(), Toast.LENGTH_SHORT).show();
                }
 
            }
 
            @Override
            public void onFailure(Call<ProfileInfo> call, Throwable t) {
                Toast.makeText(MainActivity.this, ""+t, Toast.LENGTH_SHORT).show();
            }
        });
 
    }
}
Retrofit API
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
public interface ApiInterface {
 
    public static final String BASE_URL = "https://api.vk.com/method/";
 
    @GET("users.get?")
    Call<ProfileInfo> getProfileInfo(
            @Query("user_ids") String user_ids,
            @Query("v") String version
    );
    public static final Retrofit retrofit = new Retrofit.Builder()
            .baseUrl(BASE_URL)
            .addConverterFactory(GsonConverterFactory.create())
            .build();
}
И модель состоящая из двух класов:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
public class ProfileInfo {
    @SerializedName("response")
    private ArrayList<Response> response = new ArrayList<Response>();
    public ArrayList<Response> getResponse() {
        return response;
    }
    public void setResponse(ArrayList<Response> response) {
        this.response = response;
    }
 
}
 
public class Response {
 
    @SerializedName("id")
    private int id;
    @SerializedName("first_name")
    private String firstName;
    @SerializedName("last_name")
    private String lastName;
 
 
    public int getId() {
        return id;
    }
    public void setId(int id) {this.id = id;}
    public String getFirstName() {
        return firstName;
    }
    public void setFirstName(String firstName) {
        this.firstName = firstName;
    }
    public String getLastName() {
        return lastName;
    }
    public void setLastName(String lastName) {
        this.lastName = lastName;
    }
 
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru