پروژه - مرورگر و دانلودر Flame برای گوشیهای هوشمند اندروید
✅ سرفصل و جزئیات آموزش
آنچه یاد خواهید گرفت:
- برنامهنویسی اندروید از سطح پایه تا پیشرفته
- ساخت مرورگر با تبهای متعدد و دانلودر با بخشهای متعدد
- ارتقای مهارتهای کدنویسی با یادگیری مباحث کاربردی
- انتشار اپلیکیشن خود به صورت لایو برای کاربران و شروع مسیر توسعهدهنده اپلیکیشن اندروید
پیشنیازهای دوره
- تنها تجربه برنامهنویسی اولیه نیاز است.
توضیحات دوره
مدرس، نویسنده مرورگر و دانلودر GinxDroid است. در این دوره، مرورگر و دانلودر Flame را برای گوشیهای اندرویدی میسازیم. این مرورگر دارای تبهای متعدد است و به یک دانلودر چندبخشی متصل است. شما با نحوه توسعه و انتشار واقعی اپلیکیشنهای اندروید آشنا میشوید. شما میتوانید این پروژه را برای توسعه اپلیکیشن آینده خود مرجع قرار دهید. از ویژگیهای کلیدی که توسعه میدهیم میتوان به تمها، Tab Manager (با ساخت layout manager سفارشی برای RecyclerView)، دانلودر مولتی سگمنت جهت افزایش سرعت دانلود، قابلیت رفرش آدرس دانلود برای رفرش لینکهای منقضی، سیستم کنترل نسخه (VCS)، عملیاتهای مربوط به VCS، انیمیشنها، نوارهای پیشرفت، determinate و indeterminate، استفاده و ارجاع درست کتابخانههای شخص ثالث، اشکالزدایی، استفاده از ابزارهای lint جهت اجرای linting برای کاهش هشدارها و خطاها، شمارهگیر سریع، تاریخچه، بوکمارکها، صفحات اصلی، صفحه اسپلش، آیکون لانچر، نوتیفیکیشنها، سرویسها، پنجره پاپآپ، دیالوگهای هشدار، فرگمنتها، طرحبندیهای متنوع و نحوه استفاده موثر از آنها در اپلیکیشنهای واقعی و بسیاری موارد توسعه دیگر اشاره کرد.
در پایان دوره، نسخه تولید اپلیکیشن را در پلی استور گوگل منتشر میکنیم. همه اینها در یک دوره جامع با بیش از 200 جلسه کدنویسی همراه است. هر جلسه با معرفی شروع میشود و با جمعبندی و آزمون پایان مییابد.
این دوره برای چه کسانی مناسب است؟
- توسعهدهندگان مبتدی و پیشرفته اندروید که به اصول برنامهنویسی اندروید علاقهمند هستند.
پروژه - مرورگر و دانلودر Flame برای گوشیهای هوشمند اندروید
-
مقدمه دوره 04:39
-
مقدمه پروژه 05:06
-
نصب اندروید استودیو - بخش 1 02:16
-
نصب اندروید استودیو - بخش 2 04:21
-
Tweak کردن تنظیمات اندروید استودیو 02:41
-
بهبود عملکرد اندروید استودیو 03:03
-
بررسی تبهای مختلف اندروید استودیو 12:34
-
بررسی پیشرفت خود از طریق آزمون None
-
ایجاد پروژه جدید در اندروید استودیو 06:03
-
بررسی فایل مانیفست اندروید 02:34
-
بررسی اسکریپتهای Gradle 06:22
-
ایجاد پروفایل دستگاه در AVD و راهاندازی اپلیکیشن در AVD 12:30
-
ایجاد فعالیت جدید 04:39
-
چرخه عمر فعالیت 03:35
-
View در اندروید 03:11
-
بررسی پیشرفت خود از طریق آزمون None
-
VCS - مقدمه 02:51
-
افزودن حساب گیتهاب و اشتراکگذاری پروژه در گیتهاب 07:18
-
فایل gitignore - ردیابی و لغو ردیابی فایلها در VCS 04:32
-
کامیت و پوش 04:36
-
بازگردانی کامیت قدیمی و پوش 02:34
-
چکاوت و بازگردانی کامیت 02:29
-
بررسی پیشرفت خود از طریق آزمون None
-
طرحبندیها در اندروید - مقدمه کلی 04:41
-
ایجاد attributes ضروری و اعلان منابع برای اپلیکیشن ما 11:26
-
طراحی متریال اندروید - شروع کار 10:27
-
افزودن نوار اپلیکیشن پایینی و دکمه اکشن شناور 23:04
-
ماژول تمها - مقدمه 00:40
-
ایجاد کلاس DatabaseHandler (SQLiteOpenHelper) 15:53
-
عملیاتهای CRUD پایگاه داده (ایجاد جداول پایگاه داده و مقداردهی اولیه) 23:16
-
درج تمها در پایگاه داده و بروزرسانی اسکیمای پایگاه داده قدیمی 29:58
-
ایجاد Bottom Sheet مودال در اندروید - شیت تمها 22:05
-
ایجاد طرحبندی شیت تمها و آشنایی با انواع بیلد 39:03
-
RecyclerView در اندروید - مقدمه کلی 03:08
-
ایجاد کلاس آداپتور برای RecyclerView 32:46
-
نمایش مدلهای تم ما به کاربر 20:03
-
گرد کردن گوشههای بالای Bottom Sheet 07:22
-
افزودن ستون تمهای تیره به پایگاه داده موجود 12:10
-
ایجاد توابع پایگاه داده یوتیلیتی مرتبط با ماژول تمها 12:26
-
ایجاد منابع تم برای اپلیکیشن ما 31:12
-
ایجاد کلاس سطح اپلیکیشن برای پایداری تمها 06:29
-
ایجاد فعالیت اولیه و اعمال تمها در آن 16:02
-
ایجاد قابلیت فعالسازی night mode برای صفحات وب 10:21
-
ایجاد دکمههای اکشن سریع برای ماژول تمها 15:27
-
Tweak کردن مقداردهی اولیه 06:47
-
جمعبندی ماژول تمها 05:48
-
بررسی پیشرفت خود از طریق آزمون None
-
ایجاد کلاس آداپتور برای Tab Manager - بررسی RecyclerView 07:47
-
افزودن تب جدید در Tab Manager - ایجاد توابع helper 21:13
-
شروع ایجاد Layout Manager سفارشی - CustomHorizontalManager 16:38
-
ادامه ایجاد CustomHorizontalManager 22:28
-
ایجاد قابلیت برای کوچککردن تب بزرگ شده 15:25
-
ایجاد قابلیت برای بزرگکردن تب کوچک شده 12:50
-
ایجاد صفحه پیشنمایش تب قبل از قابلیت اسکرول کردن 13:04
-
ایجاد قابلیت اسکرول کردن 04:49
-
ایجاد توابع scrollLeft و scrollRight 13:17
-
حذف تب از tab manager 10:20
-
ایجاد مورد حذف تب در CustomHorizontalManager 15:33
-
ایجاد Swipe Gesture برای حذف تب 33:04
-
جمعبندی بخش اسکلتون tab manager 09:55
-
بررسی پیشرفت خود از طریق آزمون None
-
نگاهی به دو صفحه نمایش و ارتقای پلاگین Gradle به نسخه 8 02:26
-
افزودن نوار پایین به تب 28:31
-
طراحی نوار بالا 15:09
-
ایجاد طرحبندی صفحه اصلی پیشفرض 20:04
-
افزودن WebView و ProgressBar در طرحبندی تب 06:35
-
استفاده از RecycledViewPool و ایجاد QuickLinksRVHomePageAdapter 18:50
-
ایجاد توابع پایگاه داده مربوط به آیتم لینک سریع 24:46
-
ادامه توسعه QuickLinksRVHomePageAdapter 16:04
-
ایجاد کلاس TextDrawable 18:29
-
جمعبندی بخش ایجاد صفحه اصلی پیشفرض 05:31
-
بررسی پیشرفت خود از طریق آزمون None
-
WebView در اندروید چیست؟ 03:37
-
رندرینگ اولین صفحه وب و Tweak کردن تنظیمات مرتبط با WebView 29:38
-
نمایش URL صفحه وب در نوار بالا 34:58
-
نمایش پیشرفت صفحه وب برای کاربر 32:09
-
ایجاد پیشنمایش تب و نمایش آن 34:45
-
فیکس کردن glitch پیشنمایش تب 02:58
-
جمعبندی بخش 05:33
-
بررسی پیشرفت خود از طریق آزمون None
-
مقدمه 02:14
-
ارجاعدهی ساختار منوی پروژه آماده ما 00:57
-
ایجاد طرحبندی برای menu sheet 16:51
-
توسعه کلاس RVIndicator - بخش 1 37:33
-
توسعه کلاس RVIndicator - بخش 2 - نمایش MenuSheet به کاربر 43:04
-
ساخت کلاس MenuHelper برای نمایش RecyclerView منو 13:40
-
ایجاد آداپتور برای RecyclerView منو 10:38
-
ایجاد طرحبندی صفحه منوی اول 12:17
-
ایجاد صفحه منوی دوم 08:29
-
نمایش منوی نهایی به کاربر 12:38
-
ایجاد قابلیت دکمههای پایین منو 21:38
-
مخفیسازی نوار پایین هنگام نمایش کیبورد و فیکس کردن باگ نمایش تمام صفحه 09:16
-
ایجاد قابلیت حالت وب 22:11
-
ادامه ایجاد قابلیت دکمههای صفحه منوی اول 10:19
-
نمایش عنوان صفحه وب و فاویکون به کاربر 14:54
-
تعریف مورد 9 و 10 در CustomLayoutManager 12:35
-
فراخوانی بستن این تب پس از آمادهسازی ساختار داخلی برای بستن تب 07:58
-
ایجاد قابلیت برای دکمه بستن این تب 14:07
-
ایجاد قابلیت برای دکمه یافتن در صفحه 38:30
-
ایجاد قابلیت برای دکمههای اشتراکگذاری، کپی و چاپ 08:57
-
ایجاد قابلیت مقیاسبندی متن 15:00
-
ایجاد فعالیت تنظیمات پیش از پایان بخش منو 16:10
-
جمعبندی بخش منو 08:47
-
نکته مهم پیش از رفتن به بخش بعدی 02:53
-
بررسی پیشرفت خود از طریق آزمون None
-
ایجاد توابع پایگاه داده مرتبط با ماژول صفحه اصلی 15:14
-
افزودن URL صفحه اصلی در پایگاه داده 16:42
-
صفحه وب دیگری که صفحه اصلی نیست نمایش داده نمیشود - فیکس کردن باگ 08:34
-
ساخت قابلیت رفتن به صفحه اصلی 07:42
-
ایجاد طرحبندی برای مدیریت صفحات اصلی 13:04
-
ایجاد قابلیت مخفیسازی برای سرچ باکس مدیریت صفحات اصلی 08:28
-
ایجاد سطر آیتم صفحه اصلی برای RecyclerView 09:36
-
ایجاد MangeHomePagesRVAdapter 19:06
-
ایجاد قابلیت برای حذف آیتم صفحه اصلی 20:52
-
ایجاد جداول و متدهای لازم پایگاه داده 09:26
-
در نهایت استفاده از ManageHomePagesRVAdapter با RecyclerView 08:35
-
ایجاد قابلیت دکمه افزدون به بوکمارک 21:53
-
ایجاد قابلیت مدیریت بوکمارکها 25:29
-
ایجاد کلاس BookmarksHelper 37:44
-
ایجاد مورد 6 و 4 در CustomHorizontalManager 13:33
-
ایجاد قابلیت افزودن به شمارهگیر سریع 12:57
-
ایجاد منو برای آیتم لینک سریع 15:33
-
ایجاد قابلیت دکمه باز کردن در پسزمینه در منوی لینک سریع 09:38
-
تغییر قابلیت تغییر نام شمارهگیر سریع 23:51
-
ایجاد قابلیت حذف شمارهگیر سریع 04:50
-
ایجاد توابع پایگاه داده مرتبط با آیتم تاریخچه 28:44
-
ذخیره آیتم تاریخچه در پایگاه داده 18:47
-
ایجاد فعالیت مدیریت تاریخچه و طرحبندی آن 13:02
-
ایجاد ManageHistoryRVAdapter 15:28
-
ایجاد طرحبندی سطر برای RecyclerView تاریخچه 11:24
-
تست قابلیت مدیریت تاریخچه پس از ایجاد آداپتور برای RecyclerView 04:04
-
ایجاد ژست سوایپ برای حذف آیتم تاریخچه 06:40
-
ایجاد قابلیت پاک کردن تاریخچه 21:52
-
ایجاد کلاس helper تاریخچه 19:22
-
جمعبندی بخش تاریخچه، بوکمارکها و شمارهگیر سریع 05:39
-
بررسی پیشرفت خود از طریق آزمون None
-
مقدمه بخش 01:09
-
ایجاد جدول پایگاه داده و توابع helper ضروری 19:13
-
پنجره پاپآپ در اندروید برای نمایش موتورهای جستجو 08:08
-
ایجاد آداپتور برای RecyclerView موجود در پنجره پاپآپ 18:38
-
فیکس کردن خطاهای آداپتور موتور جستجو 08:57
-
استفاده از آداپتور موتور جستجو با RecyclerView 20:37
-
بازکردن پنجره پاپآپ سلکتور موتور جستجو از صفحه اصلی پیشفرض 04:18
-
ایجاد ماژول ویجت جستجو 20:30
-
نمایش ویجت جستجوی ما به کاربر 19:37
-
ایجاد جدول تاریخچه جستجو و متدهای helper آن در DatabaseHandler 05:26
-
ایجاد طرحبندی سطر آیتم برای RecyclerView تاریخچه جستجو 04:05
-
ایجاد آداپتور برای RecyclerView تاریخچه جستجو 33:24
-
استفاده از آداپتور با RecyclerView ماژول ویجت جستجو 23:05
-
ایجاد توابع مرتبط با voice launcher 08:12
-
ادامه ایجاد قابلیت voice launcher 29:23
-
مدیریت میکروفون و درخواست محتوای DRM 25:11
-
ایجاد فعالیت مدیریت تاریخچه جستجو و توابع پایگاه داده مرتبط 08:28
-
ساخت مدیریت تاریخچه جستجو 21:28
-
جمعبندی بخش 03:36
-
بررسی پیشرفت خود از طریق آزمون None
-
ایجاد جدول تنظیمات سایت در پایگاه داده و متدهای مرتبط 13:38
-
ایجاد فعالیت تنظیمات سایت 22:37
-
ارجاعدهی views فعالیت تنظیمات سایت و عملیاتی کردن آنها 42:36
-
استفاده از تنظیمات ذخیره شده سایت 08:07
-
استفاده از تنظیمات سایت در WebView 05:25
-
پیادهسازی قابلیت لوکیشن 30:46
-
ایجاد tips sheet 06:15
-
ایجاد طرحبندی شیت پاککردن رکوردها 11:56
-
ایجاد قابلیت پاک کردن رکوردها 46:50
-
ایجاد قابلیت اشتراکگذاری لینک اپلیکیشن و ریست تنظیمات 16:59
-
ایجاد فعالیت درباره این اپلیکیشن 10:35
-
ایجاد فعالیت اطلاعات حقوقی 08:20
-
ایجاد فعالیت اعتبارات 18:12
-
جمعبندی بخش 04:33
-
بررسی پیشرفت خود از طریق آزمون None
-
ایجاد آیکون لانچر برای اپلیکیشن 16:50
-
ایجاد صفحه اسپلش برای اپلیکیشن 18:53
-
مدیریت اینتنت جدید در MainActivity 27:23
-
ایجاد تنظیمات ذخیره سایتهای اخیر 11:05
-
دریافت URLs فعلی از tab manager 11:50
-
تعریف مورد 7 و 8 در CustomHorizontalManager 08:29
-
ایجاد قابلیت باز کردن سایتهای اخیر 19:33
-
ایجاد حالت ناشناس 17:02
-
ایجاد قابلیت پاک کردن رکوردهای ناشناس و فعالسازی وبگردی ایمن 12:42
-
نکته مهم - فیکس کردن رشته عامل کاربر 02:01
-
ایجاد قابلیت نمایش ویدئو در حالت تمام صفحه 15:30
-
ایجاد مورد 5 در CustomHorizontalManager 04:04
-
فیکس کردن خطا 02:09
-
ایجاد onConfigurationChanged و tweak کردن فایل مانیفست 20:53
-
جمعبندی بخش 07:48
-
بررسی پیشرفت خود از طریق آزمون None
-
Overriding قابلیت دکمه بازگشت دستگاه برای اپلیکیشن ما 18:42
-
پاز، از سرگیری مجدد و از بین بردن WebView 08:19
-
ایجاد callback انتخابگر فایل 18:09
-
ایجاد طرحبندی منوی صفحه وب 04:47
-
ایجاد منوی صفحه وب 38:16
-
ایجاد متدهای باقیمانده CustomHorizontalManager 02:01
-
ایجاد مسدودکننده پاپآپ 31:04
-
ایجاد قابلیت اسکنر QR 33:57
-
نکته مهم - برای بهبود عملکرد tab manager 00:57
-
ایجاد قابلیت نمایش اطلاعات اتصال 19:24
-
نمایش آموزش اپلیکیشن به کاربر 21:57
-
جمعبندی بخش 10:32
-
بررسی پیشرفت خود از طریق آزمون None
-
مقدمه بخش دانلودر (درباره فرآیند توسعه دانلودر) 01:11
-
ایجاد جداول پایگاه داده مرتبط با دانلودر 22:37
-
ایجاد مدل DownloadTask 06:05
-
ایجاد تابع پایگاه داده برای افزودن دانلود تسک 07:53
-
افزودن ستونهای اضافی به جدول ترجیحات کاربر 05:51
-
ایجاد طرحبندی برای دیالوگ انتخاب نشدن مسیر ذخیرهسازی 05:13
-
ایجاد onListenDownload 18:29
-
ایجاد لانچر فعالیت انتخاب مسیر دانلود برای نتیجهها 04:57
-
ایجاد task fetcher دانلود و استفاده از آن 10:20
-
ایجاد کلاس helper مربوط به HumanReadableFormat 14:04
-
شروع توسعه کلاس DownloadTaskFetcher 19:58
-
ایجاد کلاس HelperUtil 26:09
-
ادامه توسعه کلاس DownloadTaskFetcher 11:03
-
ایجاد طرحبندی AddNewDTaskSheet 16:40
-
ادامه توسعه AddNewDTaskSheet 52:57
-
طراحی طرحبندی FirstActivity 07:13
-
فیکس کردن باگ مرتبط با تمها و ایجاد فعالیت DownloaderSettings 04:48
-
ایجاد طرحبندی فعالیت DownloaderSettings 09:30
-
فعالسازی عملکرد views فعالیت DownloaderSettings 36:06
-
فعالسازی دکمه منوی ذخیره تصویر 18:03
-
ایجاد FragmentStateAdapter 16:22
-
ایجاد editLLLinearLayout در فایل activity_first.xml 08:51
-
ارجاعدهی به editLL و views آن و ارسال به آداپتورها 14:12
-
ایجاد طرحبندیها برای آیتم ViewHolder در RecyclerViewAdapter 24:33
-
ارجاعدهی به views از طرحبندی در ViewHolder of RecyclerViewAdapter 21:00
-
ایجاد توابع پایگاه داده که شناسه تسکها را برمیگردانند 13:52
-
نوشتن کد onBind برای RecyclerViewAdapter 27:41
-
تعریف توابع RecyclerViewAdapter 22:14
-
ایجاد طرحبندی برای ViewHolder در CompletedRecyclerViewAdapter 06:08
-
تعریف توابع CompletedRecyclerViewAdapter 04:05
-
LocalBroadcastManager و BroadcastReceiver - مقدمه و استفاده از آنها 11:12
-
ایجاد شیت BatteryOptimization 17:49
-
درخواست دسترسی ارسال نوتیفیکیشنها از کاربر 13:42
-
تعریف متدهای FirstActivity 11:07
-
جمعبندی بخش 03:29
-
بررسی پیشرفت خود از طریق آزمون None
-
ایجاد توابع پایگاه داده لازم برای دانلود DownloadTask 01:05:00
-
ایجاد کلاس CustomNotificationGenerator 49:40
-
شروع توسعه DownloadingService 22:00
-
تعریف کلاس DownloadsExecutor در DownloadingService 13:32
-
شروع تعریف متد run در DownloadingService 22:30
-
تعریف متدهای DownloadsExecutor 16:53
-
تعریف متدهای DownloadingService 01:05:44
-
ادامه توسعه DownloadsExecutor 40:07
-
تعریف متدهای مربوط به استثناهای ظاهر شده 20:16
-
تعریف متدهای مرتبط با استثناهای ظاهر شده 18:44
-
ایجاد متدهای باقیمانده مربوط به استثناهای ظاهر شده 10:38
-
ایجاد و تعریف کلاسهای لازم 36:40
-
ایجاد کلاسهای لازم برای دانلود بخشهای دانلود تسک 52:18
-
افزودن مجوز به فایل مانیفست و تعریف onStartCommand 09:14
-
جمعبندی بخش 01:46
-
شرکت در آزمون برای بررسی پیشرفت None
-
اتصال رابط کاربری اکنون دانلود کنید، رابط کاربری پاز و از سرگیری مجدد با دانلودر 18:24
-
فیکس کردن مشکل بروزرسانی نشدن رابط کاربری 01:33
-
فیکس کردن مشکل بروزرسانی نشدن نوارهای پیشرفت 05:24
-
ایجاد طرحبندی برای دیالوگ جزئیات خطای پاپآپ 07:22
-
کدنویسی متدها برای نمایش دیالوگ جزئیات خطای پاپآپ 19:23
-
ایجاد متد شروع مجدد از ابتدا 07:41
-
تعریف متدهای مرتبط با کد onStartCommand 30:58
-
ایجاد دیالوگ پاپآپ پیام معمولی 03:05
-
ایجاد طرحبندی برای دیالوگ رفرش آدرس دانلود 23:53
-
دسترسی به views رفرش آدرس دانلود و ایجاد RefreshAddress thread 20:35
-
تعریف متد run در RefreshTask 35:11
-
بررسی todos 01:15
-
شروع ایجاد قابلیت multi-select-delete 16:57
-
تعریف onLongClickListener برای MaterialCardView 07:53
-
تغییر onCreateListener برای فعالسازی عملکرد multi-select 07:59
-
Tweak کردن تابع onBind برای نمایش MaterialCardView به صورت چک شده یا نشده 01:54
-
ایجاد متدهای مربوط به multi-select و delete 12:11
-
ایجاد طرحبندی دیالوگ حذف 07:31
-
تعریف متدهای ایجاد و حذف پاپآپ 20:23
-
تعریف تسکهای حذف 12:58
-
ایجاد متدهای مرتبط با multi-select-delete در CompletedRecyclerViewAdapter 22:20
-
ایجاد onLongClickListener برای آیتم CompletedRecyclerView 02:36
-
تعریف onClickListener برای آیتم CompletedRecyclerView 09:46
-
تعریف onClickListeners و تست قابلیت multi-select-delete 09:06
-
ایجاد فعالیت - طرحبندی FileDetails 18:41
-
تعریف کد در FileDetails و فیکس کردن برخی هشدارها 19:57
-
Overriding متدهای FirstActivity 13:06
-
فیکس کردن MainActivity todo 01:32
-
کامیت کردن کد ما 09:43
-
ایجاد اپلیکیشن و واحد تبلیغاتی در داشبورد AdMob 14:13
-
ادامه فرآیند پیادهسازی تبلیغات بنر AdMob 13:51
-
تعریف متدها در FirstActivity برای نمایش تبلیغات بنر 31:35
-
ایجاد پیام رضایت در AdMob 11:43
-
تست تبلیغات بنر AdMob 08:51
-
شرکت در آزمون برای بررسی پیشرفت None
-
تحلیل کد قبل از آمادهسازی بسته نهایی 01:02
-
انجام مراحل نهایی پیش از بستهبندی اپلیکیشن 12:19
-
تولید بسته اپلیکیشن ما 09:07
-
انتشار اپلیکیشن ما 47:09
-
شرکت در آزمون برای بررسی پیشرفت None
مشخصات آموزش
پروژه - مرورگر و دانلودر Flame برای گوشیهای هوشمند اندروید
- تاریخ به روز رسانی: 1404/06/21
- سطح دوره:همه سطوح
- تعداد درس:292
- مدت زمان :70:11:55
- حجم :37.73GB
- زبان:دوبله زبان فارسی
- دوره آموزشی:AI Academy