Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Переустановить в андроид?

Автор вопроса: CommunityОтветов: 2

Я новичок в дооснащении. Как я могу отправить параметр и получить Json из приведенного ниже URL-адреса?

http://xxx:8087/courier.svc/login?username=jim&password=123456

Мне нужна ссылка на учебник.

Этот код находится в моем MainActivity :

private void loadJSON(String username, String password) {
    Retrofit retrofit = new Retrofit.Builder()
            .baseUrl("http://192.168.8.11:8087/sample.svc/")
            .addConverterFactory(GsonConverterFactory.create())
            .build();
    RequestInterface_Login request = retrofit.create(RequestInterface_Login.class);
    Call<JSONResponseLogin> call = request.getJSON(username, password);
    call.enqueue(new Callback<JSONResponseLogin>() {
        @Override
        public void onResponse(Call<JSONResponseLogin> call, Response<JSONResponseLogin> response) {

            JSONResponseLogin jsonResponse = response.body();
            data = new ArrayList<>(Arrays.asList(jsonResponse.getLogin()));
        }

        @Override
        public void onFailure(Call<JSONResponseLogin> call, Throwable t) {
            Log.d("Error", t.getMessage());
        }
    });
}

My ModelLogin :

public class ModelLogin {
    private String username;
    private String password;

    public String getUsername() {
        return username;
    }

    public String getPassword() {
        return password;
    }
}

My RequestInterface_Login :

public interface RequestInterface_Login {

    @GET("/login/{username}/{password}")
    Call<JSONResponseLogin> getJSON(@Path("username") String username, @Path("password") String password);
}

My JSONResponseLogin :

public class JSONResponseLogin {
    private ModelLogin[] login;

    public ModelLogin[] getLogin() {
        return login;
    }
}

Но поймай меня NullPointerException!

введите здесь описание изображения

Я получаю json от службы ниже:

{"Key":null,"Response":1}
  • Является ли обращение к API в виде поля или ответа JSON или его нужно вводить непосредственно в URL-адресе? kshitij jain 05.10.2016
  • Моя библиотека: скомпилировать 'com.squareup.retrofit2:retrofit:2.1.0' скомпилировать ('com.squareup.retrofit2:converter-gson:2.0.0-beta4') {исключить модуль: 'retrofit'} 05.10.2016
  • Я не говорю о дооснащении. Если бы вы могли поделиться фактической ссылкой API, я могу помочь вам с этим kshitij jain 05.10.2016
  • Взгляните на эту документацию. https://futurestud.io/tutorials/android-basic-authentication-with-retrofit И есть еще много простых примеров, как обрабатывать http-параметры Vall0n 05.10.2016
  • @kshitij Джейн . Я отредактировал свой вопрос. 05.10.2016
  • Привет, @JoJoRoid, пожалуйста, добавь свой журнал ошибок. Mayur Patel 05.10.2016

androidretrofitretrofit2

Ответы

Ответ 1 · рейтинг 2 · Rajesh Gauswami

Прежде чем вы вызовете модификацию, вы можете просто распечатать URL-адрес, а затем загрузить URL-адрес в браузер и посмотреть, какой ответ придет, вы можете добавить журнал в строку ниже перед call.enqueue(new Callback<JSONResponseLogin>()

Log.e(TAG, "API URL: " + call.request().url());

Проверьте свой ответ И дайте мне знать, я помогу вам ... потому что я использую модернизацию в своих 3 проектах.

Сделайте так ... в интерфейсе

 @GET("/courier.svc/login?)
 Call<JSONResponseLogin> getJSON(@Query("username") String username,
                                 @Query("password") String password);

и удалить его из базы .baseUrl("http://192.168.8.11:8087")

Ответ 2 · A-Droid Tech

Я пишу этот пост о "Модернизации в Android", используя нашу последнюю библиотеку Retrofit. Этот плагин можно использовать для интеграции модернизации в ваш проект. Прежде чем использовать reftrofit, нам просто нужно выполнить несколько шагов, чтобы добавить плагины QAssist в Android Studio, что уменьшит ваши усилия по интеграции веб-сервисов.

1. Добавьте (QAssist - Android Studio Plugin) Android-плагин в вашу Android-студию. ( https://github.com/sakkeerhussain/QAssist).:-

2. Когда мы закончим с плагином, нам нужно перезапустить нашу Android-студию.

3. Проверьте панель меню Android Studio. Вы можете найти "QAssist".

4.Нажмите на это и начните с модернизации интеграции.

5. Теперь нам нужно: - BaseUrl веб-API - все точки доступа API. - Образец запроса и ответ на все запросы. - После выполнения этих шагов ваш reftrofit (пакет QAssist/retrofit генерируется внутри проекта).

6. Вы можете найти класс и один интерфейс внутри этого пакета.

7. Интерфейс содержит все сведения о конечных точках, а класс будет содержать сведения о модифицированном соединении.

8. Нам просто нужно добавить небольшой код для доступа и API и анализа ответа API на модель данных. 9. Используйте этот образец функции для вызова API.

private void demoRetroFitCall() {
        APIService apiService = RetrofitManager.getInstance(this);
        //APIService apiService = RetroFitApiClient.getClient().create(APIService.class);
        Call<ModelData> call = apiService.TestGet();
        call.enqueue(new Callback<ModelData>() {
            @Override
            public void onResponse(Call<ModelData> call, Response<ModelData> response) {
                Log.d("TAG", "Data recived in response.body");
                }

            @Override
            public void onFailure(Call<ModelData> call, Throwable t) {
                Log.e("TAG", t.toString());
                }
        });
    }
56 - voda

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы