Это мой первый раз, когда я использую модификацию, и я теряюсь в инструкциях. Я читал официальные руководства и немало других ответов и руководств, но у меня все еще есть проблемы. Похоже, что все они охватывают сложные сценарии, но не просто простую запись для одного поля.Дооснащение 2 простых почтовых кодировщика
Это детали того, что я пытаюсь сделать. Отправьте имя на сервер php:
Тип: application/x-www-form-urlencoded Имя полезной информации: напр. Имя = Джон% 20Smith
Я потратил довольно много времени, и есть основной, но я думаю, что мне не хватает Somthing:
Я работал, что мне нужен интерфейс, как это:
public interface ApiService {
@FormUrlEncoded
@POST("./")
Call<User> updateUser(@Field("Name") String name);
}
Тогда у меня есть модель для моего пользователя:
public class User {
@SerializedName("Name")
String name;
}
Тогда у меня модифицированную клиента:
класс RetroClient общественного {
private static final String ROOT_URL = "http://alarm.abc.ch/";
public static ApiService RETROFIT_CLIENT;
public static ApiService getInstance() {
//if REST_CLIENT is null then set-up again.
if (RETROFIT_CLIENT == null) {
setupRestClient();
}
return RETROFIT_CLIENT;
}
private static void setupRestClient() {
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(ROOT_URL)
.addConverterFactory(GsonConverterFactory.create())
.build();
RETROFIT_CLIENT = retrofit.create(ApiService.class);
}
}
и я называю это, как это в функции пост в моей основной деятельности:
public void post(){
mRetrofitCommonService = RetroClient.getInstance();
call = mRetrofitCommonService.updateUser("test");
call.enqueue(new Callback<User>() {
@Override
public void onResponse(Call<User> call, Response<User> response) {
System.out.println("responseee " + response);
}
@Override
public void onFailure(Call<User> call, Throwable t) {
System.out.println("eeee " + t);
}
});
И оттуда, что я полностью потерял. Я уверен, что это что-то маленькое, мне не хватает, но не знаю, что.
Заранее за вашу помощь.
EDIT: код был изменен, чтобы отразить мою текущую попытку. Это дает мне следующее сообщение об ошибке:
MalformedJsonException: Use JsonReader.setLenient(true) to accept malformed JSON at line 1 column 2 path
где и как вы это называете? – Blackbelt
У вас нет конкретной конечной точки, которую нужно позвонить или вы пытаетесь отправить имя непосредственно на test.com? Кроме того, вы действительно не говорите нам, что происходит не так. –
Нет, это точно так же, как http://test.abc.ph –