آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

دریافت اطلاعات از وب با کمک Retrofit

احسان  9 سال پیش  9 سال پیش
0 0

سلام دوستان 

من تازه با رتروفیت آشنا شدم و لازم دارم تا یک جیسون آبجکت مثل شکل زیر رو با رتروفیت از وب سایت دریافت کنم . مشکلم اینه که  'weather' رو که یک json array  هستش رو به راحتی می تونم بگیرم ولی 'main' , 'wind ' رو که خودشون هم یک آبجکت هستند رو  نمیتونم بگیرم . اینم کد من هستش:

این Interface من هستش :

 public interface APIService {
    @GET("weather?q=London,uk&appid=6de0fb940ed472cf048d85028e1ad757")
    Call<MainModelResponse> getMain();
}
 

و اینم کلاس response  من هستش که اول اطلاعاتی که دریافت میکنم میاد این تو :

 

 public class MainModelResponse {

    private ArrayList<MainModel> main;

    public MainModelResponse() {
    }

    public ArrayList<MainModel> getMain() {
        return main;
    }

    public void setMain(ArrayList<MainModel> main) {
        this.main = main;
    }
}
 

 

و بعد از این که اطلاعات اومد توی response  میره برای کلاس main model

  public class MainModel implements Serializable {

    public double temp;
    public double pressure;
    public double humidity;

    public MainModel(double temp, double pressure, double humidity) {
        this.temp = temp;
        this.pressure = pressure;
        this.humidity = humidity;
    }

    public MainModel() {
    }

    public double getTemp() {return temp;}

    public void setTemp(double temp) {
        this.temp = temp;
    }

    public double getPressure() {
        return pressure;
    }

    public void setPressure(double pressure) {
        this.pressure = pressure;
    }

    public double getHumidity() {
        return humidity;
    }

    public void setHumidity(double humidity) {
        this.humidity = humidity;
    }



 

ممنون میشم دوستان کمک کنید دو روزه دنبال حل اینم کل استک گشتم ولی چیزی گیرم نیومد که کارم رو حل کنه :(

 

0 0
... (9 سال پیش)
+1 0
سورس قسمتی که متد call رو صدا زدید بفرستید (9 سال پیش)
+1 0
باید جیسون رو درست دیسریالایز کنی و مدلی از هر داده ای که میخوای همونطور که دوستمون گفتن ساخته باشی (9 سال پیش)
 برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال 
JSONObject  9 سال پیش
+1 0

باید به ازای هر آبجکتی که ممکنه تو خروجی داشته باشی یک مدل دیگه هم تعریف کنی؛ میتونه این مدل داخل همون مدل اصلی باشه یا نباشه اما باید فیلدی بسازی ازش داخل مدل اصلی

 

 public class MainModel {

public double temp;
public double pressure; public double humidity;
public Main main;
public Wind wind;
public MainModel(double temp, double pressure, double humidity, Main main, Wind wind) { this.temp = temp; this.pressure = pressure; this.humidity = humidity;
this.main = main;
this.wind = wind;
} public MainModel() {}

public class Main{
// fields ...
}

public class Wind{
// fields ...
}

// setter and getter ...

 

0 0
ممنون از پاسختون ولی همین کار رو انجام دادم گویا مدل سازیم مشکل داره (9 سال پیش)

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .