در این بسته به آموزش دیتابیس در اندروید میپردازیم. اما نه ساخت دیتابیس در اندروید به شیوه دستی سنتی! بلکه ساخت پایگاه داده Room در اندروید! یک کتابخانه نوین برای ایجاد و مدیریت دیتابیس به صورت حرفهای و با معماری MVVM.
اگر با دیتابیس و مفاهیم آن آشنا نیستید جای نگرانی نیست. همه مفاهیم از پایه توضیح داده شده است.
در واقع این بسته، فصل ششم از بسته جامع آموزش برنامه نویسی اندروید با کاتلین و استاندارد گوگل (+) است.
پس تماشای بسته جامع میتوانید دو آموزش زیر را نیز مستقل ببینید:
- رتروفیت (کار با سرور) و ریسایکلرویو در اندروید با معماری MVVM (+)
- طراحی Custom View یا نمای سفارشی در اندروید (+)
پایگاه داده Room چیست؟
یک پایگاه داده Room در واقع یک سیستم ذخیره و بازیابی اطلاعات در یک فایل SQLite مبتنی بر کتابخانه Room در اندروید است.
پیش از این در اندروید، کار با دیتابیس (پایگاه داده) امری دشوار و مستلزم استفاده از کدهای SQL به صورت مستقیم بود. کتابخانه Room به یک بیان ساده ابزاری برای مدیریت پایگاه داده با کدهای کاتلین یا جاوا است.
- در سیستم Room شما میتوانید هر جدول را به صورت یک Entity (یک کلاس کد) مدل کنید. دستورات SQL برای با این جدول و دادههای آن نیز به صورت یک DAO (یک کلاس کد) مدل میشوند. همچنین دستورات ایجاد و فراخوانی فایل SQLite نیست یک کلاس کد مجزا هستند.
- همچنین Room برقراری ارتباط زنده و روزآمد با دیتابیس را ممکن میکند. سیستم Room همگام با معماری MVVM است. کدهای کار با دیتابیس بسیار قابل مدیریت و تفکیک شده هستند.
این آموزش در یک نگاه
این آموزش اندروید نیز مانند فصلهای گذشته پروژه محور است. سورس یک پروژه تحویل و در طول آموزش کامل میشود.
همچنین آموزش را با مفهوم دیتابیس از پایه شروع میکنیم. این که Database چیست و SQL چیست؟ این که SQLite چیست؟
سپس سراغ پروژه می رویم و یاد میگیریم که کتابخانه Room چیست؟ به آموزش دیتابیس در اندروید با Room میپردازیم.
مفهوم Entity را یاد میگیرید و یک Entity ایجاد میکنید. مفهوم DAO یا Data Access Object را میآموزید و یک DAO میسازید.
یاد میگیرید که چگونه به کمک Room کار با دیتابیس SQLite را مدیریت کنید.
همچنین در خلال این آموزش مباحث مهم دیگری را میآموزید. این که Multi-threading چیست؟ چند نخی در اندروید چگونه انجام میشود؟ مفهوم Coroutines در کاتلین چیست؟ چطور با کوروتین یا هم-روال میتوان کدها را به thread دیگری منتقل کرد؟
همچنین گریزی به تست نویسی در اندروید و انواع Test در اندروید خواهیم زد. با ابزار دیباگ در اندروید آشنا خواهیم شد. و بسیاری مباحث کلیدی دیگر که در سرفصلها به تفصیل آمده است.
در پایان این آموزش شما یک اپلیکیشن ساختهاید که دارای پایگاه داده است. داده ها توسط این اپلیکشین در یک پایگاه داده ذخیره و از آن خوانده میشوند.
آموزههای اصلی
- درک مفهوم Database و مفهوم SLQ
- کار با دیتابیس در اندروید
- درک مفهوم Room و اجزای آن
- کدنویسی دیتابیس با Room
- برقراری ارتباط پایگاه داده و View-Model
- مفهوم چند-نخی یا Multithreading در اندروید
- مفهوم Coroutine در کاتلین
آموزههای فرعی
- آشنایی با تست نویسی در اندروید
- نمایش استرینگ های HTML با CDATA
- آشنایی با StringBuilder و Html در اندروید
- مفهوم دیباگ و Debugging در اندروید
- نمایش پیغام با Snackbar در اندروید
این آموزش بینظیر است زیرا:
- کار با دیتابیس در اندروید را میآموزید!
- آموزش پروژه محور و گام به گام است!
- کار با پایگاه داده Room را میآموزید!
- دیتابیس را منطبق با معماری mvvm میسازید!
- تست نویسی با دیتابیس را فرامیگیرید!
- نمایش خروجی دیتابیس به صورت استرینگ HTML را میآموزید!
پیشنیاز
آموزش معماری MVVM در اندروید (+)
کلیدواژگان
دیتابیس یا Database چیست – مفهوم SQL چیست -Sqlite چیست- دستورات SQL – کار با دیتابیس در اندروید – پایگاه داده در اندروید – پایگاه داده Room – کتابخانه Room – آموزش Room در اندروید – مفهوم Entity – مفهوم DAO – پایگاه داده با معماری MVVM – تست نویسی در اندروید – نمایش استرینگ HTML در اندروید – اتصال View-Model با دیتابیس در اندروید
ارسطو محمدقلی سنقری –
سلام جناب آقای آصفی عزیز
بنده از این آموزش خیلی استفاده کردم ( بسته کامل 6 قسمتی )
با چه ایمیلی میتونیم با شما تماس بگیریم ؟ برای پیشنهاد پروژه کاری
ایمیل بنده باید در بخش خریداران این دوره باشه و خشحال میشم تماس بگیرید برای یک پیشنهاد کاری کاتلین .با تشکر
مصطفی آصفی –
سلام و سپاس از لطف و انرژی مثبتتون. خوشحالم که براتون مفیده. در مورد پیشنهاد همکاری بنده به خاطر تمرکز روی هم رویش نمی رسم که خدمتتون باشم ولی پیشنهاد می کنم این صفحه آموزش رتروفیت (+) یا این صفحه آموزش کاستوم ویو (+) رو ببینید و با کلیک روی نام مدرس هاشون وارد صفحه مدرسی این ها در هم رویش بشید و از فرم مربوطه پیشنهادتون رو براشون ارسال کنید. این دو عزیر کارآموز هم رویش بودن و داور هر دو دوره هم خودم بودم. کارشون خیلی خوب بود. نمی دونم که الان این دو عزیز روی همین حوزه متمرکز هستن یا نه ولی خب امتحانش ضرری نداره. نهایتا یه درخواست ارسال می کنید شاید باعث آشنایی شد.
امین دهقان (خریدار محصول) –
سلام روز به خیر همانطور که مشخص هست در فصل ششم خیلی از مباحث آموزش داده شد(نسبت به فصل دو و سه و چهار )
البته بعضی از بحث ها هم کامل نبود این روند در فصل 5 نیز وجود داشت اما میشد از این آموزش به عنوان یه سرنخ استفاده کرد و بقیه مطالب را از اینترنت جستجو کرد نکته مهم این است که موارد مهمی مانند di یا ارتباط با سرور یا recycler View و … چه شد!!!؟؟؟
خواهشمند است آموزش را ادامه بدهید حتی اگر شده برای یک نفر
چرا که
به نظرم یک هم رویش (شاگرد) با کیفیت بهتر است از 100 شاگردی که مدام از این شاخه ب اون شاخه میپرند
با تشکر
مصطفی آصفی –
سلام به شما آقای دهقان. در رابطه با خواسته شما، دو آموزش پایین هم به همین سبک ادامه پیدا کرد و منتشر شد:
آموزش رتروفیت در اندروید برای کار با API و معماری MVVM (+)
آموزش ساخت نمای سفارشی در اندروید و معماری MVVM (+)
ضمنا در دوره رتروفیت بحث ریسایکلرویو هم با معماری mvvm مطرح شده.
پینوشت: ممنون از لطف شما و ارزیابی دقیقی که از دوره داشتید.
امین دهقان (خریدار محصول) –
سلام روز به خیر میخاستم ببینم برای موضوع مهم DI تزریق وابستگی هم برنامه آموزشی دارید؟
مصطفی آصفی –
سلام به شما. موضوع مهمی هست. انشالله یادداشت می کنم بعد از بحث اینترنت روی این موضوع زمان بگذارم. ممنون از شما