Json使用Retrofit Library Android返回Null

时间:2017-01-18 21:16:08

标签: android mongoose null localhost retrofit

我想通过改造库从我的localhost获取数据。我想这样做,以便当我单击按钮时,所有TextView将设置新值。例如,TextView用户名将更改"开发人员"在我的json文件中。但是,当我点击按钮时,我猜json返回null,因为我看不到任何东西。你能帮我解决这个问题吗?

JSON文件:

{"USERS":[{"_id":"587c0346f8469d38a0ea46bf",
"username":"developer",
"name":"Akif",
"surname":"Demirezen",
"tel":"023656565",
"age":"25",
"location_id":{"_id":"587c0346f8469d38a0ea46be",
"il":"istanbul",
"ilce":"cevizlibağ"},
"__v":0}]}

Example.class:

public class Example {

    @SerializedName("USERS")
    @Expose
    private List<USER> uSERS = null;

    public List<USER> getUSERS() {

        return uSERS;
    }



 public void setUSERS(List<USER> uSERS) {
        this.uSERS = uSERS;
    }

}

LocationID类:

public class LocationId {

@SerializedName("_id")
@Expose
private String id;
@SerializedName("il")
@Expose
private String il;
@SerializedName("ilce")
@Expose
private String ilce;

public String getId() {
    return id;
}

public void setId(String id) {
    this.id = id;
}

public String getIl() {
    return il;
}

public void setIl(String il) {
    this.il = il;
}

public String getIlce() {
    return ilce;
}

public void setIlce(String ilce) {
    this.ilce = ilce;
}
}

主要活动类:

public class MainActivity extends AppCompatActivity {
 TextView tid,tusername,tname,tsurname,tage,ttel,tlocationid;
 Button butonverilerigoster;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    tid = (TextView) findViewById(R.id.t_id);
    tusername = (TextView) findViewById(R.id.t_username);
    tname = (TextView) findViewById(R.id.t_name);
    tsurname = (TextView) findViewById(R.id.t_surname);
    tage = (TextView) findViewById(R.id.t_age);
    ttel = (TextView) findViewById(R.id.t_tel);
    tlocationid = (TextView) findViewById(R.id.t_locationid);
    butonverilerigoster = (Button) findViewById(R.id.butonusergetir);

    butonverilerigoster.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            new Thread(new Runnable() {
                public void run() {

                    ApiService.Factory.getInstance().getuse().enqueue(new Callback<USER>() {
                        @Override
                        public void onResponse(Call<USER> call, Response<USER> response) {



                            tid.setText(response.body().getId());
                            tusername.setText(response.body().getUsername());
                            tname.setText(response.body().getName());
                            tsurname.setText(response.body().getSurname());
                            tage.setText(response.body().getAge());
                            ttel.setText(response.body().getTel());
                            tlocationid.setText((CharSequence) response.body().getLocationId());

                        }

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

                            Log.e("Failed", t.getMessage());
                        }
                    });

                }
            }).start();


        }

    });
}
}

用户类:

public class USER {
@SerializedName("_id")
@Expose
private String id;
@SerializedName("username")
@Expose
private String username;
@SerializedName("name")
@Expose
private String name;
@SerializedName("surname")
@Expose
private String surname;
@SerializedName("tel")
@Expose
private String tel;
@SerializedName("age")
@Expose
private String age;
@SerializedName("location_id")
@Expose
private LocationId locationId;
@SerializedName("__v")
@Expose
private Integer v;

public String getId() {
    return id;
}

public void setId(String id) {
    this.id = id;
}

public String getUsername() {
    return username;
}

public void setUsername(String username) {
    this.username = username;
}

public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}

public String getSurname() {
    return surname;
}

public void setSurname(String surname) {
    this.surname = surname;
}

public String getTel() {
    return tel;
}

public void setTel(String tel) {
    this.tel = tel;
}

public String getAge() {
    return age;
}

public void setAge(String age) {
    this.age = age;
}

public LocationId getLocationId() {
    return locationId;
}

public void setLocationId(LocationId locationId) {
    this.locationId = locationId;
}

public Integer getV() {
    return v;
}

public void setV(Integer v) {
    this.v = v;
}
}

0 个答案:

没有答案