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

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Tankobratec
0 / 0 / 0
Регистрация: 03.12.2014
Сообщений: 72
#1

Библиотека Retrofit - Программирование Android

24.05.2016, 00:11. Просмотров 287. Ответов 2
Метки нет (Все метки)

Мне нужно освоить библиотеку Retrofit.Я нашол урок https://www.youtube.com/watch?v=c5HX_GoyaDs. Я постарался повторить и у меня возникли проблема, которую я частично решил за счет вывода в 2 поток. Но осталась еще одна проблема которая трердыт что ответ нулевой хотя при формирование такого-же запроса в бравзере все норально выводет, помогите виявить ошибку, или может бить у кого-то завалялся робочий вариант з этой библиотекой. Вот мой код
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
41
42
43
44
45
46
47
48
49
public class MainActivity extends AppCompatActivity {
    private EditText UserName;
    private EditText Password;
    private Button LoginButton;
    private final String URL="https://translate.yandex.ru";
    private final String KEY="trnsl.1.1.20160523T200113Z.65bf7f2805c145f0.8c340cc31c34b1563d6a24d7167215741828bf63";
    private Gson gson=new GsonBuilder().create();
    private Retrofit retrofit=new Retrofit.Builder()
            .addConverterFactory(GsonConverterFactory.create(gson))
            .baseUrl(URL)
            .build();
    private Link intf=retrofit.create(Link.class);
    Call<Object> call;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        UserName=(EditText) findViewById(R.id.UserName);
        Password=(EditText) findViewById(R.id.Password);
        LoginButton=(Button) findViewById(R.id.LoginButton);
        LoginButton.setOnClickListener(new View.OnClickListener(){
            @Override
            public void onClick(View v) {
 
                Thread thread = new Thread(new Runnable(){
                    @Override
                    public void run() {
                        try {
                            Map<String, String> mapJson = new HashMap<String, String>();
                            mapJson.put("key", KEY);
                            mapJson.put("text", "home");
                            mapJson.put("lang", "en-ru");
                            call = intf.translate(mapJson);
                            Response<Object> response = call.execute();
                            Map<String, String> map = gson.fromJson(response.body().toString(), Map.class);
                            for (Map.Entry e : map.entrySet()) {
                                System.out.print(e.getKey() + " " + e.getValue());
                            }
                        } catch (IOException e) {
                            e.printStackTrace();
                        }
                    }
                });
                thread.start();
          }
        });
    }
}
А вот ошибка
Кликните здесь для просмотра всего текста

05-23 16:53:33.875 15874-15953/ua.km.ukrainelike.vetclinika E/AndroidRuntime: FATAL EXCEPTION: Thread-176
Process: ua.km.ukrainelike.vetclinika, PID: 15874 java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.lang.Object.toString()' on a null object reference at ua.km.ukrainelike.vetclinika.MainActivity$1$1.run(MainActivity.java:59) at java.lang.Thread.run(Thread.java:818) 05-23 16:53:34.020 15874-15911/ua.km.ukrainelike.vetclinika E/Surface: getSlotFromBufferLocked: unknown buffer: 0xeb1a6130
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.05.2016, 00:11
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Библиотека Retrofit (Программирование Android):

Retrofit Recyclerview - Программирование Android
Здравствуйте, уважаемые форумчане. Помогите добавить onScroll в RecyclerView. Вот код public class MainActivity extends...

OPTIONS запросы в Retrofit - Программирование Android
Всем привет, никто не сталкивался с данным вопросом? Я нашел в репозитории ретрофита какое-то упоминание но я не знаю как его примернить...

Прокладывание маршрута и Retrofit - Программирование Android
Добрый день. Есть проблема с реализацией маршрутов в приложении. Суть проста: есть 2 точки, необходимо их соединить маршрутом. На основе...

Retrofit 2 post запрос - Программирование Android
Делал реализацию клиент-сервер, в андроид при помощи retrofit. и встретился с проблемой как реализовать POST запрос. ( GET запрос у меня...

Ошибка JSON в Retrofit - Программирование Android
Всем привет! Недавно начал изучение Retrofit как известной библиотеки для REST-запросов. Там всё сильно автоматизировано, например,...

Retrofit, JSON, @POST, @GET - Программирование Android
Уважаемые программисты, прошу вашей помощи! Хожу на курсы по разработке мобильных приложений, месяц, как хожу, мало еще что знаю, но...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MonStar
19 / 19 / 3
Регистрация: 10.04.2011
Сообщений: 225
25.05.2016, 12:14 #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
http://java-help.ru/retrofit-library/
Может эта ссылка поможет разобраться. Retrofit очень коварная штука, попробуйте использовать OkHttp просто.

Вот мой небольшой проект, написанный с использованием Retrofit 2
https://www.dropbox.com/s/xjaftcjg4w...droid.zip?dl=0
Tankobratec
0 / 0 / 0
Регистрация: 03.12.2014
Сообщений: 72
25.05.2016, 13:41  [ТС] #3
Спасибо большое, но я уже сам розобрался.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.05.2016, 13:41
Привет! Вот еще темы с ответами:

Retrofit 2. Возвращаемое значение == null - Программирование Android
Делаю небольшое приложение для VK. Решил использовать Retrofit 2. Набросал простенький запрос, но в ответ приходит код 200 и null. ...

Retrofit 2, POST запрос, авторизация - Программирование Android
Добрый день! На собеседовании (Junior Android Dev) мне дали задание написать приложение с авторизацией. Вот текст задачи: Все методы...

Относительные пути в аннотациях Retrofit - Программирование Android
@GET(&quot;/feeds/flowers.json&quot;) Так аннотируется Get запрос Retrofit, где /feeds/flowers.json путь к Json файлу уже на сервере. А почему в...

Извлечение модели ошибки retrofit + rx - Программирование Android
Работаю с Retrofit и RX. Через Gradle подключаю так: compile 'com.squareup.retrofit2:retrofit:2.0.0' compile...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru