elecomco

کاربر تازه وارد
تازه وارد
دیتابیس اندروید (SQlite Database) چیست و به چه دردی می خورد و کار کردن با آن (ایجاد، بروزرسانی، حذف) چگونه است؟در این مقاله می خواهیم با یک مثال کاربردی شما را با این مباحث آشنا کنیم با مرجع آموزش برنامه نویسی اندروید الکامکو همراه باشید.

هر برنامه یا اپلیکیشنی که ایجاد می شود یک سری داده هایی را نیز ایحاد می کند که این اطلاعات یا داده ها در جایی ذخیره هستند تا بتوان با این اطلاعات کار کرد. به این محل ذخیره سازی داده ها در اندروید پایگاه داده اندروید یا دیتابیس اندروید (Android Databasde) گفته می شود.
در واقع مجموعه ای از داده ها به صورت منظم در جدول دیتابیس در اندروید ذخیره می شوند و توسط مدیر پایگاه داده (DBMS) مدیریت (ایجاد، حذف و بروزرسانی) می شوند.



پایگاه داده SQLite یک ساختار پرس و جو (Query) مبتنی بر پایگاه داده، متن باز(Open Source) ، کم حجم، مستقل از شبکه است. هر زمان که یک برنامه نیاز به ذخیره مقدار زیادی از داده ها داشته باشد، استفاده از دیتابیس اندروید SQlite نسبت به سایر سیستم های ذخیره فایل مثل SharedPreferences یا ذخیره داده در فایل ها، ارجحیت بیشتری دارد.
اندروید در راستای اجرای بانک اطلاعاتی SQLite ساخته شده است و اطلاعات این بانک به صورت محلی از طریق دستگاه (تلفن همراه و رایانه لوحی) در دسترس است و حاوی داده هایی با فرمت متنی است. این دیتابیس اندروید دارای حجم کم و متناسب با بسیاری از زبان ها است. بنابراین نیازی به مدیریت یا تنظیم پایگاه داده ندارید.
نکته مهم: بانک اطلاعاتی ایجاد شده در یک فهرست راهنما ذخیره می شود
data / data / APP_Name / databases / DATABASE_NAME
ایجاد و بروزرسانی دیتابیس اندروید (Creating & Updating) :
برای ایجاد، بروزرسانی و سایر عملیات پایگاه داده اندروید باید یک کلاس فرعی یا کلاس SQLiteOpenHelper ایجاد کنید. SQLiteOpenHelper یک کلاس کمکی برای مدیریت ایجاد پایگاه داده و مدیریت آن است. این کلاس دو روش زیر را ارائه می دهد:
  1. onCreate (SQLiteDatabase db)
  2. onUpgrade (SQLiteDatabase db int oldVersion ، int newVersion)
کلاس SQLiteOpenHelper وظیفه باز کردن پایگاه داده را در صورت وجود داشتن بانک و ایجاد پایگاه داده را در صورت وجود نداشتن بانک بر عهده دارد و در صورت لزوم کار به روزرسانی را انجام می دهد.
کلاس SQLiteOpenHelper برای ایجاد بانک اطلاعاتی، تنها نیاز به یک نام نیاز دارد. پس از گسترش SQLiteOpenHelper ، شما باید روشهای آن را روی ایجاد ، onUpgrade و onCreate پیاده سازی و اجرا کنید.
روش (onCreate(SQLiteDatabase sqLiteDatabase فقط یک بار در طول چرخه برنامه (اپلیکشن) فراخوانی می شود. هر زمان که اولین تماس برای دریافت تابع () getReadableDatabase یا () getWritableDatabase موجود در سوپر کلاس SQLiteOpenHelper وجود داشته باشد، فراخوانی می شود. بنابراین کلاس SQLiteOpenHelper پس از ایجاد بانک اطلاعاتی و شیء SQLiteDatabase ، متد () onCreate را فراخوانی می کند.
روش (onUpgrade (SQLiteDatabase db، int oldVersion، int newVersion فقط در زمان بروزرسانی ها در نسخه موجود فراخوانی می شود. بنابراین برای بروزرسانی یک نسخه باید مقدار متغیر نسخه منتقل شده در superclass constructor را افزایش دهیم.
با روش onUpgrade می توانیم پرس و جو ها را برای انجام هر عملی که مورد نیاز باشد، نمایش دهید. در این مثال خواهید دید که جدول (های) موجود در حال حذف شدن هستند و با روش ()onCreate دوباره فراخوانی می شود تا جدول ها دوباره ایجاد شوند. اما انجام این کار اجباری نیست و همه چیز به نیاز شما بستگی دارد.
اگر ردیف جدیدی را در جدول دیتابیس اضافه کرده اید، باید نسخه بانک اطلاعاتی را تغییر دهید. اگر نیاز دارید تا داده های موجود را در جدول از دست ندهید، می توانید پرس و جو جدول را در روش onUpgrade (SQLiteDatabase db ، int oldVersion ، int newVersion) بنویسید.

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