Дооснащение и API, проблемы с импортом - PullRequest
0 голосов
/ 01 ноября 2019

Я использую Retrofit и API в Android Studio, но не знаю, где я ошибаюсь. Это мой API-код Java. Я получаю ошибки в значениях, закодированном URL-адресе формы и сообщении

<package com.example.coffeeshopapp.Retrofit;
import com.example.coffeeshopapp.Model.User;
import com.example.coffeeshopapp.Model.checkUserResponse;
 import retrofit2.http.FormUrlEncoded

public interface CoffeeShopAPI {
@FormUrlEncoded
@POST("checkuser.php")
Call<checkUserResponse> checkUserExists(@Field("phone")String phone);

@FormUrlEncoded
@POST("register.php")
Call<User> registerNewUser(@Field("phone")String phone,
                           @Field("name")String name,
                           @Field("address")String address,
                           @Field("birthdate")String birthdate);
}

Это мой код для модернизации. Ошибки на заводе по модернизации и преобразователю gson.

package com.example.coffeeshopapp.Retrofit;

import Retrofit;

public class RetrofitClient {

private static Retrofit retrofit = null;

public static Retrofit getClient(String baseUrl)
{
    if (retrofit == null)
    {
      retrofit = new Retrofit.Builder()
              .baseUrl(baseUrl)
              .addConverterFactory(GsonConverterFactory.create())
              .build();
    }
    return retrofit;
}
}

1 Ответ

0 голосов
/ 01 ноября 2019

Попробуйте, это может быть полезно для вас:

прежде всего добавьте зависимость в ваш файл build.gradle: -

implementation 'com.squareup.retrofit2:retrofit:2.6.2'
implementation 'com.squareup.retrofit2:converter-gson:2.6.2'

Класс интерфейса: -

@FormUrlEncoded
@POST("update-status")
Call<JsonObject> getUpdateStatus(@Field("token") String token, @Field("status") String status);

Вызов API: -

private void statusUpdateApi() {

    Retrofit retrofit = new Retrofit.Builder().baseUrl(Api.BASE_URL_LOGIN).addConverterFactory(GsonConverterFactory.create()).build();
    Api api = retrofit.create(Api.class);
    Call<JsonObject> jsonObjectCall = api.getUpdateStatus(UserSession.getKeepLogin(context).getuToken(), status);
    Log.e("macro", "asd" + status);
    jsonObjectCall.enqueue(new Callback<JsonObject>() {
        @Override
        public void onResponse(@NonNull Call<JsonObject> call, @NonNull Response<JsonObject> response) {
            Log.e("123", "456" + response);
            Log.e("123", "456-->" + response.body());

        }

        @Override
        public void onFailure(@NonNull Call<JsonObject> call, @NonNull Throwable t) {

        }
    });

}
...