مؤسسه خیریه حمایت از کودکان مبتلا به سرطان

محک

مؤسسه خیریه حمایت از

کودکان مبتلا به سرطان

۱۰ درصد درآمد‌های وب‌سایت علمی تخصصی nCIS صرف کمک به مؤسسه محک در راستای حمایت از کودکان مبتلا به سرطان خواهد شد.

سرطان، علاوه‌بر درد، هزینه هم دارد.


امید است با تداوم این حرکت، فرهنگ‌سازی مناسبی صورت پذیرد. ۸۰ میلیون ایرانی، اگر هرکدام ماهانه ۱,۰۰۰ تومان کمک نمایند، هر ماه ۸۰ میلیارد تومان کمک‌های مردمی جمع‌آوری خواهد شد و دیگر کسی بخاطر هزینه‌های سنگین داروهای درمان سرطان، جان خود را از دست نخواهد داد.

برنامه نویسی اندروید مقدماتی


اندروید (از یونانی: به معنای مَرد، انسان، شبه آدم یا رُبات (آدم آهنی))، (به انگلیسی: Android) نام سیستم‌عاملی است که گوگل برای اسمارت فون‌ها و تبلت‌ها و هم اکنون برای تلویزیون‌ها عرضه می‌نماید و با همکاری ده‌ها شرکت بر روی دستگاه‌های مبتنی بر اندروید قرار می‌دهد. اندروید بر پایهٔ هسته لینوکس ساخته شده‌است. سیستم عامل اندروید توانسته محبوبیت زیادی جلب کند که به طوری که بیشتر مردم در سراسر جهان از این سیستم عامل استفاده می کنند.

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

پیش‌نمایش:

:: سرفصل ها ::

  • آشنایی با فضای برنامه‌نویسی اندروید
    • تاریخچه اندروید
    • قابلیت‌ها
    • کاربردها
    • امنیت
    • ویژگی‌های توسعه نرم‌افزار در اندروید
    • توسعه بازی در اندروید
    • روند توسعه اندروید و درصد استفاده از آن
    • نصب و راه‌اندازی محیط توسعه
    • رفع اشکال
  • آماده‌سازی محیط کار
    • تشریح ساختار داخلی اندروید
    • دانلود و نصب JDK
    • دانلود و نصب Android Studio
    • دانلود و نصب VirtualBox
    • دانلود و نصب GenyMotion
    • اجرای Android Studio و دانلود SDKهای موردنیاز
    • اجرای SDK Manager مستقل اندروید
    • اجرای GenyMotion و دانلود Emulator موردنظر
    • ایجاد Emulator با کمک AVD Manager
    • اجرای Emulator و تنظیم‌کردن آن برای توسعه نرم‌افزار
    • فعالسازی Developer Options
    • فعالسازی USB Debugging و Unknown Sources و توضیح مفهوم آنها
    • ایجاد یک پروژه ساده
    • کامپایل و اجرای پروژه در Emulator
    • تشریح مفهوم Minimum SDK
    • ایجاد تغییرات ظاهری ساده و Build مجدد پروژه
  • آشنایی با محیط Android Studio
    • ایجاد پروژه جدید
    • آشنایی با مفهوم نام برنامه و پکیج
    • انتخاب دستگاه‌های مورد پشتیبانی نرم‌افزار شما
    • آشنایی با مفهوم Minimum SDK
    • تشریح مفهوم Activity یا فعالیت
    • انتخاب نوع اکتیویتی
    • تشریح انواع مختلف Activity
    • پیمایش در پروژه
    • آشنایی با پنل پیمایش پروژه
    • تشریح نماهای Project و Packages و Android
    • ساختار پروژه و پوشه‌های داخلی آن
    • تشریح مفهوم Manifest یا شناسنامه برنامه
    • پوشه منابع و مفهوم منبع در پروژه اندروید
    • گرِیدِل (Gradle) چیست؟
    • توضیح برخی از تنظیمات گریدل
    • آشنایی با پنجره تنظیمات اندروید استودیو
    • کار با پنجره تنظیمات اختصاصی پروژه
  • استفاده از ویرایشگر کد
    • سفارشی‌سازی تنظیمات ادیتور
    • تکمیل کدها
    • تولید کد
    • پیمایش کدها
    • کلیدهای میانبر سودمند
  • ساخت رابط کاربری
    • ویرایشگر گرافیکی
    • درخت اجزای Layout
    • بخش خصوصیات
    • جعبه عناصر یا Components Palette
    • ویرایشگر متنی
    • ایجاد یک لی‌اوت جدید
    • اضافه‌کردن عناصر
    • پشتیبانی از چند صفحه‌نمایش
    • تغییر تم رابط کاربری
    • مدیریت رویدادها
    • نوشتن اولین برنامه کاربردی
  • اپلیکیشن، اکتیویتی، اینتنت و فرگمنت
    • مفهوم اکتیویتی
    • اتصال اکتیویتی‌ها با کمک Intent
    • چرخه‌ی حیات اکتیویتی
    • معرفی کلاس Application
    • چرخه‌ی حیات اپلیکیشن
    • ارسال مقادیر بین اکتیویتی‌ها ازطریق اینتنت
    • دریافت نتایج یک اکتیویتی
    • مفهوم فرگمنت
    • اضافه‌کردن فرگمنت بصورت ایستا
    • اضافه‌کردن فرگمنت بصورت پویا
    • چرخه‌ی حیات فرگمنت
    • فراخوانی برنامه‌های داخلی موبایل توسط Intent
  • مفاهیم پایه زبان جاوا و مفاهیم پیشرفته شئ گرایی و استفاده از رابطها و وراثت
    • مفهوم متغیر
      • نوع متغیر
      • نحوه تعریف متغیر
      • شناسه چیست؟
      • انواع متغیر در جاوا
      • انواع داده صحیح
        • نوع int
        • نوع long
        • نوع short
        • نوع byte
        • مقداردهی متغیرها در مبنای غیر از 10
        • نوع char
        • استفاده از کدگذاری Unicode و کارکترهای Escape
      • نوع داده boolean
      • انواع داده اعشاری
        • نوع float
        • نوع double
      • استفاده از Underscore در اعداد
    • عملگرها
      • عملگر چیست؟
      • عملوند چیست؟
      • انواع عملگر تکی، دوتایی و سه‌تایی
      • عملگر انتساب
      • عملگرهای ریاضی
      • تفاوت عملگرهای پیشوندی و پسوندی
      • عملگرهای رابطه‌ای یا مقایسه‌ای
      • عملگرهای منطقی
      • عملگرهای بیتی
      • عملگر شرطی
      • اولویت عملگرها
    • دستورات جاوا
      • یک دستور چیست؟
      • انواع دستورات
      • دستورات تعریفی
      • انواع دستورات توصیفی
      • دستورات کنترل جریان
      • بلاک دستور چیست؟
      • دستور if-else
      • دستور switch
        • انواع عبارات مجاز در Switch Expression
        • مفهوم case و label
        • بخش default
        • خروج از ساختار switch
      • دستور for
        • بخش آماده‌سازی یا Initialization
        • بخش عبارت شرطی یا Control-Expression
        • بخش فهرست دستورات یا Expression-List
        • فشرده‌سازی کد با کمک حلقه for
        • حلقه for بینهایت
        • حلقه‌های تودرتو
      • دستور while
        • تبدیل حلقه for به while
        • تفاوت بخش Condition-Expression با حلقه for
      • دستور do-while
        • تفاوت عملیاتی با حلقه while
        • تفاوت ظاهری با حلقه while
      • دستور break
        • دستور break بدون برچسب
        • دستور break با برچسب
        • مفهوم برچسب یا Label دستورات
        • خروج از بلاک‌های بیرونی در بلاک‌های تودرتو
      • دستور continue
        • دستور continue بدون برچسب
        • دستور continue با برچسب
        • رد کردن حلقه‌های بیرونی با کمک برچسب
        • تفاوت در اجرای continue در حلقه‌های for و while و do-while
      • کاربرد دستور خالی یا Empty Statement در جاوا
    • شروع شئ‌گرایی
      • برنامه‌نویسی شئ‌گرا
      • کلاس چیست؟
      • تعریف یک کلاس
      • تعریف فیلدهای داخل کلاس
      • فیلدهای نمونه‌ای و کلاسی یا Static
      • ساخت نمونه‌هایی از یک کلاس
      • نوع ارجاعی null یا پوچ
      • استفاده از عملگر نقطه برای دسترسی به عناصر کلاس
      • مقداردهی پیشفرض فیلدها
      • مفهوم پکیج در جاوا
      • اصلاح‌گرهای سطح دسترسی کلاس
        • سطح دسترسی پکیج
        • سطح دسترسی عمومی یا Public
      • تعریف متدهای کلاس
        • مفهوم امضای متد
        • سربارگذاری یا Overload متد
      • متغیرهای محلی
      • متدهای نمونه‌ای و استاتیک
      • فراخوانی متدها
      • this چیست؟
      • سطح دسترسی عناصر کلاس
        • سطح دسترسی پکیج
        • سطح دسترسی عمومی یا Public
        • سطح دسترسی خصوصی یا Private
        • سطح دسترسی محافظت‌شده یا Protected
      • روشهای ارسال پارامتر برای متد در جاوا
      • سازنده‌ها
        • تعریف سازنده
        • سربارگذاری یا Overload سازنده
        • فراخوانی یک سازنده از درون سازنده دیگر
        • استفاده از دستور return داخل سازنده
        • اصلاح‌گر سطح دسترسی سازنده
        • سازنده پیشفرض
      • بلاک آماده‌سازی نمونه‌ای
      • بلاک آماده‌سازی استاتیک
      • کلمه کلیدی final
        • متغیر محلی final
        • فیلدهای final نمونه‌ای و استاتیک
        • مقداردهی اولیه متغیر و فیلد final بعد از تعریف
        • پارامترهای final
        • متغیرهای ارجاعی final
      • متد varargs چیست؟
        • دستور foreach
        • سربارگذاری متد varargs
    • کلاس‌های Generic و Wrapper و رشته‌ها
      • مفهوم کلاس‌های Generic
        • تعریف یک کلاس جنریک
        • استفاده از کلاس جنریک
      • کلاس‌های Wrapper
        • کلاس‌های دربرگیرنده استاندارد جاوا
        • کار با کلاس‌های دربرگیرنده
        • استفاده از سازنده و متد valueOf
      • رشته‌ها
      • معرفی کلاس String
      • تفاوت کلاس‌های Mutable و Immutable
      • عبارت‌های رشته‌ای
      • کارکترهای Escape در عبارات رشته‌ای
      • کارکترهای Escape یونیکد در عبارات رشته‌ای
      • نقش CharSequence چیست؟
      • ساخت اشیاء String
      • استفاده از عبارات رشته‌ای بعنوان اشیاء String
      • مفهوم حوضچه رشته‌ها یا String Pool
      • عملیات رشته‌ای
        • محاسبه طول رشته
        • مقایسه دو رشته
        • استخراج کارکتر مشخص از رشته
        • مقایسه دو رشته بدون حساسیت به حروف بزرگ و کوچک
        • مقایسه دو رشته براساس الفبای زبان‌های طبیعی
        • بررسی خالی بودن رشته
        • تبدیل رشته به حروف بزرگ
        • تبدیل رشته به حروف کوچک
        • یافتن یک رشته داخل رشته دیگر
        • جداکردن بخشی از یک رشته
        • حذف فواصل خالی ابتدا و انتهای رشته
        • جایگزینی یک کارکتر در رشته
        • جایگزینی یک عبارت در رشته
        • بررسی شروع رشته با عبارت خاص
        • بررسی پایان رشته با عبارت خاص
        • شکستن رشته براساس الگوی مشخص
      • رشته‌ها در داخل دستور switch
      • کلاس‌های StringBuilder و StringBuffer
      • عملگر ادغام رشته‌ها (+)
      • زنجیره متدها یا Method Chaining
    • مدیریت خطاها و استثناها
      • مدیریت خطاها و استثناها
      • مفهوم استثنا یا Exception
      • یک استثنا، یک شئ است
      • استفاده از بلاک try-catch
      • انتقال کنترل برنامه
      • ساختار سلسله‌مراتبی استثناها
      • مرتب‌سازی بلاک‌های catch چندگانه
      • استثناهای Checked و Unchecked
      • تفاوت گرفتن استثنا یا تعریف آن با کمک throws
      • وقوع استثنا در آماده‌سازها
      • پرتاب یک Exception به بیرون
      • ایجاد یک کلاس استثنای سفارشی
      • بلاک finally
      • بلاک try-with-resources با تخصیص و آزادسازی خودکار منابع
      • بلاک catch چندگانه یا Multi-catch
    • وراثت
      • وراثت چیست؟
      • کلاس Object والد پیشفرض تمام کلاس‌ها
      • ساختار سلسله‌مراتبی وراثت
      • چه چیزهایی به کلاس فرزند ارث می‌رسد؟
      • تبدیل به بالا یا Upcasting
      • تبدیل به پایین یا Downcasting
      • تبدیل نوع با Typecasting
      • عملگر instanceof
      • ابطال و رونویسی متدها یا Override
      • قوانین رونویسی
      • دسترسی به متد رونویسی‌شده
      • وراثت و سازنده‌ها
      • پنهان‌کردن متدها
      • پنهان‌کردن فیلدها
      • غیرفعال‌کردن وراثت
      • مفهوم کلاس final
      • مفهوم متد final
      • کلاس‌ها و متدهای Abstract
      • مفهوم کلاس Concrete
      • تفاوت کلاس‌های چکیده با کلاس‌های معمولی
      • رونویسی متدهای کلی یا Generic
      • خطر اشتباه سهوی در زمان رونویسی متدها
      • الزام در کدنویسی با کمک Annotation یا حاشیه‌نویسی
      • انواع ارتباط is-a و has-a و part-of
      • عدم امکان وراثت چندگانه
    • آرایه‌ها
      • آرایه چیست؟
      • روش تعریف آرایه
      • آرایه‌ها شئ هستند
      • دسترسی به عناصر آرایه
      • طول آرایه
      • آماده‌سازی عناصر آرایه
      • مراقب آرایه‌های نوع ارجاعی باشید
      • آماده‌سازی صریح آرایه
      • محدودیت‌های استفاده از آرایه‌ها
      • آرایه‌هایی با طول متغیر
      • ارسال یک آرایه بعنوان پارامتر برای متد
      • تفاوت کپی سطحی و عمیق
      • آرایه‌های چندبعدی
      • مقداردهی اولیه آرایه‌های چندبعدی
      • دستورزبان تعریف آرایه از نگاه دقیق‌تر
      • بررسی محدوده‌ی آرایه در زمان اجرا
      • کلاس شئ آرایه چیست؟
      • سازگاری در انتساب آرایه‌ها
      • تبدیل آرایه به ArrayList/Vector و برعکس
    • انواع شمارشی یا Enum
      • نوع شمارشی چیست؟
      • تعریف نوع شمارشی
      • استفاده از Enum
      • کلاس والد نوع شمارشی
      • استفاده از انواع شمارشی در دستور switch
      • نسبت‌دادن داده‌ها و متدها به ثابت‌های Enum
      • تعریف داده‌های جانبی برای نوع شمارشی
      • تعریف بدنه برای ثابت‌های شمارشی
      • مقایسه‌ی دو ثابت Enum
      • انواع شمارشی تودرتو
      • جستجوی معکوس به‌دنبال ثابت‌های شمارشی
    • رابط‌ها
      • مفهوم رابط یا Interface چیست؟
      • دستورزبان تعریف یک رابط
      • تعریف عناصر داخلی رابط
        • تعریف فیلدهای ثابت
        • تعریف متدها
          • تعریف متدهای ناقص یا abstract
          • تعریف متدهای استاتیک
          • تعریف متدهای پیشفرض یا default
        • تعریف عناصر تودرتو
      • رابط یک نوع جدید ایجاد می‌کند
      • پیاده‌سازی یک رابط
        • پیاده‌سازی متدهای یک رابط
        • پیاده‌سازی چند رابط بصورت همزمان
        • پیاده‌سازی بخشی از یک رابط
        • پیاده‌سازی یک رابط در داخل نوع شمارشی
      • ارتباط والد و فرزند بین کلاس و رابط
      • وراثت در رابط‌ها
      • ارتباط والد و فرزند بین رابط‌ها
      • ارث‌بردن پیاده‌سازی‌های متداخل
      • عملگر instanceof از نگاه دقیق‌تر
      • کاربرد عملگر instanceof درکنار آرایه‌ها و رابط‌ها
      • رابط‌های علامت یا Marker Interfaces
      • رابط‌های عملیاتی
      • مقایسه اشیاء با کمک رابط‌های Comparable و Comparator
      • چندریختی: یک شئ با چند ظاهر
      • ایجاد شئ ازروی رابط
  • پروژه‌ی عملی - برنامه‌ی تبدیل واحد
    • ایجاد پروژه‌ی جدید
    • طراحی و تغییر آیکن برنامه
    • ساخت کلاس Application اختصاصی
    • آشنایی با Google Unit Converter
    • طراحی Layout صفحه‌ی اصلی برنامه
    • طراحی Layout صفحه‌ی تبدیل مساحت
    • کار با رشته‌ها و آرایه‌ها در strings.xml
    • جلوگیری از خروج تصادفی از برنامه
    • ایجاد کلاس اکتیویتی پیشرفته و اختصاصی
    • جابجایی بین اکتیویتی‌های برنامه با کلاس App
    • ایجاد انواع شمارشی موردنیاز
    • ساخت کلاس‌های کمکی تبدیل واحد
    • کمک‌گرفتن از Google Unit Converter برای تعیین نسبت تبدیل‌ها
    • دریافت گزینه‌های انتخاب‌شده توسط کاربر در Spinner و تبدیل به نوع شمارشی متناسب
    • تست و اشکال‌زدایی برنامه
    • تقسیم کلاس‌ها و اجزاء برنامه بین پکیج‌های مختلف جهت حفظ نظم برنامه
    • معرفی بخش‌هایی از پروژه جهت تکمیل بعنوان تمرین
  • پروژه‌ی عملی - بازی حدس اسامی
    • ایجاد پروژه‌ی جدید
    • ساخت آیکن و تصاویر موجود در برنامه
    • ایجاد یک Splash Screen یا صفحه‌ی خوش‌آمدگویی
    • تغییر نمای Preview در اندروید استودیو
    • تغییر اکتیویتی آغاز برنامه
    • ساخت کلاس Application اختصاصی
    • ساخت کلاس اکتیویتی سفارشی‌شده
    • ایجاد کلاس نگهداری کشورها
    • استخراج یک کشور تصادفی
    • ایجاد دکمه‌های بازی
    • اضافه‌کردن تصویر تعداد جان‌های باقیمانده
    • استفاده از اکتیویتی جاری بعنوان OnClickListener
    • مخفی‌کردن دکمه‌های انتخاب‌شده
    • تعریف منطق برد و باخت
    • نمایش امتیازها
    • قابلیت Reset کردن بازی و شروع بازی جدید
    • غیرفعال کردن موقت دکمه‌ها بعد از برد یا باخت
    • تبدیل آرایه‌ی char به رشته و بالعکس در جاوا برای بررسی دکمه‌های انتخابی
    • کاهش جان‌های بازیکن و بروزرسانی تصویر مربوطه
  • برنامه‌نویسی چندنخی یا MultiThread
    • برنامه‌نویسی چندنخی چیست؟
    • تفاوت برنامه‌نویسی چندنخی و تک‌نخی
    • چرا با وضعیت Not Responding مواجه می‌شویم؟
    • درک مفهوم برنامه‌نویسی Single Thread ازطریق مثال
    • درک مفهوم برنامه‌نویسی Multi Thread ازطریق مثال
    • مشکل تداخل بین نخ‌ها
    • کشف و رفع مشکل با کمک دستورالعمل هر نخ از برنامه
    • معادل برنامه‌نویسی مثال‌های ذکرشده
    • پروژه‌ی عملی TestThread
      • اجرای برنامه به‌صورت تک‌نخی
      • اجرای برنامه بصورت چندنخی
      • استفاده‌ی مستقیم از کلاس Thread
      • استفاده از متد Thread.sleep برای ایجاد وقفه در اجرای دستورات نخ
      • استفاده از متد runOnUiThread برای اجرای دستورات در نخ اصلی
      • دسترسی به UI Thread یا Main Thread با کمک Handler
      • آشنایی با کلاس AsyncTask
      • نحوه‌ی ایجاد یک AsyncTask جدید
      • آشنایی با متد onPreExecute
      • آشنایی با متد onPostExecute
      • آشنایی با متد onProgressUpdate
      • آشنایی با متد publishProgress
      • تشریح کاربرد کلاس‌های جنریک بکاررفته در AsyncTask
    • جمع‌بندی
  • کار با تنظیمات یا SharedPreferences
    • ذخیره‌ی وضعیت برنامه
    • چهارچوب تنظیمات یا Preferences Framework چیست؟
    • مسیر نگهداری فایل‌های تنظیمات
    • ساختار داخلی Preferences
    • پروژه‌ی عملی Preferences
      • ایجاد کلاس App
      • ایجاد شئ خواندن تنظیمات
      • ساخت شئ ویرایشگر تنظیمات
      • ایجاد و بازکردن یک یا چند فایل تنظیمات بطور همزمان
      • تفاوت بین متدهای apply و commit
      • ایجاد کلاس ActivityEnhanced
      • اضافه‌کردن منو به اکتیویتی
      • انجام کارهای مختلف با کلیک روی گزینه‌های منو
      • تنظیم رنگ‌های موجود در پروژه
      • ایجاد استایل‌ها و تم‌های مختلف در پروژه
      • نمایش اکتیویتی باکمک تم انتخاب‌شده
      • ایجاد اکتیویتی تنظیمات
      • طراحی Layout اکتیویتی تنظیمات
      • کدنویسی منطق صفحه‌ی تنظیمات
      • حرکت بین اکتیویتی‌ها باکمک کلاس App
      • استفاده از پنجره‌ی Dialog تنظیمات بجای اکتیویتی
      • طراحی Layout دیالوگ تنظیمات
      • کدنویسی منطق پنجره‌ی تنظیمات
      • ساخت Custom Dialog
    • جمع‌بندی
  • کار با پایگاه داده‌های SQLite
    • ایجاد پروژه‌ی جدید
    • ساخت کلاس App و ActivityEnhanced
    • سفارشی‌کردن ظاهر Toast در برنامه
    • اضافه‌کردن فونت‌های دلخواه به پروژه
    • تغییر رنگ‌بندی و ظاهر برنامه
    • ساخت کنترل‌های سفارشی برای TextView و EditText و Button
    • طراحی دیتابیس برنامه و معرفی پلاگین SQLite Manager در فایرفاکس
    • معرفی کلاس SQLiteOpenHelper
    • آشنایی با متدهای onCreate و onDowngrade و onUpgrade
    • تغییر و بروزرسانی ساختار دیتابیس در نسخه‌های مختلف برنامه بدون حذف اطلاعات
    • ایجاد جداول و کنترل شئ قابل نوشتن دیتابیس
    • طراحی مدل برای بهره‌مندی از الگوی MVC
    • نحوه‌ی انجام چهار عمل اصلی CRUD در دیتابیس
    • آشنایی با مفهوم Cursor و ContentValues
    • ساخت SplashScreen و انتقال به اکتیویتی اصلی بعد از مدت مشخص
    • آشنایی با RecyclerView
    • معرفی مفهوم Adapter و نحوه‌ی کار با LayoutInflater
    • ساخت کلاس ViewHolder و اختصاص آداپتر به RecyclerView
    • توضیح متد notifyDataSetChanged در آداپتر
    • جلوگیری از خروج اتفاقی از برنامه با فشردن کلید Back
    • ایجاد Dialogهای سفارشی برای پیغام تأیید و اضافه‌کردن شخص جدید به دیتابیس
    • آشنایی با نحوه‌ی استفاده از SwipeRefreshLayout برای بروزرسانی دستی اطلاعات با Dragکردن صفحه به پایین
    • نمایش اطلاعات در قالب عناصر RecyclerView همراه‌با تصویر پروفایل (آواتار) و اطلاعات جانبی
    • توضیح نحوه‌ی اضافه‌کردن، ویرایش، حذف و نمایش اطلاعات با کمک مدل ساخته‌شده و ارتباط با آداپتر
    • تست و اجرای پروژه
    • جمع‌بندی
  • اتصال به وب‌سرویس و اینترنت
    • طراحی دیتابیس سمت سرور
    • ساخت وب‌سرویس RESTful سمت سرور با PHP
    • تست وب‌سرویس با پلاگین RESTED فایرفاکس
    • نوشتن کلاس اتصال به سرور با دو روش Get و Post
    • تشریح پردازش JSON در اندروید
    • نوشتن متدهای مجزا برای اتصال به اکشن‌های مختلف وب‌سرویس
    • آموزش کار با HashMap در اندروید
    • نحوه‌ی درخواست مجوز اتصال به اینترنت در برنامه
    • ساخت کنترل‌های سفارشی ترکیبی با ادغام چند کنترل و Layout اختصاصی
    • تشریح مفهوم URL و کار با کلاس HttpURLConnection
    • آموزش کار با InputStream و OutputStream و تبدیل Stream به رشته و بالعکس
    • ساخت کلاس‌های AsyncTask جهت استفاده از وب‌سرویس بدون تداخل در کارکرد برنامه
    • آموزش عملی استفاده از Interface در برنامه جهت انجام کارها بصورت غیرهمزمان
    • تغییر مکانیزم برنامه جهت اولویت‌دادن به دیتابیس آنلاین
    • اضافه‌کردن قابلیت Sync برنامه با سرور و امکان ویرایش اطلاعات بدون نیاز به اینترنت
    • تشخیص رکوردهای ذخیره‌نشده در سرور و امکان بارگذاری مجدد از سرور یا ذخیره‌ی تغییرات در سرور
  • پروژه‌ی عملی - بازی آنلاین دونفره با قابلیت ثبت‌نام
  • اشکال زدایی و بهینه سازی کد
  • پروژه‌ی عملی - دانلود همزمان فایل‌ها از شبکه
  • پروژه‌ی عملی - ساخت کنترل‌های سفارشی یا Custom Controls در اندروید
  • جمع‌بندی و نکات پایانی دوره مقدماتی

برنامه نویسی اندروید مقدماتی

افزودن به سبد خرید

مدت زمان: ۳۰ ساعت

قیمت: ۸۲,۵۰۰ تومان

خرید: ۳۱۵ عدد