آموزش دیتابیس SQLite در اندروید با جاوا (قسمت دوم)

آموزش ویدیویی اندروید

تکمیل ساختار ذخیره سازی: اجرای عملیات CRUD در SQLite

پس از ساختاردهی جداول دیتابیس که در بخش اول آموزش دیتابیس SQLite در اندروید بررسی کردیم، گام اساسی بعدی پیاده سازی عملیات اصلی کار با داده هاست که اصطلاحاً به آن CRUD (Create, Read, Update, Delete) گفته می‌شود. در این فاز، اپلیکیشن شما قابلیت تعامل کامل با کاربر نظیر ثبت رکورد جدید، جستجو در میان آیتم ها، ویرایش مشخصات و حذف اطلاعات قدیمی را به دست می‌آورد.

در زبان جاوا، سیستم‌عامل اندروید متدهای امن و ساختاریافته‌ای را درون آبجکت SQLiteDatabase قرار داده است که مانع از آسیب پذیری های امنیتی رایج مانند حملات تزریق اس‌کیو‌ال (SQL Injection) می‌شوند. تفکیک درست این منطق های دیتابیس از لایه نمایش، یکی از اصول بنیادین در پیاده سازی معماری تمیز (Clean Architecture) به شمار می‌رود.

نکته امنیتی و پرفورمنس: برای درج و ویرایش مقادیر، همواره به جای چسباندن دستی رشته ها (String Concatenation)، از کلاس کمکی ContentValues و پارامترهای جایگزین (?) در دستورات شرطی استفاده کنید تا امنیت داده ها و سرعت کش شدن کوئری ها تضمین شود.

آشنایی با شیء Cursor و پیمایش نتایج

هنگامی که دستوری مانند query() یا rawQuery() را برای واکشی اطلاعات اجرا می‌کنید، نتیجه در قالب یک شیء Cursor بازگردانده می‌شود. شیء کرسر نقش یک اشاره‌گر را بر روی سطرهای خروجی ایفا می‌کند.

  • با استفاده از متد moveToFirst() کرسر به ابتدای نتایج هدایت می‌شود.
  • با بهره‌گیری از یک حلقه while (cursor.moveToNext()) می‌توان تمامی سطرها را یکی‌یکی خوانده و ستون های مختلف را با متدهایی نظیر getInt() یا getString() استخراج کرد.
  • بسیار مهم: پس از اتمام فرآیند پیمایش، فراخوانی متد cursor.close() برای آزادسازی هندل های حافظه ضروری است؛ در غیر این صورت با خطای نشت حافظه (Leakage) مواجه خواهید شد.

تراکنش ها (Transactions) و حفظ یکپارچگی داده ها

در مواقعی که نیاز دارید تعداد زیادی رکورد را به صورت دسته‌ای (Batch) وارد دیتابیس کنید یا چندین عملیات وابسته به هم را انجام دهید، استفاده از تراکنش ها با متدهای beginTransaction() و setTransactionSuccessful() معجزه می‌کند. اجرای هزار رکورد بدون تراکنش ممکن است چندین ثانیه به طول بینجامد، در حالی که با بهره‌گیری از Transactionها همین حجم داده در کسری از ثانیه پردازش می‌گردد.

همچنین ترکیب این لایه داده با ابزار های نمایش داده نظیر کامپوننت پیشرفته RecyclerView و معماری معماری MVVM، ساختار یک اپلیکیشن حرفه‌ای، پایدار و مطابق با استانداردهای گوگل را تکمیل می‌نماید.

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

امتیاز و نظرات

۰.۰ (۰ نظر)
برای ثبت دیدگاه باید وارد حساب کاربری شوید. ورود

هنوز نظری ثبت نشده است. اولین نفر باشید.