Форум программистов, компьютерный форум 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 добавить "понимание" ключа <back color=#FFFF00>pa</back>
Android Не удается прочитать текстовый файл который создан из приложения http://www.cyberforum.ru/android-dev/thread1809320.html
Задача открывать из написаного мною приложения тектовые файлы которые не созданы этим приложением! Я сейчас пришу приложение и для обработки входных данных нужно выбирать файлы которые записываются на планшет после чего содержимое этих текстовых файлов должно быть обработано и прописано в Базы данных Sqlite! я создал все единственное что не получается это прочитать текстовый фай который не создан...
Android Не получается отобразить координаты Здравствуйте. Хочу просто отобразить координаты через genymotion. Но при компиляции выдаёт ошибку 09-15 16:58:42.092 8114-8114/com.aa.app138new E/AndroidRuntime: FATAL EXCEPTION: main java.lang.RuntimeException: Unable to resume activity {com.aa.app138new/com.aa.app138new.MainActivity}: java.lang.IllegalArgumentException:... подробнее

Показать сообщение отдельно
fraley
90 / 90 / 31
Регистрация: 24.05.2015
Сообщений: 252
18.09.2016, 21:07     Retrofit 2. Возвращаемое значение == null
Цитата Сообщение от 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;
    }
 
}
 
Текущее время: 18:04. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru