android - 如何通过向我的服务器发送值来获得结果
问题描述
我使用 Web 服务向 Android 应用程序。我的目的是;我将一个值发送到我的服务器以获取 id"s 行的值。之后,我在我的活动中一一设置为我的 EditTexts。当用户使用用户名和密码输入我的应用程序时。我将他/她的 id 记录在SharedPreference。然后;我将我的活动传递给我发送的值(我记录的值。)。但我什么也没得到。我该如何解决?
我的日志猫异常:
com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 3 path $[0]
我的 RestApı 界面:
@FormUrlEncoded
@POST("/listeleme_düzenle.php") Call<List<result_düzen>> bilgileri_getir(@Field("id") String id);
我的 ManageAll 课程:
public Call<List<result_düzen>> listeleme_düzenle_id_göre(String id){
Call<List<result_düzen>> z = getRestApi().bilgileri_getir(id);
return z;
}
我的活动代码:
SharedPreferences settings = getSharedPreferences("PREFS_NAME", MODE_PRIVATE);
final String old = settings.getString("id" , null);
retrofit2.Call<List<result_düzen>>z = ManagerAll.getinstance().listeleme_düzenle_id_göre(old);
z.enqueue(new Callback<List<result_düzen>>() {
@Override
public void onResponse(Call<List<result_düzen>> call, Response<List<result_düzen>> response) {
Log.i(TAG, "Düzenle " + response.body().toString());
}
@Override
public void onFailure(Call<List<result_düzen>> call, Throwable t) {
Log.i(TAG, "Düzenle " + t.toString());
}
} );
result_düzen 类:
public class result_düzen {
private String sifre;
private String id;
private String isim ;
private String eposta ;
private String cinsiyet ;
private String telefon_number;
private String dogum_tarihi;
private String sehir;
private String ilce;
public String getSifre() {
return sifre;
}
public void setSifre(String sifre) {
this.sifre = sifre;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getIsim() {
return isim;
}
public void setIsim(String isim) {
this.isim = isim;
}
public String getEposta() {
return eposta;
}
public void setEposta(String eposta) {
this.eposta = eposta;
}
public String getCinsiyet() {
return cinsiyet;
}
public void setCinsiyet(String cinsiyet) {
this.cinsiyet = cinsiyet;
}
public String getTelefon_number() {
return telefon_number;
}
public void setTelefon_number(String telefon_number) {
this.telefon_number = telefon_number;
}
public String getDogum_tarihi() {
return dogum_tarihi;
}
public void setDogum_tarihi(String dogum_tarihi) {
this.dogum_tarihi = dogum_tarihi;
}
public String getSehir() {
return sehir;
}
public void setSehir(String sehir) {
this.sehir = sehir;
}
public String getIlce() {
return ilce;
}
public void setIlce(String ilce) {
this.ilce = ilce;
}
@Override
public String toString() {
return "result_düzen{" +
"sifre='" + sifre + '\'' +
", id='" + id + '\'' +
", isim='" + isim + '\'' +
", eposta='" + eposta + '\'' +
", cinsiyet='" + cinsiyet + '\'' +
", telefon_number='" + telefon_number + '\'' +
", dogum_tarihi='" + dogum_tarihi + '\'' +
", sehir='" + sehir + '\'' +
", ilce='" + ilce + '\'' +
'}';
}
}
php json 输出:
null .
我的PHP代码:
<?php
include ('ayar.php');
$id = $_POST["id"];
$bak = mysqli_query($connect, "select * from kullanici WHERE id = {$id}" );
$sayı = mysqli_fetch_row($bak);
$değer = mysqli_num_rows($bak);
echo(json_encode($sayı));
?>
如果我设置为 id 值。它给了我像:
<?php
include ('ayar.php');
$id = 10;
$bak = mysqli_query($connect, "select * from kullanici WHERE id = {$id}" );
$sayı = mysqli_fetch_row($bak);
$değer = mysqli_num_rows($bak);
echo(json_encode($sayı));
?>
结果 :
["10","selam","berkay","1234","Erkek","214214","2153636","bayburt","hatay"]
解决方案
推荐阅读
- android - 可点击 RecyclerView 中的项目
- python - 从 json 中删除重复项
- asp.net - 为每个用户使用相同的会话 ID?
- c++ - AVX2 - 方法比经典版本慢 14 倍
- ionic-framework - livereload 不提供地址选择
- c++ - 我应该如何在文本 RPG 中调用玩家咒语?
- python - Python 代码不工作:TypeError,'int' object is not callable
- php - 我可以在不重复自己的情况下执行 SELECT 查询吗?
- python - 刽子手游戏,但我在使用列表功能时遇到问题
- powershell - 如何防止(序列化)表达式展开