I am trying to parse multiple JSON object and arrays but when I try to run my app I get this error:
E/dalvikvm: Could not find class 'android.view.animation.PathInterpolator', referenced from methodandroid.support.v4.view.animation.PathInterpolatorCompat.create W/dalvikvm: VFY: unable to resolve new-instance 1834 (Landroid/view/animation/PathInterpolator;) in Landroid/support/v4/view/animation/PathInterpolatorCompat; D/dalvikvm: VFY: replacing opcode 0x22 at 0x0006 DexOpt: unable to opt direct call 0x3f07 at 0x08 in Landroid/support/v4/view/animation/PathInterpolatorCompat;.create DexOpt: unable to opt direct call 0x3f08 at 0x08 in Landroid/support/v4/view/animation/PathInterpolatorCompat;.create DexOpt: unable to opt direct call 0x3f09 at 0x08 in Landroid/support/v4/view/animation/PathInterpolatorCompat;.create W/EGL_emulation: eglSurfaceAttrib not implemented 3093 12436 W/EGL_emulation: eglSurfaceAttrib not implemented 3093 12436 I/Choreographer: Skipped 40 frames! The application may be doing too much work on its main thread. W/System.err: org.json.JSONException: Value https://shop.aftabrayaneh.com/image/cache/data/arduino/boards/due/Arduino_Due_%20_R3_1-500x500.jpg at 0 of type java.lang.String cannot be converted to JSONObject at org.json.JSON.typeMismatch(JSON.java:100) at org.json.JSONArray.getJSONObject(JSONArray.java:514) at com.a000webhostapp.mathhelperapp.www.daneshjaprj.Main2Activity$1$2.run(Main2Activity.java:91) at android.os.Handler.handleCallback(Handler.java:733) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:136) at android.app.ActivityThread.main(ActivityThread.java:5019) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:515) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595) at dalvik.system.NativeStart.main(Native Method) this is my function :
@Override
public void onCompleted(Exception ex, AsyncHttpResponse source, final String result) {
if (ex != null) {
runOnUiThread(new Runnable() {
@Override
public void run() {
Toast.makeText(Main2Activity.this, R.string.error, Toast.LENGTH_SHORT).show();
wait.dismiss();
}
});
ex.printStackTrace();
return;
}
if (!result.equals("") && !result.equals("[]")) {
runOnUiThread(new Runnable() {
@Override
public void run() {
try {
JSONObject jsonObject = new JSONObject(result);
JSONArray jsonArray = jsonObject.getJSONArray("product");
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject object = jsonArray.getJSONObject(i);
HashMap<String, Object> hash_add = new HashMap<>();
hash_add.put("ID", object.getString("id"));
hash_add.put("Name", object.getString("name"));
hash_add.put("Price", object.getString("price"));
hash_add.put("Description", object.getString("description"));
hash_add.put("Available", object.getString("available"));
hash_add.put("Like", object.getString("like"));
hash_store_list.add(hash_add);
items_store_list = new String[hash_store_list.size()];
JSONArray js = object.getJSONArray("images_url");
for (int j = 0; j < js.length(); j++) {
JSONObject ob = js.getJSONObject(j);
HashMap<String, Object> hash_addd = new HashMap<>();
hash_addd.put("image1", ob.getString("0"));
hash_addd.put("image2", ob.getString("1"));
hash_addd.put("image3", ob.getString("2"));
hash_store_image.add(hash_addd);
items_store_image = new String[hash_store_image.size()];
}
JSONArray json = object.getJSONArray("comments");
for (int x = 0; x < json.length(); x++) {
JSONObject obj = json.getJSONObject(x);
HashMap<String, Object> hash_adddd = new HashMap<>();
hash_adddd.put("username", obj.getString("username"));
hash_adddd.put("description", obj.getString("description"));
hash_store_comment.add(hash_adddd);
items_store_comment = new String[hash_store_comment.size()];
}
}
} catch (Exception e) {
e.printStackTrace();
}
runOnUiThread(new Runnable() {
@Override
public void run() {
customAdapter.notifyDataSetChanged();
}
});
wait.dismiss();
}
});
}
}
this is my json file:
{ "product": [ { "id": 1, "name": "برد آردوینو Due", "price": 106400, "description": "برد آردوینو Due یک میکروکنترلر بر پایه SAM3X8E ARM Cortex-M3 CPU از شرکت Atmel می باشد. این برد، اولین برد آردوینویی است که بر اساس میکروکنترلر با هسته ARM 32 بیتی پایه ریزی شده است. دارای 54 پین دیجیتال ورودی/خروجی (که 12 تای آن می تواند به عنوان خروجی PWM استفاده شود)، 12 ورودی آنالوگ، 4 پورت UARTs (پورت های سریال سخت افزاری)، و یک ساعت 84 مگاهرتزی، an USB OTG capable connection ، یک DAC (دیجیتال به آنالوگ)، 2 عدد TWI، یک پاور جک، یک SPI header، یک JTACG header، یک دکمه ریست و یک دکمه پاک کردن می باشد.", "discount_percent": 0, "available": true, "images_url": [ "https://shop.aftabrayaneh.com/image/cache/data/arduino/boards/due/Arduino_Due_%20_R3_1-500x500.jpg", "https://shop.aftabrayaneh.com/image/cache/data/arduino/boards/due/Arduino_Due_%20_R3_2-500x500.jpg", "https://shop.aftabrayaneh.com/image/cache/data/arduino/boards/due/Arduino_Due_%20_R3_3-500x500.jpg" ], "like": "2k", "comments": [ { "username": "ali", "description": "عالی بود!" }, { "username": "reza", "description": "واقعا خوب هست" } ] }, { "id": 2, "name": "برد آردوینو MEGA R3", "price": 67000, "description": "برد آردوینو Mega2560 یک برد میکروکنترلر بر پایه ATmega2560 می باشد. این برد مجموعاً 54 پین ورودی/خروجی دیجیتال (که 15 تای آن می تواند به عنوان خروجی PWM استفاده گردد)، 16 ورودی آنالوگ، 4 پورت UART (پورت های سریال سخت افزاری)، یک نوسان ساز کریستال MHz 16، یک پورت USB، یک پاورجک، یکICSP Header و یک دکمه ریست دارد. برد Mega 2560 شامل کلیه امکانات مورد نیاز جهت بکارگیری میکروکنترلر موجود برروی برد می باشد. برای شروع، تنها با یک کـابل USB، به سادگی برد را به کامپیوتـرتان وصل کنید، و یا آن را با یـک آداپـتور AC-to-DC و یا باتری راه اندازی نمایید.", "discount_percent": 0, "available": true, "images_url": [ "https://shop.aftabrayaneh.com/image/cache/data/arduino/boards/Arduino-Mega2560-R3/Arduino%20Mega2560%20Rev3_2-500x500.jpg", "https://shop.aftabrayaneh.com/image/cache/data/arduino/boards/Arduino-Mega2560-R3/Arduino%20Mega2560%20Rev3_3-500x500.jpg" ], "like": "239", "comments": [ { "username": "ali", "description": "عالی بود!" }, { "username": "reza", "description": "واقعا خوب هست" } ] }, { "id": 3, "name": "برد آردوینو NANO", "price": 37000, "description": "برد آردوینو نانو ، یک برد کوچک و کامل می باشد ، طراحی آن به نحوی است که استفاده از آن بر روی bread board را ساده می نماید . میکرو کنترل استفاده شده در این برد ATmega328 می باشد و کارایی آن کم و بیش شبیه برد آردوینو Duemilanove است اما در یک شکل متفاوت. حذف سوکت منبع تغذیه ، استفاده از قطعات SMD و مینی USB به جای پورت USB استاندارد باعث کوچک شدن برد و کاهش وزن آن گردیده است . اندازه برد فقط 17,8 در 43,2 میلیمتر و وزن آن چیزی در حدود 6 گرم می باشد ، این خصوصیات منحصر به فرد استفاده از برد را برای ربات های پرنده و سایر ربات ها و ماشین های کوچک میسر می سازد.", "discount_percent": 10, "available": true, "images_url": [ "https://shop.aftabrayaneh.com/image/cache/data/aftabrayaneh/Arduino_Boards/Arduino_Nano_V3__AFTAB/Arduino_Nano_V3__AFTAB_3-500x500.jpg", "https://shop.aftabrayaneh.com/image/cache/data/aftabrayaneh/Arduino_Boards/Arduino_Nano_V3__AFTAB/Arduino_Nano_V3__AFTAB_2-500x500.jpg", "https://shop.aftabrayaneh.com/image/cache/data/aftabrayaneh/Arduino_Boards/Arduino_Nano_V3__AFTAB/Arduino_Nano_V3__AFTAB_1-500x500.jpg" ], "like": "2k", "comments": [ { "username": "ali", "description": "عالی بود!" }, { "username": "reza", "description": "واقعا خوب هست" } ] }, { "id": 4, "name": "برد آردوینو Uno R3", "price": 42000, "description": "برد آردوینو Uno یک میکروکنترلر بر پایه ATmega328 می باشد . این برد 14 پین ورودی و خروجی دیجیتال (که 6 تای آن می تواند به عنوان خروجی PWM استفاده گردد)، 6 ورودی آنالوگ، یک تشدیدگر سرامیکی 16مگاهرتز (Ceramic Resonator)، یک پورت USB، یک پاورجک (ورودی منبع تغذیه)، یک ICSP header و یک دکمه ریست دارد. برد Uno شامل کلیه امکانات مورد نیاز جهت بکارگیری میکروکنترلر موجود بر روی برد می باشد. برای شروع تنها با یک کابل USB، به سـادگی برد را به کامپیوترتان متصـل کنید و یـا آن را با یـک آداپـتور AC-To-DC و یا باتری راه اندازی نمایید.", "discount_percent": 10, "available": false, "images_url": [ "https://shop.aftabrayaneh.com/image/cache/data/aftabrayaneh/Arduino_Products/Arduino_Boards/Arduino_UNO_R3/Arduino_UNO_R3_235_1-500x500.jpg", "https://shop.aftabrayaneh.com/image/cache/data/aftabrayaneh/Arduino_Products/Arduino_Boards/Arduino_UNO_R3/Arduino_UNO_R3_235_2-500x500.jpg", "https://shop.aftabrayaneh.com/image/cache/data/aftabrayaneh/Arduino_Products/Arduino_Boards/Arduino_UNO_R3/Arduino_UNO_R3_235_3-500x500.jpg" ], "like": "27", "comments": [ { "username": "alireza", "description": "عالی بود!" }, { "username": "reza_ghch", "description": "واقعا خوب هست" } ] } ] }