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


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

فهرست مطالب کتاب آموزش برنامه نویسی اندروید در محیط اندروید استودیو :

بخش اول

مقدمه ای بر برنامه سازی تحت موبایل برای سیستم عامل اندروید

نصب محیط برنامه نویسی Android Studio

تست اپلیکیشن های اندروید بر روی محیط مجازی (ADV) یا دستگاه واقعی

کامپوننت های (اجزای تشکیل دهنده) نرم افزاری یک اپلیکیشن اندروید

فایل تنظیمات اندروید (manifest)

فایل های محتوا (Resources)

مفهوم view در اندروید – المان ها و ابزارک های رابط کاربری یا UI Widget

layout manager و ViewGroup

دسترسی به محتوای static و استفاده از آن

فرایند آماده سازی، عرضه، توزیع و نصب اپلیکیشن (Deployment)

آشنایی با محیط برنامه نویسی Android Studio

شروع به استفاده از Android Studio

وظایف و task های مربوط به برنامه نویسی Java

کار با نرم افزار کنترل نسخه Git

نظارت بر مصرف حافظه (Memory Monitor)

استفاده از Gradle در محیط برنامه نویسی Intellij

انتقال پروژه از محیط Eclipse به Android Studio

بخش دوم

آموزش Intent در Androi

انتقال و تبادل اطلاعات بین activity ها و service ها

ثبت و معرفی intent filter برای inten

گوش فرا دادن به event ها (ارسال پیغام به سیستم اندروید از طریق intent)

شناسایی intent receiver های مربوطه/بررسی اینکه آیا یک کامپوننت به intent خاصی گوش فرا می دهد/برای آن ثبت شده یا خیر

مدیریت چرخه حیات / lifecycle اپلیکیشن

آبجکت application

LifeCycle / چرخه حیات content provider

LifeCycle / چرخه حیات activity

داده ها و اطلاعات ذخیره شده از آبجکت activity جهت بازگردانی activity به وضعیت قبلی / Activity instance state

آبجکت های جاوایی که در صورت تغییر در تنظیمات دستگاه باید بین نمونه های activity پاس داده شوند

مدیریت configuration و تنظیمات

مبحث امنیت و مجوزهای دسترسی در اندروید (Security&Permission)

پیاده سازی list یا grid جهت نمایش آیتم ها در اندروید

فایل های layout اتصال داده از model به UI (Data Binding Layout Files)

استفاده از کلاس ListView در اندروید

اندروید و widget /المان رابط کاربری ListView

Adapter پیش فرض

پیاده سازی adapter های اختصاصی

ListActivit و ListFragment

ListView و مبحث کارایی و سرعت اپلیکیشن

ذخیره سازی انتخاب یک view (تعیین وضعیت انتخاب با متد SetChoiceMode())

استفاده از Contextual action mode برای ListView ها (actionbar موقتی که بر روی actionbar اصلی قرار می گیرد)

پیاده سازی قابلیت لغو / undo action

بهینه سازی کارایی و سرعت اپلیکیشن

آموزش نحوه نمایش دو آیتم در یک ListView

انتخاب چندین آیتم در ListView

پیاده سازی یک ListView کشویی و قابل بسط

آموزش متفرقه

SimpleCursorAdapt

سایر کتابخانه های کد باز (Open Source libraries)

ثبت وقایع و گزارش گیری (Logging) در اندروید

پیاده سازی dialog در اپلیکیشن به وسیله DialogFragments

بخش سوم

Fragment ها

تعریف و استفاده از fragment ها

چرخه ی حیات (life cycle) fragment

تعریف fragment برای activit

Fragment ها و پردازش در پس زمینه (background processing)

شرح مفهوم Toolbar

استفاده از Toolbar

Dynamic تعریف کردن action bar

Action provider

پیمایش در اپلیکیشن از طریق آیکون

پیاده سازی قابلیت بروز رسانی آیتم های لیست با استفاده از swipe to refresh

بخش چهارم: دیتابیس SQLite و content provider

SQLite و Android

معماری SQLite

آموزش استفاده از SQLite

شرح مفهوم Content Provide

Curso ها و Loader ها

پردازش فایل های XML با استفاده از تحلیلگر نحوی XmlPullParser

File based persistence (ذخیره داده ها در سیستم فایل)

Preferences (ذخیره و بازگردانی اطلاعات مربوط به تنظیمات کاربر)

File API

مروری بر اتصال به اینترنت و دسترسی به منابع از اینترنت در اندروید

استفاده از کتابخانه Retrofit 2.0 به عنوان REST Clien

آموزش RxJava 2.0

Operator ها

استفاده از delay و به تعویق انداختن تولید و ارسال نتیجه

آبجکت Single یا همان Promise (مکان نگهدار مقدار موردنظر)

دور انداختن subscription ها (قطع اتصال بین observer و observable) و استفاده از کلاس CompositeDisposable

ذخیره ی موقتی مقدار Observable های ارسال شده (completed obervables)

Flowable<T> و Backpressure

تبدیل نوعی به نوع دیگر

تست Observable و Subscription های RxJava

پردازش پس زمینه ای در اندروید

کلاس Handle

کلاس AsyncTas

پردازش پس زمینه ای و مدیریت چرخه ی حیات (lifecycle)

Fragment ها و پردازش موازی در پس زمینه (background processing)

کلاس Loade

استفاده از service ها

JSON و اندروید

بخش پنجم

استفاده از drag & drop در اندروید

Drawable چیست؟

استفاده از drawable ها در view ها

بارگذاری Bitmap ها و drawable ها

Drawable های مبتنی بر XML

Drawable های برداری/توسعه پذیر بدون از دست رفت کیفیت (vector drawable)

Drawable animation (تعریف انیمیشن با بارگذاری یک drawable پس از دیگری)

Drawable های اختصاصی

ساخت drawable های اختصاصی

اصول طراحی UI در اندروید

استفاده از style و theme در اپلیکیشن

استفاده از theme های خود محیط اندروید

استفاده از theme از پیش تعریف شده و آماده

مرور کلی

شرح مفهوم Widget در اندروید

ایجاد Broadcast receiver برای widge

بروز رسانی widget

Collection View Widget

فعال سازی یک widget برای قفل نمایشگر دستگاه (lock screen)

View های اختصاصی

view های ترکیبی (Compound views)

ساخت view های اختصاصی

Life Cycle

تعریف attribute های بیشتر برای view های اختصاصی

Canvas API (توابع مرتبط با کلاس Canvas)

تنظیمات و پیکربندی های مختلف دستگاه های اندروید

String ها و محتوای متنی (ترجمه نوشته های برنامه)

تعیین اندازه کامپوننت های UI در فایل های layout

تعیین اندازه کامپوننت های UI در کد برنامه (source code)

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

اعمال انیمیشن بر روی انتقال بین activity ها در اندروید با shared view ها

بخش ششم

سرویس های اندروید

تعریف سرویس های اختصاصی

متصل کردن دوطرفه سرویس ها (service binding)

اجرای سرویس ها در فرایندهای مجزا

زمان بندی تسک ها

زمان بندی background task ها با استفاده از JobSchedule

Broadcast receiver

Broadcast ها و رخدادهای سیستمی

اجرا و راه اندازی سرویس به صورت خودکار از Receiver

تعریف broadcast receiver به صورت dynamic (در زمان اجرای برنامه و به وسیله کدهای جاوا)

Notification manager

Backup در اندروید

رهنمودهایی جهت طراحی و ارائه اپلیکیشن های کارامد

مدیریت bitmap

استفاده از Cache

بخش هفتم

هدف از نوشتن تست های نرم افزاری چیست؟

واژه ها و مفاهیم مرتبط با تست گیری

سازماندهی تست

استفاده از JUnit

ساختارهای پایه ای فریم ورک JUnit

پشتیبانی محیط برنامه نویسی Eclipse از JUnit

نصب JUnit

تنظیم محیط برنامه نویسی Eclipse برای استفاده از امکان static import کتابخانه JUnits

تنظیمات و امکانات پیشرفته JUni

ایجاد آبجکت های ساختگی یا شبیه سازی رفتار آبجکت / Mocking

مقدمه ای بر تست اپلیکیشن های اندرویدی

ساختار پروژه اندرویدی و ایجاد پوشه تست

اجرای Unit test بر روی JVM

طراحی instrumentation test برای اجرای تست بر روی اپلیکیشن در بستر دستگاه حقیقی اندروید

اطلاعات بیشتر در خصوص اجرای تست بر روی اپلیکیشن های اندرویدی

استفاده از ابزار Monkey جهت ایجاد و ارسال شبه event به دستگاه

تست آبجکت Application

تست سایر کامپوننت های نرم افزاری اندروید

Annotation های متفرقه یا پشتیبان

ساخت پوشه تست در محیط کاری Android Studio

تست بخش های مجزای نرم افزار با استفاده از آبجکت های ساختگی (mock objects)

افزودن Mockito در قالب dependency به پروژه

استفاده از توابع کتابخانه ای Mockito / Mockito API

استفاده از فریم ورک Mockito در اندروید

استفاده از PowerMock به همراه Mockito

استفاده از یک wrapper بجای Powermock

هدف از Hamcrest matcher framework

استفاده از matcher ها در Hamcrest

استفاده کاربردی از Hamcrest

ساخت Hamcrest matcher اختصاصی خود

مقدمه ای بر AssertJ

استفاده ی کاربردی از AssertJ

فریم ورک تست گیری Espresso و تست لایه UI اپلیکیشن

نصب و استفاده از Espresso

اجرای تست های Espresso

شبیه سازی آبجکت های Intent با توابع کتابخانه ای Espresso

نوشتن تست برای بررسی عملکرد intent

آزمایش عملکرد کد ناهزمان با استفاده از فریم ورک تست گیری Espresso

تست تعامل بین چندین کامپوننت نرم افزاری اپلیکیشن با استفاده از فریم ورک UI Automator

تست تعامل بین کامپوننت های نرم افزاری اپلیکیشن به روش blackbox

Robotium

نصب Robotium

نمونه ای از پیاده سازی تست های Robotium

توابع کتابخانه ای Robotium API

مقدمه ای بر مفهوم dependency injection << استفاده از dependency injection در محیط و بستر اجرای Java

فریم ورک های جاوا و dependency injection

Dependency injection با فریم ورک Dagger2

Dagger2 و اندروید

جایگزین کردن Module@ با کلاس های اختصاصی خود در تست

مرور کلی

StrictMode

Hierarchy Viewer (ابزار نمایش درختی view ها)

بهینه سازی Layout

تهیه روگرفت از حافظه (Memory Dumps)

ابزار Systrace

شبیه سازی چگالی یا تراکم پیکسلی (pixel density) از طریق خط دستور

قالب های آماده یا الگوهای پیاده سازی پروژه ی اندروید (Android template)

گزارش گیری و ثبت اطلاعات مربوط به کارایی موتور گرافیکی (ابزار Profile GPU renderin)

تحلیل و بررسی وضعیت Overdraw (ترسیم یک آیتم بر روی آیتم دیگر)

ابزار رایگان و متن باز کارا برای تحلیل و بهینه سازی کارایی اپلیکیشن

بخش هشتم

استفاده از Gradle برای کامپایل پروژه های اندرویدی

build و کامپایل ورژن های (flavor) مختلف از اپلیکیشن اندرویدی خود

تنظیم اختصاصی فایل Gradle build

انتقال / migrate کردن یک پروژه خروجی گرفته شده از محیط Eclipse به Gradl

کامپایل و اجرای پروژه های اندرویدی با Jenkins

ابزار دسترسی، مدیریت و اشکال زدایی پروژه ی اندرویدی / ADB

استفاده از adb

حذف اپلیکیشن از دستگاه به وسیله ی دستورات adb

اتصال به دستگاه با استفاده از Telnet

دریافت اطلاعات سیستمی با ابزار خط دستور dumpsys

فرمت فایل: Pdf
تعداد صفحات: 970
حجم: 18 مگابایت

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *