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

خطا در گرفتن مقادیر دیتابیس در retrofit

SeyyedH  9 سال پیش  9 سال پیش
0 0

من بااستفاده از رتورفیت میخوام json  رو از سرور بگیرم و نمایش بدم اما متاسفانه ارور زیر رو میده

$java.lang.IllegalStateException: Expected BEGIN_OBJECT but was BEGIN_ARRAY at line 1 column 2 path

کلاس api client


public class ApiClient {
public static final String BASE_URL="http://10.0.2.2/note-server/";

private static Retrofit retrofit = null;
private static String TAG=ApiClient.class.getSimpleName();


public static Retrofit getClient() {


if (retrofit==null) {
OkHttpClient client=new OkHttpClient.Builder()
.readTimeout(20, TimeUnit.SECONDS)
.connectTimeout(20, TimeUnit.SECONDS)
.build();
retrofit = new Retrofit.Builder()
.baseUrl(BASE_URL)
.client(client)
.addConverterFactory(GsonConverterFactory.create())
.build();
}
return retrofit;
}

}

کلاس api service

public interface APIService {


@GET("index.php")
Call<PostRetrofitModel> getPosts();
}

کلاسpostRetrofitModel


public class PostRetrofitModel implements Serializable{

public List<PostRetrofitModel> model;

@SerializedName("name")
private String name;

@SerializedName("last_name")
private String lastName;

public PostRetrofitModel(String name, String lastName) {
this.name = name;
this.lastName = lastName;
}

public String getName() {
return name;
}

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

public String getLastName() {
return lastName;
}

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

}

کلاس اصلی

APIService service= ApiClient.getClient().create(APIService.class);

Call<PostRetrofitModel> call=service.getPosts();
call.enqueue(new Callback<PostRetrofitModel>() {
@Override
public void onResponse(Call<PostRetrofitModel> call, Response<PostRetrofitModel> response) {
PostRetrofitModel result=response.body();

Log.i("LOG","Result of Server " + result);

// اطلاعات به درستی دریافت شدند


}

@Override
public void onFailure(Call<PostRetrofitModel> call, Throwable t) {
Log.i("TAG","failure :"+t.getLocalizedMessage());
// خطایی رخ داده است
}
});


}
});
0 0
طبق خطا ، ظاهرا اینور آبجکت میگیری ولی از اونور داری آرایه پاس میدی (9 سال پیش)
0 0
بله همینطوره (9 سال پیش)
 برای این سوال 1 پاسخ وجود دارد. مشاهده پاسخ صحیح
پاسخ به سوال 
SeyyedH  9 سال پیش
0 0

 پاسخ صحیح

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

 
0 0
شما که از رتروفیت استفاده کردی استفاده از این کتابخانه سخته یا خیر (9 سال پیش)
0 0
نه استفاده ازش خیلی هم آسونه، از این لینک ها میتونید استفاده کنید : لینک و لینک (9 سال پیش)

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