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

مشکل لاگ های بی مورد در پروژه نوت ( notes ) | حل شد |

سامان پاپی  11 سال پیش  11 سال پیش
0 0

سلام دوستان یک مشکل در لاگ ها هست , استاد در پروژه نوت میان برای اولین نمونه میان فیلد task_title دو رکورد رو میخونن و لاگ کت نشون میدن من هم همون کد ها رو نوشتم و اجرا میکنم دو مقدار رو به من میده اما لاگ های اضافی دیگه ایی هم خود Stacktarsce  قسمت catch به من میده الان در پایین دقیقا براتون شرح میدم . ممنون

ببینید مسئول ایجاد اون لاگ های اضافه کد زیر هست که تو با کامنت مشخص کردم .

 
        if (result != null) {
            try {
                JSONArray tasks = new JSONArray(result);
                for (int i = 0; i < result.length(); i++) {
                    JSONObject task = tasks.getJSONObject(i);
                    Log.i("LOG", task.getString("task_title"));

                }
            }
            //-----------------------------------------------
            catch (JSONException e) {
                e.printStackTrace();
            //-----------------------------------------------
        }
    }

و کل لاگ های به جز اون دو خط اول از اصل بی دلیل هستن و دلیلش رو خودمنتونست پیدا کنم !؟ دوستان دقت کنند من با برنامه نویسی سرور و کلا با برنامه نویسیش مشکلی ندارم فقط میخوام بدونم از رو کنکاوی که این لاگ ها دلیل ایجاد شدنشون چی هست . 

03-22 15:42:19.612: I/LOG(15155): complete work
03-22 15:42:19.612: I/LOG(15155): text for test

 W/System.err(15155): org.json.JSONException: Index 2 out of range [0..2)
 W/System.err: 	at org.json.JSONArray.get(JSONArray.java:263)
 W/System.err: 	at org.json.JSONArray.getJSONObject(JSONArray.java:480)
 W/System.err: 	at amir.app.webapp.note.NotesActivity.onCreate(NotesActivity.java:24)
 W/System.err: 	at android.app.Activity.performCreate(Activity.java:5104)
 W/System.err: 	at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)
 W/System.err: 	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144)
 W/System.err: 	at android.app.ActivityThread.access$600(ActivityThread.java:141)
 W/System.err: 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
 W/System.err: 	at android.os.Looper.loop(Looper.java:137)
 W/System.err: 	at android.app.ActivityThread.main(ActivityThread.java:5041)
 W/System.err: 	at java.lang.reflect.Method.invokeNative(Native Method)
 W/System.err: 	at java.lang.reflect.Method.invoke(Method.java:511)
 W/System.err:at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
 W/System.err: 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
 W/System.err: 	at dalvik.system.NativeStart.main(Native Method)

 

 برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال 
Spirit  11 سال پیش
+1 0

خب دو تا آیتم دارید 0 و 1 - حالا اینجا میگه آیتم 2 خارج از بازه هست یعنی مقدار result.length بیشتر از ()tasks.length هست. پس تو حلقه for از ()tasks.length استفاده کنید.

این جملت هم بی مورد هست "از اصل بی دلیل هستن" D:


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