دوره مجازی اندروید (جلسه 19): ذخیره سازی اطلاعات با Sqlite قسمت دوم

- visibility ۳۲ mode_comment

به نام خدا، دوستان سلام، در این جلسه می خواهیم پست هایی که توسط کاربر قبلاً دیده شدن رو داخل جدول مشخص کنیم و با استفاده از آن، پست های دیده شده رو متمایز کنیم. همچنین پست هایی که قبلا داخل جدول ذخیره کرده بودیم را با استفاده از Query دریافت کنیم.

مطالب مطرح شده در این جلسه عبارتند از :

  • گرفتن سطر های جدول
  • آپدیت کردن مقدار فیلد های سطر های جدول
  • حذف سطر از جدول
info توجه

این مطلب یک جلسه از دوره آموزش اندروید می باشد و برای مشاهده آن باید در دوره ثبت نام کنید.

ثبت نام در دوره آموزش اندروید

comment دیدگاه کاربران
مختار اسمعیلی

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

سعید شاهینی

سلام٬ یه چک بکنید ببینید مقدار isVisited پستها چی ست شده.

مهدی موسوی

سلام
استفاده از متد onUpgrade دیتابیس رو تو آموزش ها ندیدم.
این متد از کجا ورژن دیتابیس و … رو دریافت می کنه.

سعید شاهینی

سلام٬ شما داخل Constructor یک متد super داری که پارامترها رو به کلاس پدر پاس می دی. اون ورژن هست که به متد onUpgrade داده می شه.

مهرداد قاسمیان

با سلام و وقت بخیر استاد عزیز
در اون قسمت که پست رو مشاهده می کنیم اما برمیگردیم اون پست از سایر پست ها متمایز نیست که مشاهده شده و باید برنامه رو ببنیدیم و از اول مشاهده کنیم
برای رفع این مشکل باید چیکار کنیم که با زدن دکمه back اون پست ها قابل مشاهده باشن
شما یک اشاره ای کردین اما متوجه نشدم
ممنون میشم راهنمایی کنین
با تشکر

سعید شاهینی

کافیه که وقتی روی پست کلیک شد٬ قبل از اینکه کاربر رو به صفحه جدید ببریم رنگ اون آیتم رو عوض کنیم. برای این کار ابتدا مقدار فیلد isVisited اون خبر رو به True تغییر می دیم و بعد متد notifyItemChange رو صدا می زنیم.

erfan23

سلام
این ارورو برای من میده
مشکل چی میتونه باشه؟

 Process: com.example.ashkan.myapplication, PID: 11004
                                                                                  java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.ashkan.myapplication/com.example.ashkan.myapplication.View.activity.PostsActivity}: android.database.sqlite.SQLiteException: no such table: posts (code 1): , while compiling: SELECT * FROM posts
                                                                                      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2325)
                                                                                      at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387)
                                                                                      at android.app.ActivityThread.access$800(ActivityThread.java:151)
                                                                                      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303)
                                                                                      at android.os.Handler.dispatchMessage(Handler.java:102)
                                                                                      at android.os.Looper.loop(Looper.java:135)
                                                                                      at android.app.ActivityThread.main(ActivityThread.java:5254)
                                                                                      at java.lang.reflect.Method.invoke(Native Method)
                                                                                      at java.lang.reflect.Method.invoke(Method.java:372)
                                                                                      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
                                                                                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
                                                                                   Caused by: android.database.sqlite.SQLiteException: no such table: posts (code 1): , while compiling: SELECT * FROM posts
                                                                                      at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
                                                                                      at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:889)
                                                                                      at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:500)
                                                                                      at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)
                                                                                      at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:58)
                                                                                      at android.database.sqlite.SQLiteQuery.<init>(SQLiteQuery.java:37)
                                                                                      at android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:44)
                                                                                      at android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1316)
                                                                                      at android.database.sqlite.SQLiteDatabase.rawQuery(SQLiteDatabase.java:1255)
                                                                                      at com.example.ashkan.myapplication.View.view.SevenLearnDataBaseOpenHelper.getPosts(SevenLearnDataBaseOpenHelper.java:106)
                                                                                      at com.example.ashkan.myapplication.View.activity.PostsActivity.getPostFromDatabase(PostsActivity.java:54)
                                                                                      at com.example.ashkan.myapplication.View.activity.PostsActivity.onCreate(PostsActivity.java:26)
                                                                                      at android.app.Activity.performCreate(Activity.java:5990)
                                                                                      at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106)
                                                                                      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2278)
سعید شاهینی

سلام٬ این ارور می گه که جدولی به اسم posts ساخته نشده.

نیاز به لاگین

برای ارسال دیدگاه و یا پرسیدن سوال خود در این قسمت، باید در سایت لاگین شوید.
1 2