آموزش SQLite: پایگاه داده موبایل

آموزش SQLite: پایگاه داده موبایل

ساخت پایگاه داده SQLite برای اپلیکیشن کمپ های نوروزی

در سلسله نوشته های آموزش برنامه نویسی Mobile GIS می خواهیم به شما آموزش گام به گام تولید اپلیکیشن نقشه ای برای ثبت و نمایش اطلاعات کمپ های نوروزی را ارایه کنیم. در آموزش پیشین به شما یاد دادیم چگونه واسط کاربری اپلیکیشن موبایل و فرم ورود اطلاعات کمپ های نوروزی را طراحی کنید.

برای این که در برنامه نویسی اندروید بتوانید اطلاعات را بر روی دستگاه موبایل ذخیره نمایید، نیازمند یک پایگاه داده موبایل می باشید. در دستگاه های موبایل می توان چندین پایگاه داده را مورد استفاده قرار داد. ما در آموزش Mobile GIS، به آموزش SQLite برای راه اندازی پایگاه داده موبایل خواهیم پرداخت. پایگاه داده SQLite دارای افزونه مکانی برای راه اندازی پایگاه داده مکانی موبایل هم می باشد که در آموزش های برنامه نویسی موبایل GIS شما را با آن آشنا خواهیم کرد.

در این آموزش قصد داریم به معرفی پایگاه داده SQLite بپردازیم و راه اندازی پایگاه داده SQLite در اندروید و ذخیره و نمایش اطلاعات کمپ های نوروزی در اپ موبایل مجهز به GIS را آموزش دهیم. با ما همراه باشید.

این نوشته از مجموعه آموزش های کلاس Mobile GIS است. برای مشاهده آموزش های پیشین و دانلود فیلم و PDF آن ها، می توانید به صفحه کلاس Mobile GISمراجعه نمایید.

آموزش SQLite را شروع کنید

اگر به یاد داشته باشید در نوشته پایگاه داده مکانی چیست؟ گفتیم سیستم پایگاه داده برای ذخیره داده ها با ساختار منظم و سامانمند استفاده می شود. همچنین گفتیم که یکی از انواع پایگاه داده، مدل رابطه ای است که داده­ ها را در جداول و ارتباط­ ها، سازماندهی می­ کند. پایگاه داده SQLite یک پایگاه داده رابطه ای با حجمی کمتر از یک مگابایت می باشد که در قالب یک کتابخانه پیاده سازی شده و راهکاری ایده آل برای مدیریت اطلاعات در سیستم های نرم افزاری به خصوص نرم افزار های تحت موبایل است.

مزایای SQLite

  • پایگاه داده SQLite در تمامی سیستم عامل ها و زبان های برنامه نویسی قابل استفاده است.
  • پایگاه داده SQLite نیاز به نصب و پیکربندی خاصی ندارد.
  • نرم افزار مدیریت پایگاه داده SQLite به صورت Open Source منتشر شده است، که کم حجم بودن و سرعت بالا از مزیت های این نرم افزار است.

برخی کاربردهای SQLite

  • استفاده از SQLite در برنامه های اندروید و IOS
  • پشتیبانی کامل فریم ورک های PHP از SQLite
  • پشتیبانی سیستم مدیریت محتوای Drupal از SQLite
  • استفاده از سیستم پایگاه داده SQLite در نرم افزارهای فایرفاکس، کروم، اسکایپ و دراپ باکس، Multi Media Builder و…

راه اندازی SQLite

ابزارهای مختلفی برای کار با SQLite منتشر شده اند که امکان ساخت پایگاه داده، جداول، ستون ها، ورود داده ها، حذف و دستکاری داده ها و… را فراهم می کنند. در ادامه لیستی از این ابزار ها را خواهید دید:

ما در آموزش SQLite از نرم افزار SQLiteStudio استفاده خواهیم کرد. شما می توانید از طریق این لینک اقدام به دانلود این نرم افزار نمایید. این نرم افزار نیاز به نصب ندارد و بصورت portable است که به همین دلیل، پس از دانلود، کافی است بسته را از حالت فشرده خارج کنید و فایل SQLiteStudio.exe را اجرا نمایید.

آموزش SQLite

در گام اول می خواهیم با استفاده از SQLite، پایگاه داده ای برای نگهداری اطلاعات کمپ های نوروزی ایجاد کنیم و از پایگاه داده SQLite در اندروید استفاده نماییم. برای ایجاد این پایگاه داده از منوی Database گزینه Add a Database را انتخاب می کنیم.

آموزش SQLite

در پنچره بعد، نسخه پایگاه داده را بر روی SQLite3 قرار می دهیم و با زدن دکمه + ، مسیر و نام پایگاه داده جدید را انتخاب می کنیم.

آموزش SQLite

همان طور که می بینید، پایگاه داده جدید به لیست پایگاه های داده، اضافه شد. همچنین در مسیر انتخاب شده، فایلی با پسوند .db قرار گرفته است.

آموزش SQLite

برای ذخیره اطلاعات کمپ ها باید جدولی در پایگاه داده SQLite ایجاد کنیم. برای این منظور با کلیک راست بر روی Tables، گزینه create a table را انتخاب می کنیم.

آموزش SQLite

در بخش Table Name نام جدول را وارد می کنیم ، با انتخاب Add columns ستون های مد نظر را به جدول انتخاب می کنیم. این ستون ها همان اطلاعات مورد نیاز از هر کمپ نوروزی می باشند.

آموزش SQLite

برای هر ستون باید نام و نوع داده را مشخص کنیم. برای مثال اولین ستونی که به جدول Camps اضافه می کنیم با نام id و از نوع INTEGER است که کلید اصلی جدول است و می خواهیم به صورت اتوماتیک و افزایشی مقدار داده شود. همچنین می خواهیم مقادیر این ستون، یکتا باشند. به همین دلیل این ستون را از نوع primary key و uniqe انتخاب می کنیم.

آموزش SQLite

سایر ستون ها را همان طور که در تصویر زیر می بینید اضافه می کنیم.

  • ستون name برای نام کمپ
  • ستون Capacity برای ظرفیت اسکان
  • ستون Area برای مساحت
  • ستون facilities برای امکانات
  • ستون Parking_Capacity برای ظرفیت پارکینگ
  • ستون address برای آدرس
  • ستون X برای طول جغرافیایی
  • ستون Y برای عرض جغرافیایی
آموزش SQLite

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

آموزش SQLite

ما قصد داریم داده ها را از طریق اپلیکیشن کمپ نوروزی به این پایگاه داده موبایل، اضافه کنیم. امیدواریم تا اینجا از آموزش SQLite لذت برده باشید.

مدیریت عملگرهای مختلف بر پایگاه داده

همان طور که در آموزش پیشین گفتیم قصد داریم:

  • اطلاعات کمپ های نوروزی را در پایگاه داده Sqlite ذخیره کنیم.
  • مکان کمپ های ذخیره شده را برای نمایش روی نقشه از دیتابیس استخراج کنیم.
  • همه اطلاعات یک کمپ را برای نمایش و ویرایش، از پایگاه داده استخراج کنیم.

در این گام از آموزش SQLite، مدیریت عملگرهای مختلف بر روی پایگاه داده را برای رسیدن به قابلیت های ذکر شده، پیاده سازی خواهیم کرد.

پایگاه داده Camps.db که در ابتدای آموزش ایجاد کردیم را در پوشه asset پروژه قرار می دهیم. ما این پروژه را در آموزش ساخت اپلیکیشن موبایل GIS ایجاد کرده ایم. می توانید برای اطلاعات بیشتر به این آموزش مراجعه نمایید.

آموزش SQLite

تعریف مدل کمپ

برای بهره مندی از مزایای برنامه نویسی شی گرا، مدل کمپ را مطابق با ستون های پایگاه داده SQLite در کلاس Camp.class تعریف می کنیم.

آموزش SQLite
آموزش SQLite
نکته:مدل کامل در فایل فیلم آموزشی این نوشته به تفصیل آورده شده است و برای جلوگیری از طولانی شدن نوشته در این بخش ذکر نمی شود. برای اطلاعات بیشتر پیشنهاد می کنیم به انتهای این نوشته مراجعه کنید و فیلم این آموزش را دانلود نمایید تا علاوه بر مشاهده اطلاعات بیشتر، به سورس کدها هم دسترسی داشته باشید

کنترل باز کردن و خواندن پایگاه داده موبایل از حافظه دستگاه، آپدیت ورژن، بستن پایگاه داده و… را به صورت مجزا در کلاسی با نام DatabaseHelper.java به صورت زیر خواهیم نوشت.

آموزش SQLite
آموزش SQLite

مدیریت عملگرهای مختلف بر روی پایگاه داده از جمله update، select، insert و… را در کلاس DBRepository تعریف می کنیم.
برای استخراج اطلاعات کمپ های ذخیره شده، متد SelectCamps را به صورت زیر می نویسیم. این متد به عنوان آرگومان ورودی، شرط های انتخاب را دریافت می کند و آرایه ای از کمپ هایی که با شرط های ذکر شده مطابقت دارند را برمی گرداند.
این تابع دو آرگومان ورودی دارد. یکی selection که رشته ای است از ستون هایی از جدول که مقادیر آن ها در نتیجه Query به پایگاه داده مهم هستند و دیگری selectionArgs که آرایه ای است که مقادیر ستون های ذکر شده در متغیر selection را در بر دارد.
برای مثال:

آموزش SQLite

که سطرهایی از جدول Camps بازگردانده می شوند که ستون name برابر با «فدک» باشد.

اپلیکیشن Mobile GIS

دانلود رایگان فیلم آموزش SQLite

به شما پیشنهاد می کنیم با استفاده از فیلم رایگان آموزش SQLite اطلاعات خود را بر روی دستگاه موبایل ذخیره نمایید.

آموزش SQLite

سخن پایانی

در این نوشته به آموزش SQLite برای ایجاد پایگاه داده موبایل پرداختیم. برای آن که این آموزش را کاربردی کرده باشیم، اپلیکیشن Mobile GIS کمپ های نوروزیرا که از آموزش پیشین شروع به ساختا آن کردیم، یک گام کامل تر کردیم و پایگاه داده موبایل برای ذخیره اطلاعات کمپ های نوروزی به آن اضافه نمودیم.
ما در این نوشته تلاش کردیم شما را با پایگاه داده SQLite آشنا کنیم و مقدمات استفاده از SQlite اپلیکیشن اندرویدی ثبت و نمایش کمپ های نوروزی را فراهم کردیم.
در نوشته آتی، سایر قابلیت های پروژه را پیاده سازی خواهیم کرد. اگر مایل هستید که نوشته ‏های بعدی را در ایمیل خود دریافت نمایید، می توانید هم اینک از طریق فرم زیر، در این کلاس رایگان، ثبت نام نمایید.

مهشاد انصاری کارشناسی ارشد کامپیوتر گرایش نرم افزار است و در زمینه توسعه ی وب سایت و برنامه نویسی #C فعالیت دارد

برو بریم

اگر می‌خواهید از آخرین و محبوب‌ترین مقالات ما در ایمیل خود مطلع شوید، همین الان ایمیل خود را در کادر زیر وارد کنید

تعداد علاقه‌مندانی که تاکنون عضو خبرنامه ما شده‌اند

۷۲۰

مقاله های مرتبط :

دیدگاه خود را بیان کنید :

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

۲ دیدگاه برای این مطلب ثبت شده است

  1. اصغر مختاری
    ۹:۱۰ ۱۳۹۷/۰۲/۰۹

    سلام
    امکان داره آموزش نسخه وب کمپ های نوروزی را هم در وب سایت منتشر کنید؟

  2. مهشاد انصاری
    ۹:۲۸ ۱۳۹۷/۰۲/۰۹

    درود آموزش نسخه وب کمپ های نوروزی فعلا در دستور کار ما قرار ندارد.