خوندن اطلاعات از سمت سرور به وسیله آندروید ( حل شد )
سلام دوستان من یه برنامه نوشتم که اطلاعات رو از سمت سرور می خونه وروی دیتابیس ذخیره می کنه اما یه مشکل جدیدا باهاش برخورد کردم و اون اینه که وقتی اطلاعات به صورت جیسون می فرستم همه به دیتا بیسم اضافه میشن برای بارهای بعد که اطلاعات جدیدی اضافه میشه فقط جیسون مربوط به اون اطلاعات جدید رو ارسال می کنم ولی چیزی به دیتا بیسم اضافه نمی شه اما اگر اطلاعات قبلی رو هم بفرستم مشکلی به وجود نمی یاد و به دیتا بیسم اطلاعات اضافه میشه
این کد قسمتی از سمت سرورم هست که اطلاعات رو به صورت جیسون میفرسته
درواقع من فقط در صورتی می تونم اطلاعات رو بخونم که اندیس اول ارایه از صفر شروع شده باشه هر چند توی کد مربوط به اندروید قسمت اول در واقع اخرین ای دی رو چک می کنه و از اون ای دی به بعد من جیسون رو می خونم ولی خب نمی خوام که هر سری از ابتدا جیسون ارسال کنم و از اخرین ای دی که ارسال شده هم جیسونرو ارسال کنم
<?php $mobileNews=array(); $mobileNews[0]['id']=1; $mobileNews[0]['title']='title1'; $mobileNews[0]['news']='لورم ایپسوم متن ساختگی با تولید سادگی نامفهوم از صنعت چاپ و با استفاده از طراحان گرافیک است. چاپگرها و متون بلکه روزنامه و مجله در ستون و سطرآنچنان که لازم است و برای شرایط فعلی تکنولوژی مورد نیاز و کاربردهای متنوع با هدف بهبود ابزارهای کاربردی می باشد. کتابهای زیادی در شصت و سه درصد گذشته، حال و آینده شناخت فراوان جامعه و متخصصان را می طلبد تا با نرم افزارها شناخت بیستری را برای طراحان رایانه ای و فرهنگ پیشرو در زبان فارسی ایجاد کرد. در این صورت می توان امید داشت که تمام و دشواری موجود در ارائه راهکارها و شرایط سخت تایپ به پایان رسد وزمان مورد نیاز شامل حروفچینی دستاوردهای اصلی و جوابگوی سوالات پیوسته اهل دنیای موجود طراحی اساسا مورد استفاده قرار گیرد.'; $mobileNews[0]['category']='ماجرایی'; $mobileNews[0]['creater']='حسین رئیسی'; $mobileNews[0]['publicationDate']='۰۳:۳۰:۰۰ ۱۳۹۳/۱۲/۲۵'; $mobileNews[0]['url']="image-5.jpg"; $mobileNews[0]['thumbnail']="t-image-5.jpg"; $mobileNews[0]['fileName']='file5.zip'; $mobileNews[1]['id']=2; $mobileNews[1]['title']='title2'; $mobileNews[1]['news']='لورم ایپسوم متن ساختگی با تولید سادگی نامفهوم از صنعت چاپ و با استفاده از طراحان گرافیک است. چاپگرها و متون بلکه روزنامه و مجله در ستون و سطرآنچنان که لازم است و برای شرایط فعلی تکنولوژی مورد نیاز و کاربردهای متنوع با هدف بهبود ابزارهای کاربردی می باشد. کتابهای زیادی در شصت و سه درصد گذشته، حال و آینده شناخت فراوان جامعه و متخصصان را می طلبد تا با نرم افزارها شناخت بیستری را برای طراحان رایانه ای و فرهنگ پیشرو در زبان فارسی ایجاد کرد. در این صورت می توان امید داشت که تمام و دشواری موجود در ارائه راهکارها و شرایط سخت تایپ به پایان رسد وزمان مورد نیاز شامل حروفچینی دستاوردهای اصلی و جوابگوی سوالات پیوسته اهل دنیای موجود طراحی اساسا مورد استفاده قرار گیرد.'; $mobileNews[1]['category']='ماجرایی'; $mobileNews[1]['creater']='حسین رئیسی'; $mobileNews[1]['publicationDate']='۰۳:۳۰:۰۰ ۱۳۹۳/۱۲/۲۵'; $mobileNews[1]['url']="image-5.jpg"; $mobileNews[1]['thumbnail']="t-image-5.jpg"; $mobileNews[1]['fileName']='file5.zip'; $mobileNews[2]['id']=3; $mobileNews[2]['title']='title3'; $mobileNews[2]['news']='لورم ایپسوم متن ساختگی با تولید سادگی نامفهوم از صنعت چاپ و با استفاده از طراحان گرافیک است. چاپگرها و متون بلکه روزنامه و مجله در ستون و سطرآنچنان که لازم است و برای شرایط فعلی تکنولوژی مورد نیاز و کاربردهای متنوع با هدف بهبود ابزارهای کاربردی می باشد. کتابهای زیادی در شصت و سه درصد گذشته، حال و آینده شناخت فراوان جامعه و متخصصان را می طلبد تا با نرم افزارها شناخت بیستری را برای طراحان رایانه ای و فرهنگ پیشرو در زبان فارسی ایجاد کرد. در این صورت می توان امید داشت که تمام و دشواری موجود در ارائه راهکارها و شرایط سخت تایپ به پایان رسد وزمان مورد نیاز شامل حروفچینی دستاوردهای اصلی و جوابگوی سوالات پیوسته اهل دنیای موجود طراحی اساسا مورد استفاده قرار گیرد.'; $mobileNews[2]['category']='ماجرایی'; $mobileNews[2]['creater']='حسین رئیسی'; $mobileNews[2]['publicationDate']='۰۳:۳۰:۰۰ ۱۳۹۳/۱۲/۲۵'; $mobileNews[2]['url']="image-5.jpg"; $mobileNews[2]['thumbnail']="t-image-5.jpg"; $mobileNews[2]['fileName']='file5.zip'; ?> <?php echo json_encode($mobileNews,JSON_UNESCAPED_UNICODE); ?>
این هم کد سمنن اندرویدم هست که اطلاعات جیسون رو میخونه و روی دیتابیس ذخیره می کنه
@Override
public void onDataReceive(String data) {
Cursor check = G.database.rawQuery("SELECT * FROM recent ", null);
int j = 0;
while (check.moveToNext()) {
j++;
}
check.close();
if (j == 0) {
id = 0;
G.database.execSQL("INSERT INTO recent(recent_id) VALUES ('" + 0 + "')");
} else {
Cursor des = G.database.rawQuery("SELECT * FROM recent ", null);
while (des.moveToNext()) {
id = des.getInt(des.getColumnIndex("recent_id"));
}
des.close();
}
try {
JSONArray tasks = new JSONArray(data);
for (int i = id; i < tasks.length(); i++) {
JSONObject object = tasks.getJSONObject(i);
StructTask task = new StructTask();
task.id = object.getLong("id");
task.category = object.getString("category");
task.creater = object.getString("creater");
task.publicationDate = object.getString("publicationDate");
task.url = object.getString("url");
task.file = object.getString("fileName");
task.thumbnail = "t_" + object.getString("url");
task.title = object.getString("title");
task.news = object.getString("news");
DownloadManager.addToDownloadList(task.thumbnail, task.id);
num = task.id;
G.database.execSQL("UPDATE recent SET recent_id = '" + task.id + "' ");
G.database.execSQL("INSERT INTO task (task_file,task_id,task_category,task_creater,task_title,task_news,task_date,task_thumbnail,task_url) VALUES ('" + task.file + "','" + task.id + "','" + task.category + "', '" + task.creater + "','" + task.title + "','" + task.news + "','" + task.publicationDate + "','" + task.thumbnail + "','" + task.url + "')");
}
}
catch (JSONException e) {
e.printStackTrace();
}
شما به جای:
while (des.moveToNext()) {
id = des.getInt(des.getColumnIndex("recent_id"));
}
اینو بنویسید ببینید چی میشه.
while (des.moveToNext()) {
id++;
}
البته من وقت نکردم زیاد به کدتون دقت کنم.
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .