تکمیل ساختار ذخیره سازی: اجرای عملیات CRUD در SQLite
پس از ساختاردهی جداول دیتابیس که در بخش اول آموزش دیتابیس SQLite در اندروید بررسی کردیم، گام اساسی بعدی پیاده سازی عملیات اصلی کار با داده هاست که اصطلاحاً به آن CRUD (Create, Read, Update, Delete) گفته میشود. در این فاز، اپلیکیشن شما قابلیت تعامل کامل با کاربر نظیر ثبت رکورد جدید، جستجو در میان آیتم ها، ویرایش مشخصات و حذف اطلاعات قدیمی را به دست میآورد.
در زبان جاوا، سیستمعامل اندروید متدهای امن و ساختاریافتهای را درون آبجکت SQLiteDatabase قرار داده است که مانع از آسیب پذیری های امنیتی رایج مانند حملات تزریق اسکیوال (SQL Injection) میشوند. تفکیک درست این منطق های دیتابیس از لایه نمایش، یکی از اصول بنیادین در پیاده سازی معماری تمیز (Clean Architecture) به شمار میرود.
ContentValues و پارامترهای جایگزین (?) در دستورات شرطی استفاده کنید تا امنیت داده ها و سرعت کش شدن کوئری ها تضمین شود.
آشنایی با شیء Cursor و پیمایش نتایج
هنگامی که دستوری مانند query() یا rawQuery() را برای واکشی اطلاعات اجرا میکنید، نتیجه در قالب یک شیء Cursor بازگردانده میشود. شیء کرسر نقش یک اشارهگر را بر روی سطرهای خروجی ایفا میکند.
- با استفاده از متد
moveToFirst()کرسر به ابتدای نتایج هدایت میشود. - با بهرهگیری از یک حلقه
while (cursor.moveToNext())میتوان تمامی سطرها را یکییکی خوانده و ستون های مختلف را با متدهایی نظیرgetInt()یاgetString()استخراج کرد. - بسیار مهم: پس از اتمام فرآیند پیمایش، فراخوانی متد
cursor.close()برای آزادسازی هندل های حافظه ضروری است؛ در غیر این صورت با خطای نشت حافظه (Leakage) مواجه خواهید شد.
تراکنش ها (Transactions) و حفظ یکپارچگی داده ها
در مواقعی که نیاز دارید تعداد زیادی رکورد را به صورت دستهای (Batch) وارد دیتابیس کنید یا چندین عملیات وابسته به هم را انجام دهید، استفاده از تراکنش ها با متدهای beginTransaction() و setTransactionSuccessful() معجزه میکند. اجرای هزار رکورد بدون تراکنش ممکن است چندین ثانیه به طول بینجامد، در حالی که با بهرهگیری از Transactionها همین حجم داده در کسری از ثانیه پردازش میگردد.
همچنین ترکیب این لایه داده با ابزار های نمایش داده نظیر کامپوننت پیشرفته RecyclerView و معماری معماری MVVM، ساختار یک اپلیکیشن حرفهای، پایدار و مطابق با استانداردهای گوگل را تکمیل مینماید.
امتیاز و نظرات
هنوز نظری ثبت نشده است. اولین نفر باشید.