ورود به حساب

نام کاربری گذرواژه

گذرواژه را فراموش کردید؟ کلیک کنید

حساب کاربری ندارید؟ ساخت حساب

ساخت حساب کاربری

نام نام کاربری ایمیل شماره موبایل گذرواژه

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


09117307688
09117179751

در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید

دسترسی نامحدود

برای کاربرانی که ثبت نام کرده اند

ضمانت بازگشت وجه

درصورت عدم همخوانی توضیحات با کتاب

پشتیبانی

از ساعت 7 صبح تا 10 شب

دانلود کتاب Android Studio 4.0 Development Essentials - Java Edition

دانلود کتاب Android Studio 4.0 Development Essentials - Java Edition

Android Studio 4.0 Development Essentials - Java Edition

مشخصات کتاب

Android Studio 4.0 Development Essentials - Java Edition

ویرایش:  
 
سری:  
ISBN (شابک) : 9781951442217 
ناشر: Payload Media, Inc. 
سال نشر: 2020 
تعداد صفحات: 0 
زبان: English 
فرمت فایل : EPUB (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود) 
حجم فایل: 12 مگابایت 

قیمت کتاب (تومان) : 54,000



ثبت امتیاز به این کتاب

میانگین امتیاز به این کتاب :
       تعداد امتیاز دهندگان : 5


در صورت تبدیل فایل کتاب Android Studio 4.0 Development Essentials - Java Edition به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.

توجه داشته باشید کتاب Android Studio 4.0 Development Essentials - Java Edition نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.


توضیحاتی در مورد کتاب Android Studio 4.0 Development Essentials - Java Edition

به طور کامل برای Android Studio 4.0، Android 10 (Q)، Android Jetpack و دستورالعمل ها و اجزای معماری مدرن، هدف این کتاب آموزش مهارت های لازم برای توسعه برنامه های مبتنی بر اندروید با استفاده از زبان برنامه نویسی جاوا است. یک نمای کلی از Android Studio شامل مناطقی مانند پنجره ابزار، ویرایشگر کد و ابزار Layout Editor است. مقدمه ای بر معماری اندروید با نگاهی عمیق به طراحی اپلیکیشن ها و رابط های کاربری اندروید با استفاده از محیط اندروید استودیو دنبال می شود. فصل‌هایی نیز شامل اجزای معماری Android از جمله مدل‌های مشاهده، مدیریت چرخه حیات، پایگاه‌های داده اتاق، ناوبری برنامه‌ها، داده‌های زنده و اتصال داده‌ها هستند. موضوعات پیشرفته تری مانند Intent ها نیز پوشش داده شده است، مانند کنترل صفحه لمسی، تشخیص حرکات و پخش و ضبط صدا. این نسخه از کتاب همچنین چاپ، انتقال، ذخیره‌سازی فایل مبتنی بر ابر و پشتیبانی از دستگاه‌های تاشو را پوشش می‌دهد. مفاهیم طراحی متریال نیز به تفصیل پوشش داده شده است، از جمله استفاده از دکمه‌های اکشن شناور، نوارهای اسنک، رابط‌های زبانه‌دار، نمای کارت، کشوهای ناوبری و نوارهای ابزار در حال جمع شدن. علاوه بر پوشش تکنیک‌های کلی توسعه اندروید، این کتاب همچنین شامل موضوعات خاص Google Play مانند پیاده‌سازی نقشه‌ها با استفاده از Google Maps Android API و ارسال برنامه‌ها به کنسول برنامه‌نویس Google Play است. سایر ویژگی‌های کلیدی اندروید استودیو 4.0 و اندروید 10 نیز به تفصیل پوشش داده شده‌اند، از جمله ویرایشگر Layout، کلاس‌های ConstraintLayout و ConstraintSet، زنجیره‌های محدودیت، انیمیشن MotionLayout، موانع، اعلان‌های پاسخ مستقیم، پیوندهای مشاهده و پشتیبانی از چند پنجره. فصل‌ها همچنین ویژگی‌های پیشرفته اندروید استودیو مانند پیوندهای برنامه، ماژول‌های ویژگی پویا، نمایه‌ساز Android Studio و پیکربندی ساخت Gradle را پوشش می‌دهند. با فرض اینکه قبلاً تجربه برنامه نویسی دارید، آماده دانلود Android Studio و Android SDK هستید، به سیستم ویندوز، مک یا لینوکس دسترسی دارید و ایده هایی برای توسعه برخی برنامه ها دارید، آماده شروع هستید.


توضیحاتی درمورد کتاب به خارجی

Fully updated for Android Studio 4.0, Android 10 (Q), Android Jetpack and the modern architectural guidelines and components, the goal of this book is to teach the skills necessary to develop Android-based applications using the Java programming language. An overview of Android Studio is included covering areas such as tool windows, the code editor and the Layout Editor tool. An introduction to the architecture of Android is followed by an in-depth look at the design of Android applications and user interfaces using the Android Studio environment. Chapters are also included covering the Android Architecture Components including view models, lifecycle management, Room databases, app navigation, live data and data binding. More advanced topics such as intents are also covered, as are touch screen handling, gesture recognition and the playback and recording of audio. This edition of the book also covers printing, transitions, cloud-based file storage and foldable device support. The concepts of material design are also covered in detail, including the use of floating action buttons, Snackbars, tabbed interfaces, card views, navigation drawers and collapsing toolbars. In addition to covering general Android development techniques, the book also includes Google Play specific topics such as implementing maps using the Google Maps Android API, and submitting apps to the Google Play Developer Console. Other key features of Android Studio 4.0 and Android 10 are also covered in detail including the Layout Editor, the ConstraintLayout and ConstraintSet classes, constraint chains, MotionLayout animation, barriers, direct reply notifications, view bindings and multi-window support. Chapters also cover advanced features of Android Studio such as App Links, Dynamic Feature Modules, the Android Studio Profiler and Gradle build configuration. Assuming you already have some programming experience, are ready to download Android Studio and the Android SDK, have access to a Windows, Mac or Linux system and ideas for some apps to develop, you are ready to get started.



فهرست مطالب

1. Introduction
	1.1 Downloading the Code Samples
	1.2 Feedback
	1.3 Errata
2. Setting up an Android Studio Development Environment
	2.1 System Requirements
	2.2 Downloading the Android Studio Package
	2.3 Installing Android Studio
		2.3.1 Installation on Windows
		2.3.2 Installation on macOS
		2.3.3 Installation on Linux
	2.4 The Android Studio Setup Wizard
	2.5 Installing Additional Android SDK Packages
	2.6 Making the Android SDK Tools Command-line Accessible
		2.6.1 Windows 7
		2.6.2 Windows 8.1
		2.6.3 Windows 10
		2.6.4 Linux
		2.6.5 macOS
	2.7 Android Studio Memory Management
	2.8 Updating Android Studio and the SDK
	2.9 Summary
3. Creating an Example Android App in Android Studio
	3.1 About the Project
	3.2 Creating a New Android Project
	3.3  Creating an Activity
	3.4 Defining the Project and SDK Settings
	3.5 Modifying the Example Application
	3.6 Modifying the User Interface
	3.7 Reviewing the Layout and Resource Files
	3.8 Adding Interaction
	3.9 Summary
4. Creating an Android Virtual Device (AVD) in Android Studio
	4.1 About Android Virtual Devices
	4.2 Creating a New AVD
	4.3 Starting the Emulator
	4.4 Running the Application in the AVD
	4.5 Stopping a Running Application
	4.6 Supporting Dark Theme
	4.7 AVD Command-line Creation
	4.8 Android Virtual Device Configuration Files
	4.9 Moving and Renaming an Android Virtual Device
	4.10 Summary
5. Using and Configuring the Android Studio AVD Emulator
	5.1 The Emulator Environment
	5.2 The Emulator Toolbar Options
	5.3 Working in Zoom Mode
	5.4 Resizing the Emulator Window
	5.5 Extended Control Options
		5.5.1 Location
		5.5.2 Displays
		5.5.3 Cellular
		5.5.4 Camera
		5.5.5 Battery
		5.5.6 Phone
		5.5.7 Directional Pad
		5.5.8 Microphone
		5.5.9 Fingerprint
		5.5.10 Virtual Sensors
		5.5.11 Snapshots
		5.5.12 Record and Playback
		5.5.13 Google Play
		5.5.14 Settings
		5.5.15 Help
	5.6 Working with Snapshots
	5.7 Configuring Fingerprint Emulation
	5.8 Summary
6. A Tour of the Android Studio User Interface
	6.1 The Welcome Screen
	6.2 The Main Window
	6.3 The Tool Windows
	6.4 Android Studio Keyboard Shortcuts
	6.5 Switcher and Recent Files Navigation
	6.6 Changing the Android Studio Theme
	6.7 Summary
7. Testing Android Studio Apps on a Physical Android Device
	7.1 An Overview of the Android Debug Bridge (ADB)
	7.2 Enabling ADB on Android  based Devices
		7.2.1 macOS ADB Configuration
		7.2.2 Windows ADB Configuration
		7.2.3 Linux adb Configuration
	7.3 Testing the adb Connection
	7.4 Summary
8. The Basics of the Android Studio Code Editor
	8.1 The Android Studio Editor
	8.2 Splitting the Editor Window
	8.3 Code Completion
	8.4 Statement Completion
	8.5 Parameter Information
	8.6 Parameter Name Hints
	8.7 Code Generation
	8.8 Code Folding
	8.9 Quick Documentation Lookup
	8.10 Code Reformatting
	8.11 Finding Sample Code
	8.12 Live Templates
	8.13 Summary
9. An Overview of the Android Architecture
	9.1 The Android Software Stack
	9.2 The Linux Kernel
	9.3 Android Runtime – ART
	9.4 Android Libraries
		9.4.1 C/C++ Libraries
	9.5 Application Framework
	9.6 Applications
	9.7 Summary
10. The Anatomy of an Android Application
	10.1 Android Activities
	10.2 Android Fragments
	10.3 Android Intents
	10.4 Broadcast Intents
	10.5 Broadcast Receivers
	10.6 Android Services
	10.7 Content Providers
	10.8 The Application Manifest
	10.9 Application Resources
	10.10 Application Context
	10.11 Summary
11. An Overview of Android View Binding
	11.1 Find View by ID
	11.2 View Bindings
	11.3 Converting the AndroidSample Project
	11.4 Enabling View Binding
	11.5 Using View Bindings
	11.6 Choosing an Option
	11.7 Summary
12. Understanding Android Application and Activity Lifecycles
	12.1 Android Applications and Resource Management
	12.2 Android Process States
		12.2.1 Foreground Process
		12.2.2 Visible Process
		12.2.3 Service Process
		12.2.4 Background Process
		12.2.5 Empty Process
	12.3 Inter-Process Dependencies
	12.4 The Activity Lifecycle
	12.5 The Activity Stack
	12.6 Activity States
	12.7 Configuration Changes
	12.8 Handling State Change
	12.9 Summary
13. Handling Android Activity State Changes
	13.1 New vs. Old Lifecycle Techniques
	13.2 The Activity and Fragment Classes
	13.3 Dynamic State vs. Persistent State
	13.4 The Android Lifecycle Methods
	13.5 Lifetimes
	13.6 Foldable Devices and Multi-Resume
	13.7 Disabling Configuration Change Restarts
	13.8 Lifecycle Method Limitations
	13.9 Summary
14. Android Activity State Changes by Example
	14.1 Creating the State Change Example Project
	14.2 Designing the User Interface
	14.3 Overriding the Activity Lifecycle Methods
	14.4 Filtering the Logcat Panel
	14.5 Running the Application
	14.6 Experimenting with the Activity
	14.7 Summary
15. Saving and Restoring the State of an Android Activity
	15.1 Saving Dynamic State
	15.2 Default Saving of User Interface State
	15.3 The Bundle Class
	15.4 Saving the State
	15.5 Restoring the State
	15.6 Testing the Application
	15.7 Summary
16. Understanding Android Views, View Groups and Layouts
	16.1 Designing for Different Android Devices
	16.2 Views and View Groups
	16.3 Android Layout Managers
	16.4 The View Hierarchy
	16.5 Creating User Interfaces
	16.6 Summary
17. A Guide to the Android Studio Layout Editor Tool
	17.1 Basic vs. Empty Activity Templates
	17.2 The Android Studio Layout Editor
	17.3 Design Mode
	17.4 The Palette
	17.5 Design Mode and Layout Views
	17.6 Code Mode
	17.7 Split Mode
	17.8 Setting Attributes
	17.9 Converting Views
	17.10 Displaying Sample Data
	17.11  Creating a Custom Device Definition
	17.12 Changing the Current Device
	17.13 Layout Validation (Multi Preview)
	17.14 Summary
18. A Guide to the Android ConstraintLayout
	18.1 How ConstraintLayout Works
		18.1.1 Constraints
		18.1.2 Margins
		18.1.3 Opposing Constraints
		18.1.4 Constraint Bias
		18.1.5 Chains
		18.1.6 Chain Styles
	18.2 Baseline Alignment
	18.3 Working with Guidelines
	18.4 Configuring Widget Dimensions
	18.5 Working with Barriers
	18.6 Ratios
	18.7 ConstraintLayout Advantages
	18.8 ConstraintLayout Availability
	18.9 Summary
19. A Guide to using ConstraintLayout in Android Studio
	19.1 Design and Layout Views
	19.2 Autoconnect Mode
	19.3 Inference Mode
	19.4 Manipulating Constraints Manually
	19.5 Adding Constraints in the Inspector
	19.6 Viewing Constraints in the Attributes Window
	19.7 Deleting Constraints
	19.8 Adjusting Constraint Bias
	19.9 Understanding ConstraintLayout Margins
	19.10 The Importance of Opposing Constraints and Bias
	19.11 Configuring Widget Dimensions
	19.12 Adding Guidelines
	19.13 Adding Barriers
	19.14 Widget Group Alignment and Distribution
	19.15 Converting other Layouts to ConstraintLayout
	19.16 Summary
20. Working with ConstraintLayout Chains and Ratios in Android Studio
	20.1 Creating a Chain
	20.2 Changing the Chain Style
	20.3 Spread Inside Chain Style
	20.4 Packed Chain Style
	20.5 Packed Chain Style with Bias
	20.6 Weighted Chain
	20.7 Working with Ratios
	20.8 Summary
21. An Android Studio Layout Editor ConstraintLayout Tutorial
	21.1 An Android Studio Layout Editor Tool Example
	21.2 Creating a New Activity
	21.3 Preparing the Layout Editor Environment
	21.4 Adding the Widgets to the User Interface
	21.5 Adding the Constraints
	21.6 Testing the Layout
	21.7 Using the Layout Inspector
	21.8 Summary
22. Manual XML Layout Design in Android Studio
	22.1 Manually Creating an XML Layout
	22.2 Manual XML vs. Visual Layout Design
	22.3 Summary
23. Managing Constraints using Constraint Sets
	23.1 Java Code vs. XML Layout Files
	23.2 Creating Views
	23.3 View Attributes
	23.4 Constraint Sets
		23.4.1 Establishing Connections
		23.4.2 Applying Constraints to a Layout
		23.4.3 Parent Constraint Connections
		23.4.4 Sizing Constraints
		23.4.5 Constraint Bias
		23.4.6 Alignment Constraints
		23.4.7 Copying and Applying Constraint Sets
		23.4.8 ConstraintLayout Chains
		23.4.9 Guidelines
		23.4.10 Removing Constraints
		23.4.11 Scaling
		23.4.12 Rotation
	23.5 Summary
24. An Android ConstraintSet Tutorial
	24.1 Creating the Example Project in Android Studio
	24.2 Adding Views to an Activity
	24.3 Setting View Attributes
	24.4 Creating View IDs
	24.5 Configuring the Constraint Set
	24.6 Adding the EditText View
	24.7 Converting Density Independent Pixels (dp) to Pixels (px)
	24.8 Summary
25. A Guide to using Apply Changes in Android Studio
	25.1 Introducing Apply Changes
	25.2 Understanding Apply Changes Options
	25.3 Using Apply Changes
	25.4 Configuring Apply Changes Fallback Settings
	25.5 An Apply Changes Tutorial
	25.6 Using Apply Code Changes
	25.7 Using Apply Changes and Restart Activity
	25.8 Using Run App
	25.9 Summary
26. An Overview and Example of Android Event Handling
	26.1 Understanding Android Events
	26.2 Using the android:onClick Resource
	26.3 Event Listeners and Callback Methods
	26.4 An Event Handling Example
	26.5 Designing the User Interface
	26.6 The Event Listener and Callback Method
	26.7 Consuming Events
	26.8 Summary
27. Android Touch and Multi-touch Event Handling
	27.1 Intercepting Touch Events
	27.2 The MotionEvent Object
	27.3 Understanding Touch Actions
	27.4 Handling Multiple Touches
	27.5 An Example Multi-Touch Application
	27.6 Designing the Activity User Interface
	27.7 Implementing the Touch Event Listener
	27.8  Running the Example Application
	27.9 Summary
28. Detecting Common Gestures using the Android Gesture Detector Class
	28.1 Implementing Common Gesture Detection
	28.2 Creating an Example Gesture Detection Project
	28.3 Implementing the Listener Class
	28.4 Creating the GestureDetectorCompat Instance
	28.5 Implementing the onTouchEvent() Method
	28.6 Testing the Application
	28.7 Summary
29. Implementing Custom Gesture and Pinch Recognition on Android
	29.1 The Android Gesture Builder Application
	29.2 The GestureOverlayView Class
	29.3 Detecting Gestures
	29.4 Identifying Specific Gestures
	29.5 Installing and Running the Gesture Builder Application
	29.6 Creating a Gestures File
	29.7 Creating the Example Project
	29.8 Extracting the Gestures File from the SD Card
	29.9 Adding the Gestures File to the Project
	29.10 Designing the User Interface
	29.11 Loading the Gestures File
	29.12 Registering the Event Listener
	29.13 Implementing the onGesturePerformed Method
	29.14 Testing the Application
	29.15 Configuring the GestureOverlayView
	29.16 Intercepting Gestures
	29.17 Detecting Pinch Gestures
	29.18 A Pinch Gesture Example Project
	29.19 Summary
30. An Introduction to Android Fragments
	30.1 What is a Fragment?
	30.2 Creating a Fragment
	30.3 Adding a Fragment to an Activity using the Layout XML File
	30.4 Adding and Managing Fragments in Code
	30.5 Handling Fragment Events
	30.6 Implementing Fragment Communication
	30.7 Summary
31. Using Fragments in Android Studio - An Example
	31.1 About the Example Fragment Application
	31.2 Creating the Example Project
	31.3 Creating the First Fragment Layout
	31.4 Adding the Second Fragment
	31.5 Adding the Fragments to the Activity
	31.6 Making the Toolbar Fragment Talk to the Activity
	31.7 Making the Activity Talk to the Text Fragment
	31.8 Testing the Application
	31.9 Summary
32. Modern Android App Architecture with Jetpack
	32.1 What is Android Jetpack?
	32.2 The “Old” Architecture
	32.3 Modern Android Architecture
	32.4 The ViewModel Component
	32.5 The LiveData Component
	32.6 ViewModel Saved State
	32.7 LiveData and Data Binding
	32.8 Android Lifecycles
	32.9 Repository Modules
	32.10 Summary
33. An Android Jetpack ViewModel Tutorial
	33.1 About the Project
	33.2 Creating the ViewModel Example Project
	33.3 Reviewing the Project
		33.3.1 The Main Activity
		33.3.2 The Content Fragment
		33.3.3 The ViewModel
	33.4 Designing the Fragment Layout
	33.5 Implementing the View Model
	33.6 Associating the Fragment with the View Model
	33.7 Modifying the Fragment
	33.8 Accessing the ViewModel Data
	33.9 Testing the Project
	33.10 Summary
34. An Android Jetpack LiveData Tutorial
	34.1 LiveData - A Recap
	34.2 Adding LiveData to the ViewModel
	34.3 Implementing the Observer
	34.4 Summary
35. An Overview of Android Jetpack Data Binding
	35.1 An Overview of Data Binding
	35.2 The Key Components of Data Binding
		35.2.1 The Project Build Configuration
		35.2.2 The Data Binding Layout File
		35.2.3 The Layout File Data Element
		35.2.4  The Binding Classes
		35.2.5 Data Binding Variable Configuration
		35.2.6 Binding Expressions (One-Way)
		35.2.7 Binding Expressions (Two-Way)
		35.2.8 Event and Listener Bindings
	35.3 Summary
36. An Android Jetpack Data Binding Tutorial
	36.1 Removing the Redundant Code
	36.2 Enabling Data Binding
	36.3 Adding the Layout Element
	36.4 Adding the Data Element to Layout File
	36.5 Working with the Binding Class
	36.6 Assigning the ViewModel Instance to the Data Binding Variable
	36.7 Adding Binding Expressions
	36.8 Adding the Conversion Method
	36.9 Adding a Listener Binding
	36.10 Testing the App
	36.11 Summary
37. An Android ViewModel Saved State Tutorial
	37.1 Understanding ViewModel State Saving
	37.2 Implementing ViewModel State Saving
	37.3 Saving and Restoring State
	37.4 Adding Saved State Support to the ViewModelDemo Project
	37.5 Summary
38. Working with Android Lifecycle-Aware Components
	38.1 Lifecycle Awareness
	38.2 Lifecycle Owners
	38.3 Lifecycle Observers
	38.4 Lifecycle States and Events
	38.5 Summary
39. An Android Jetpack Lifecycle Awareness Tutorial
	39.1 Creating the Example Lifecycle Project
	39.2 Creating a Lifecycle Observer
	39.3 Adding the Observer
	39.4 Testing the Observer
	39.5 Creating a Lifecycle Owner
	39.6 Testing the Custom Lifecycle Owner
	39.7 Summary
40. An Overview of the Navigation Architecture Component
	40.1 Understanding Navigation
	40.2 Declaring a Navigation Host
	40.3 The Navigation Graph
	40.4 Accessing the Navigation Controller
	40.5 Triggering a Navigation Action
	40.6 Passing Arguments
	40.7 Summary
41. An Android Jetpack Navigation Component Tutorial
	41.1 Creating the NavigationDemo Project
	41.2 Adding Navigation to the Build Configuration
	41.3 Creating the Navigation Graph Resource File
	41.4 Declaring a Navigation Host
	41.5 Adding Navigation Destinations
	41.6 Designing the Destination Fragment Layouts
	41.7 Adding an Action to the Navigation Graph
	41.8 Implement the OnFragmentInteractionListener
	41.9 Triggering the Action
	41.10 Passing Data Using Safeargs
	41.11 Summary
42. Creating and Managing Overflow Menus on Android
	42.1 The Overflow Menu
	42.2 Creating an Overflow Menu
	42.3 Displaying an Overflow Menu
	42.4 Responding to Menu Item Selections
	42.5 Creating Checkable Item Groups
	42.6 Menus and the Android Studio Menu Editor
	42.7 Creating the Example Project
	42.8 Designing the Menu
	42.9 Modifying the onOptionsItemSelected() Method
	42.10 Testing the Application
	42.11 Summary
43. An Introduction to MotionLayout
	43.1 An Overview of MotionLayout
	43.2 MotionLayout
	43.3 MotionScene
	43.4 Configuring ConstraintSets
	43.5 Custom Attributes
	43.6 Triggering an Animation
	43.7 Arc Motion
	43.8 Keyframes
		43.8.1 Attribute Keyframes
		43.8.2 Position Keyframes
	43.9 Time Linearity
	43.10 KeyTrigger
	43.11 Cycle and Time Cycle Keyframes
	43.12 Starting an Animation from Code
	43.13 Summary
44. An Android MotionLayout Editor Tutorial
	44.1 Creating the MotionLayoutDemo Project
	44.2 ConstraintLayout to MotionLayout Conversion
	44.3 Configuring Start and End Constraints
	44.4 Previewing the MotionLayout Animation
	44.5 Adding an OnClick Gesture
	44.6 Adding an Attribute Keyframe to the Transition
	44.7 Adding a CustomAttribute to a Transition
	44.8 Adding Position Keyframes
	44.9 Summary
45. A MotionLayout KeyCycle Tutorial
	45.1 An Overview of Cycle Keyframes
	45.2 Using the Cycle Editor
	45.3 Creating the KeyCycleDemo Project
	45.4 Configuring the Start and End Constraints
	45.5 Creating the Cycles
	45.6 Previewing the Animation
	45.7 Adding the KeyFrameSet to the MotionScene
	45.8 Summary
46. Working with the Floating Action Button and Snackbar
	46.1 The Material Design
	46.2 The Design Library
	46.3 The Floating Action Button (FAB)
	46.4 The Snackbar
	46.5 Creating the Example Project
	46.6 Reviewing the Project
	46.7 Removing Navigation Features
	46.8 Changing the Floating Action Button
	46.9 Adding the ListView to the Content Layout
	46.10 Adding Items to the ListView
	46.11 Adding an Action to the Snackbar
	46.12 Summary
47. Creating a Tabbed Interface using the TabLayout Component
	47.1 An Introduction to the ViewPager
	47.2 An Overview of the TabLayout Component
	47.3 Creating the TabLayoutDemo Project
	47.4 Creating the First Fragment
	47.5 Duplicating the Fragments
	47.6 Adding the TabLayout and ViewPager
	47.7 Creating the Pager Adapter
	47.8 Performing the Initialization Tasks
	47.9 Testing the Application
	47.10 Customizing the TabLayout
	47.11 Displaying Icon Tab Items
	47.12 Summary
48. Working with the RecyclerView and CardView Widgets
	48.1 An Overview of the RecyclerView
	48.2 An Overview of the CardView
	48.3 Summary
49. An Android RecyclerView and CardView Tutorial
	49.1 Creating the CardDemo Project
	49.2 Modifying the Basic Activity Project
	49.3 Designing the CardView Layout
	49.4 Adding the RecyclerView
	49.5 Creating the RecyclerView Adapter
	49.6 Adding the Image Files
	49.7 Initializing the RecyclerView Component
	49.8 Testing the Application
	49.9 Responding to Card Selections
	49.10 Summary
50. A Layout Editor Sample Data Tutorial
	50.1 Adding Sample Data to a Project
	50.2 Using Custom Sample Data
	50.3 Summary
51. Working with the AppBar and Collapsing Toolbar Layouts
	51.1 The Anatomy of an AppBar
	51.2 The Example Project
	51.3 Coordinating the RecyclerView and Toolbar
	51.4 Introducing the Collapsing Toolbar Layout
	51.5 Changing the Title and Scrim Color
	51.6 Summary
52. An Android Studio Master/Detail Flow Tutorial
	52.1 The Master/Detail Flow
	52.2 Creating a Master/Detail Flow Activity
	52.3 The Anatomy of the Master/Detail Flow Template
	52.4 Modifying the Master/Detail Flow Template
	52.5 Changing the Content Model
	52.6 Changing the Detail Pane
	52.7 Modifying the WebsiteDetailFragment Class
	52.8 Modifying the WebsiteListActivity Class
	52.9 Adding Manifest Permissions
	52.10 Running the Application
	52.11 Summary
53. An Overview of Android Intents
	53.1 An Overview of Intents
	53.2 Explicit Intents
	53.3 Returning Data from an Activity
	53.4 Implicit Intents
	53.5 Using Intent Filters
	53.6 Checking Intent Availability
	53.7 Summary
54. Android Explicit Intents – A Worked Example
	54.1 Creating the Explicit Intent Example Application
	54.2 Designing the User Interface Layout for MainActivity
	54.3 Creating the Second Activity Class
	54.4 Designing the User Interface Layout for ActivityB
	54.5 Reviewing the Application Manifest File
	54.6 Creating the Intent
	54.7 Extracting Intent Data
	54.8 Launching ActivityB as a Sub-Activity
	54.9 Returning Data from a Sub-Activity
	54.10 Testing the Application
	54.11 Summary
55. Android Implicit Intents – A Worked Example
	55.1 Creating the Android Studio Implicit Intent Example Project
	55.2 Designing the User Interface
	55.3 Creating the Implicit Intent
	55.4 Adding a Second Matching Activity
	55.5 Adding the Web View to the UI
	55.6 Obtaining the Intent URL
	55.7 Modifying the MyWebView Project Manifest File
	55.8 Installing the MyWebView Package on a Device
	55.9 Testing the Application
	55.10 Summary
56. Android Broadcast Intents and Broadcast Receivers
	56.1 An Overview of Broadcast Intents
	56.2 An Overview of Broadcast Receivers
	56.3 Obtaining Results from a Broadcast
	56.4 Sticky Broadcast Intents
	56.5 The Broadcast Intent Example
	56.6 Creating the Example Application
	56.7 Creating and Sending the Broadcast Intent
	56.8 Creating the Broadcast Receiver
	56.9 Registering the Broadcast Receiver
	56.10 Testing the Broadcast Example
	56.11 Listening for System Broadcasts
	56.12 Summary
57. A Basic Overview of Threads and AsyncTasks
	57.1 An Overview of Threads
	57.2 The Application Main Thread
	57.3 Thread Handlers
	57.4 A Basic AsyncTask Example
	57.5 Subclassing AsyncTask
	57.6 Testing the App
	57.7 Canceling a Task
	57.8 Summary
58. An Overview of Android Started and Bound Services
	58.1 Started Services
	58.2 Intent Service
	58.3 Bound Service
	58.4 The Anatomy of a Service
	58.5 Controlling Destroyed Service Restart Options
	58.6 Declaring a Service in the Manifest File
	58.7 Starting a Service Running on System Startup
	58.8 Summary
59. Implementing an Android Started Service – A Worked Example
	59.1 Creating the Example Project
	59.2 Creating the Service Class
	59.3 Adding the Service to the Manifest File
	59.4 Starting the Service
	59.5 Testing the IntentService Example
	59.6 Using the Service Class
	59.7 Creating the New Service
	59.8 Modifying the User Interface
	59.9 Running the Application
	59.10 Creating an AsyncTask for Service Tasks
	59.11 Summary
60. Android Local Bound Services – A Worked Example
	60.1 Understanding Bound Services
	60.2 Bound Service Interaction Options
	60.3 An Android Studio Local Bound Service Example
	60.4 Adding a Bound Service to the Project
	60.5 Implementing the Binder
	60.6 Binding the Client to the Service
	60.7 Completing the Example
	60.8 Testing the Application
	60.9 Summary
61. Android Remote Bound Services – A Worked Example
	61.1 Client to Remote Service Communication
	61.2 Creating the Example Application
	61.3 Designing the User Interface
	61.4 Implementing the Remote Bound Service
	61.5 Configuring a Remote Service in the Manifest File
	61.6 Launching and Binding to the Remote Service
	61.7 Sending a Message to the Remote Service
	61.8 Summary
62. An Android Notifications Tutorial
	62.1 An Overview of Notifications
	62.2 Creating the NotifyDemo Project
	62.3 Designing the User Interface
	62.4 Creating the Second Activity
	62.5 Creating a Notification Channel
	62.6 Creating and Issuing a Basic Notification
	62.7 Launching an Activity from a Notification
	62.8 Adding Actions to a Notification
	62.9 Bundled Notifications
	62.10 Summary
63. An Android Direct Reply Notification Tutorial
	63.1 Creating the DirectReply Project
	63.2 Designing the User Interface
	63.3 Creating the Notification Channel
	63.4 Building the RemoteInput Object
	63.5 Creating the PendingIntent
	63.6 Creating the Reply Action
	63.7 Receiving Direct Reply Input
	63.8 Updating the Notification
	63.9 Summary
64.  Foldable Devices and Multi-Window Support
	64.1 Foldables and Multi-Window Support
	64.2 Using a Foldable Emulator
	64.3 Entering Multi-Window Mode
	64.4 Enabling and using Freeform Support
	64.5 Checking for Freeform Support
	64.6 Enabling Multi-Window Support in an App
	64.7 Specifying Multi-Window Attributes
	64.8 Detecting Multi-Window Mode in an Activity
	64.9 Receiving Multi-Window Notifications
	64.10 Launching an Activity in Multi-Window Mode
	64.11 Configuring Freeform Activity Size and Position
	64.12 Summary
65. An Overview of Android SQLite Databases
	65.1 Understanding Database Tables
	65.2 Introducing Database Schema
	65.3 Columns and Data Types
	65.4 Database Rows
	65.5 Introducing Primary Keys
	65.6 What is SQLite?
	65.7 Structured Query Language (SQL)
	65.8 Trying SQLite on an Android Virtual Device (AVD)
	65.9 The Android Room Persistence Library
	65.10 Summary
66. The Android Room Persistence Library
	66.1 Revisiting Modern App Architecture
	66.2 Key Elements of Room Database Persistence
		66.2.1 Repository
		66.2.2 Room Database
		66.2.3 Data Access Object (DAO)
		66.2.4 Entities
		66.2.5 SQLite Database
	66.3 Understanding Entities
	66.4 Data Access Objects
	66.5 The Room Database
	66.6 The Repository
	66.7 In-Memory Databases
	66.8 Summary
67. An Android TableLayout and TableRow Tutorial
	67.1 The TableLayout and TableRow Layout Views
	67.2 Creating the Room Database Project
	67.3 Converting to a LinearLayout
	67.4 Adding the TableLayout to the User Interface
	67.5 Configuring the TableRows
	67.6 Adding the Button Bar to the Layout
	67.7 Adding the RecyclerView
	67.8 Adjusting the Layout Margins
	67.9 Summary
68. An Android Room Database and Repository Tutorial
	68.1 About the RoomDemo Project
	68.2 Modifying the Build Configuration
	68.3 Building the Entity
	68.4 Creating the Data Access Object
	68.5 Adding the Room Database
	68.6 Adding the Repository
	68.7 Modifying the ViewModel
	68.8 Creating the Product Item Layout
	68.9 Adding the RecyclerView Adapter
	68.10 Preparing the Main Fragment
	68.11 Adding the Button Listeners
	68.12 Adding LiveData Observers
	68.13 Initializing the RecyclerView
	68.14 Testing the RoomDemo App
	68.15 Summary
69. Accessing Cloud Storage using the Android Storage Access Framework
	69.1 The Storage Access Framework
	69.2  Working with the Storage Access Framework
	69.3 Filtering Picker File Listings
	69.4 Handling Intent Results
	69.5 Reading the Content of a File
	69.6 Writing Content to a File
	69.7 Deleting a File
	69.8 Gaining Persistent Access to a File
	69.9 Summary
70. An Android Storage Access Framework Example
	70.1 About the Storage Access Framework Example
	70.2 Creating the Storage Access Framework Example
	70.3 Designing the User Interface
	70.4 Declaring Request Codes
	70.5 Creating a New Storage File
	70.6 The onActivityResult() Method
	70.7 Saving to a Storage File
	70.8 Opening and Reading a Storage File
	70.9 Testing the Storage Access Application
	70.10 Summary
71. Video Playback on Android using the VideoView and MediaController Classes
	71.1 Introducing the Android VideoView Class
	71.2 Introducing the Android MediaController Class
	71.3 Creating the Video Playback Example
	71.4 Designing the VideoPlayer Layout
	71.5 Downloading the Video File
	71.6 Configuring the VideoView
	71.7 Adding the MediaController to the Video View
	71.8 Setting up the onPreparedListener
	71.9 Summary
72. Android Picture-in-Picture Mode
	72.1 Picture-in-Picture Features
	72.2 Enabling Picture-in-Picture Mode
	72.3 Configuring Picture-in-Picture Parameters
	72.4 Entering Picture-in-Picture Mode
	72.5 Detecting Picture-in-Picture Mode Changes
	72.6 Adding Picture-in-Picture Actions
	72.7 Summary
73. An Android Picture-in-Picture Tutorial
	73.1 Adding Picture-in-Picture Support to the Manifest
	73.2 Adding a Picture-in-Picture Button
	73.3 Entering Picture-in-Picture Mode
	73.4 Detecting Picture-in-Picture Mode Changes
	73.5 Adding a Broadcast Receiver
	73.6 Adding the PiP Action
	73.7 Testing the Picture-in-Picture Action
	73.8 Summary
74. Making Runtime Permission Requests in Android
	74.1 Understanding Normal and Dangerous Permissions
	74.2 Creating the Permissions Example Project
	74.3 Checking for a Permission
	74.4 Requesting Permission at Runtime
	74.5 Providing a Rationale for the Permission Request
	74.6 Testing the Permissions App
	74.7 Summary
75. Android Audio Recording and Playback using MediaPlayer and MediaRecorder
	75.1 Playing Audio
	75.2 Recording Audio and Video using the MediaRecorder Class
	75.3 About the Example Project
	75.4 Creating the AudioApp Project
	75.5 Designing the User Interface
	75.6 Checking for Microphone Availability
	75.7 Performing the Activity Initialization
	75.8 Implementing the recordAudio() Method
	75.9 Implementing the stopAudio() Method
	75.10 Implementing the playAudio() method
	75.11 Configuring and Requesting Permissions
	75.12 Testing the Application
	75.13 Summary
76. Working with the Google Maps Android API in Android Studio
	76.1 The Elements of the Google Maps Android API
	76.2 Creating the Google Maps Project
	76.3 Obtaining Your Developer Signature
	76.4 Adding the Apache HTTP Legacy Library Requirement
	76.5 Testing the Application
	76.6 Understanding Geocoding and Reverse Geocoding
	76.7 Adding a Map to an Application
	76.8 Requesting Current Location Permission
	76.9 Displaying the User’s Current Location
	76.10 Changing the Map Type
	76.11 Displaying Map Controls to the User
	76.12 Handling Map Gesture Interaction
		76.12.1 Map Zooming Gestures
		76.12.2 Map Scrolling/Panning Gestures
		76.12.3 Map Tilt Gestures
		76.12.4 Map Rotation Gestures
	76.13 Creating Map Markers
	76.14 Controlling the Map Camera
	76.15 Summary
77. Printing with the Android Printing Framework
	77.1 The Android Printing Architecture
	77.2 The Print Service Plugins
	77.3 Google Cloud Print
	77.4 Printing to Google Drive
	77.5 Save as PDF
	77.6 Printing from Android Devices
	77.7 Options for Building Print Support into Android Apps
		77.7.1 Image Printing
		77.7.2 Creating and Printing HTML Content
		77.7.3 Printing a Web Page
		77.7.4 Printing a Custom Document
	77.8 Summary
78. An Android HTML and Web Content Printing Example
	78.1 Creating the HTML Printing Example Application
	78.2 Printing Dynamic HTML Content
	78.3 Creating the Web Page Printing Example
	78.4 Removing the Floating Action Button
	78.5 Removing Navigation Features
	78.6 Designing the User Interface Layout
	78.7 Loading the Web Page into the WebView
	78.8 Adding the Print Menu Option
	78.9 Summary
79. A Guide to Android Custom Document Printing
	79.1 An Overview of Android Custom Document Printing
		79.1.1 Custom Print Adapters
	79.2 Preparing the Custom Document Printing Project
	79.3 Creating the Custom Print Adapter
	79.4 Implementing the onLayout() Callback Method
	79.5 Implementing the onWrite() Callback Method
	79.6 Checking a Page is in Range
	79.7 Drawing the Content on the Page Canvas
	79.8 Starting the Print Job
	79.9 Testing the Application
	79.10 Summary
80. An Introduction to Android App Links
	80.1 An Overview of Android App Links
	80.2 App Link Intent Filters
	80.3 Handling App Link Intents
	80.4 Associating the App with a Website
	80.5 Summary
81. An Android Studio App Links Tutorial
	81.1 About the Example App
	81.2 The Database Schema
	81.3 Loading and Running the Project
	81.4 Adding the URL Mapping
	81.5 Adding the Intent Filter
	81.6 Adding Intent Handling Code
	81.7 Testing the App Link
	81.8 Associating an App Link with a Web Site
	81.9 Summary
82. A Guide to the Android Studio Profiler
	82.1 Accessing the Android Profiler
	82.2 Enabling Advanced Profiling
	82.3 The Android Profiler Tool Window
	82.4 The Sessions Panel
	82.5 The CPU Profiler
	82.6 Memory Profiler
	82.7 Network Profiler
	82.8 Energy Profiler
	82.9 Summary
83. An Android Biometric Authentication Tutorial
	83.1 An Overview of Biometric Authentication
	83.2 Creating the Biometric Authentication Project
	83.3 Configuring Device Fingerprint Authentication
	83.4 Adding the Biometric Permission to the Manifest File
	83.5 Designing the User Interface
	83.6 Adding a Toast Convenience Method
	83.7 Checking the Security Settings
	83.8 Configuring the Authentication Callbacks
	83.9 Adding the CancellationSignal
	83.10 Starting the Biometric Prompt
	83.11 Testing the Project
	83.12 Summary
84. Creating, Testing and Uploading an Android App Bundle
	84.1 The Release Preparation Process
	84.2 Android App Bundles
	84.3 Register for a Google Play Developer Console Account
	84.4 Configuring the App in the Console
	84.5 Enabling Google Play App Signing
	84.6 Creating a Keystore File
	84.7 Creating the Android App Bundle
	84.8 Generating Test APK Files
	84.9 Uploading the App Bundle to the Google Play Developer Console
	84.10 Exploring the App Bundle
	84.11 Managing Testers
	84.12 Uploading New App Bundle Revisions
	84.13 Analyzing the App Bundle File
	84.14 Enabling Google Play Signing for an Existing App
	84.15 Summary
85. An Overview of Android Dynamic Feature Modules
	85.1 An Overview of Dynamic Feature Modules
	85.2 Dynamic Feature Module Architecture
	85.3 Creating a Dynamic Feature Module
	85.4 Converting an Existing Module for Dynamic Delivery
	85.5 Working with Dynamic Feature Modules
	85.6 Handling Large Dynamic Feature Modules
	85.7 Summary
86. An Android Studio Dynamic Feature Tutorial
	86.1 Creating the DynamicFeature Project
	86.2 Adding Dynamic Feature Support to the Project
	86.3 Designing the Base Activity User Interface
	86.4 Adding the Dynamic Feature Module
	86.5 Reviewing the Dynamic Feature Module
	86.6 Adding the Dynamic Feature Activity
	86.7 Implementing the launchIntent() Method
	86.8 Uploading the App Bundle for Testing
	86.9 Implementing the installFeature() Method
	86.10 Adding the Update Listener
	86.11 Handling Large Downloads
	86.12 Using Deferred Installation
	86.13 Removing a Dynamic Module
	86.14 Summary
87. An Overview of Gradle in Android Studio
	87.1 An Overview of Gradle
	87.2 Gradle and Android Studio
		87.2.1 Sensible Defaults
		87.2.2 Dependencies
		87.2.3 Build Variants
		87.2.4 Manifest Entries
		87.2.5 APK Signing
		87.2.6 ProGuard Support
	87.3 The Top-level Gradle Build File
	87.4 Module Level Gradle Build Files
	87.5 Configuring Signing Settings in the Build File
	87.6 Running Gradle Tasks from the Command-line
	87.7 Summary
Index
_GoBack
_Ref381951250
_Ref381951280
_Ref381877478
_Ref382489559
_Ref382490730
_GoBack
_GoBack
_Ref384718331
_Ref324774345




نظرات کاربران