تبدیل api

پرسیده شده
فعالیت 1319 روز پیش
دیده شده 507 بار
0

سلام.. 

من قبلا برای ارسال درخواست Get یا Post از لایبراری FastAndroidNetWorking استفاده میکردم که باعث میشد خودش توی متد AsObject بگیره و تبدیل کنه و من فقط ست میکردم..

ولی توی این آموزش متفاوت بود، لطفا میتونین این api رو تبدیل کنین تا من بتونم ببینم و متوجه بشم؟

استاد چون api شون روتش JsonArray بود اونطوری استفاده کردن.. ولی این Api که من دارم روتش یه JsonObject هستش، من نتونستم تبدیلش کنم.. مرسی کمکم کنین...

فایل پیوست

1
حذف شده

 سلام و احترام 

پیشنهاد من برای HttpRequest استفاده از لایبرری Retroft هست چرا که سازگاری کاملی با لایبرری های پرکاربردی نظیر Rxjava و.. را داراست و احتمال خطا را بسیار کمتر میکند.

پس من مدل api مربوطه رو واستون مینویسم .

و شما کافیست برای هر مورد به عنوان model کلاسی بسازید.

package com.example;

import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;

public class Ad {

@SerializedName("company")
@Expose
private String company;
@SerializedName("url")
@Expose
private String url;
@SerializedName("text")
@Expose
private String text;

public String getCompany() {
return company;
}

public void setCompany(String company) {
this.company = company;
}

public String getUrl() {
return url;
}

public void setUrl(String url) {
this.url = url;
}

public String getText() {
return text;
}

public void setText(String text) {
this.text = text;
}

}
-----------------------------------کلاس دوم-----------------------------------

package com.example;

import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;

public class Data {

@SerializedName("id")
@Expose
private Integer id;
@SerializedName("email")
@Expose
private String email;
@SerializedName("first_name")
@Expose
private String firstName;
@SerializedName("last_name")
@Expose
private String lastName;
@SerializedName("avatar")
@Expose
private String avatar;

public Integer getId() {
return id;
}

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

public String getEmail() {
return email;
}

public void setEmail(String email) {
this.email = email;
}

public String getFirstName() {
return firstName;
}

public void setFirstName(String firstName) {
this.firstName = firstName;
}

public String getLastName() {
return lastName;
}

public void setLastName(String lastName) {
this.lastName = lastName;
}

public String getAvatar() {
return avatar;
}

public void setAvatar(String avatar) {
this.avatar = avatar;
}

}
-----------------------------------کلاس سوم-----------------------------------

package com.example;

import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;

public class Model {

@SerializedName("data")
@Expose
private Data data;
@SerializedName("ad")
@Expose
private Ad ad;

public Data getData() {
return data;
}

public void setData(Data data) {
this.data = data;
}

public Ad getAd() {
return ad;
}

public void setAd(Ad ad) {
this.ad = ad;
}

}

 

اما اگر در هر حال میخواهید از Volley استفاده کنید این رو در نظر بگیرید که برای تبدیل از داخلی ترین ابجکت یا array استفاده کنید. این لینک آموزشی رو خدمتتون قرار میدم تا به این موضوع به تسلط برسید. برو به لینک و عمل parse کردن رو به راحتی انجام بدهید.

 

فایل پیوست

پوریا شفیعی

توسط

پوریا شفیعی

6 مهر 99

حذف شده
مرسی ازتون.. طریقه ی مدل سازی رو بلد بودم.. طریقه ی Parse کردنش رو بلد نبودم..
حذف شده
بهترین روش استفاده از همون مدل هست چون به همون میتونید عمل Data binding انجام بدین و مزایای دیگر که در بالا ذکر کردم
پوریا شفیعی

7 مهر 99