طراحی پورتال های سازمانی شرکت پروجان

شیرپوینت و پراجکت سرور پروجان

استقرار شیرپوینت و پراجکت سرور

مسیر سایت

کتاب Android Studio 3.0 Development Essentials.pdf

Android Studio 3.0 Development Essentials.pdf

دانلود رایگان کتاب Android Studio 3.0 Development Essentials.pdf   

Android 8 Edition

Neil Smyth

© 2017 Neil Smyth

لینک دانلود کتاب Android Studio 3.0 Development Essentials.pdf

 

Contents

 

1. Introduction
1.1 Downloading the Code Samples
1.2 Firebase Essentials Book Now Available
1.3 Feedback
1.4 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 Updating Android Studio and the SDK
2.8 Summary

3. Creating an Example Android App in Android Studio

3.1 Creating a New Android Project
3.2 Defining the Project and SDK Settings
3.3 Creating an Activity
3.4 Modifying the Example Application
3.5 Reviewing the Layout and Resource Files
3.6 Summary

4. A Tour of the Android Studio User Interface

4.1 The Welcome Screen
4.2 The Main Window

4.3 The Tool Windows
4.4 Android Studio Keyboard Shortcuts
4.5 Switcher and Recent Files Navigation
4.6 Changing the Android Studio Theme
4.7 Summary

5. Creating an Android Virtual Device (AVD) in Android Studio

5.1 About Android Virtual Devices
5.2 Creating a New AVD
5.3 Starting the Emulator
5.4 Running the Application in the AVD
5.5 Run/Debug Configurations
5.6 Stopping a Running Application
5.7 AVD Command-line Creation
5.8 Android Virtual Device Configuration Files
5.9 Moving and Renaming an Android Virtual Device
5.10 Summary

6. Using and Configuring the Android Studio AVD Emulator

6.1 The Emulator Environment
6.2 The Emulator Toolbar Options
6.3 Working in Zoom Mode
6.4 Resizing the Emulator Window
6.5 Extended Control Options
6.5.1 Location
6.5.2 Cellular
6.5.3 Battery
6.5.4 Phone
6.5.5 Directional Pad
6.5.6 Microphone
6.5.7 Fingerprint
6.5.8 Virtual Sensors
6.5.9 Settings
6.5.10 Help
6.6 Drag and Drop Support
6.7 Configuring Fingerprint Emulation
6.8 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 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 Intents
10.3 Broadcast Intents

10.4 Broadcast Receivers
10.5 Android Services
10.6 Content Providers
10.7 The Application Manifest
10.8 Application Resources
10.9 Application Context
10.10 Summary

11. Understanding Android Application and Activity Lifecycles

11.1 Android Applications and Resource Management
11.2 Android Process States
11.2.1 Foreground Process
11.2.2 Visible Process
11.2.3 Service Process
11.2.4 Background Process
11.2.5 Empty Process
11.3 Inter-Process Dependencies
11.4 The Activity Lifecycle
11.5 The Activity Stack
11.6 Activity States
11.7 Configuration Changes
11.8 Handling State Change
11.9 Summary

12. Handling Android Activity State Changes

12.1 The Activity Class
12.2 Dynamic State vs. Persistent State
12.3 The Android Activity Lifecycle Methods
12.4 Activity Lifetimes
12.5 Disabling Configuration Change Restarts
12.6 Summary

13. Android Activity State Changes by Example

13.1 Creating the State Change Example Project
13.2 Designing the User Interface
13.3 Overriding the Activity Life cycle Methods
13.4 Filtering the Logcat Panel
13.5 Running the Application

13.6 Experimenting with the Activity
13.7 Summary

14. Saving and Restoring the State of an Android Activity

14.1 Saving Dynamic State
14.2 Default Saving of User Interface State
14.3 The Bundle Class
14.4 Saving the State
14.5 Restoring the State
14.6 Testing the Application
14.7 Summary

15. Understanding Android Views, View Groups and Layouts

15.1 Designing for Different Android Devices
15.2 Views and View Groups
15.3 Android Layout Managers
15.4 The View Hierarchy
15.5 Creating User Interfaces
15.6 Summary

16. A Guide to the Android Studio Layout Editor Tool

16.1 Basic vs. Empty Activity Templates
16.2 The Android Studio Layout Editor
16.3 Design Mode
16.4 The Palette
16.5 Pan and Zoom
16.6 Design and Layout Views
16.7 Text Mode
16.8 Setting Attributes
16.9 Configuring Favorite Attributes
16.10 Creating a Custom Device Definition
16.11 Changing the Current Device
16.12 Summary

17. A Guide to the Android ConstraintLayout

17.1 How ConstraintLayout Works
17.1.1 Constraints
17.1.2 Margins

17.1.3 Opposing Constraints
17.1.4 Constraint Bias
17.1.5 Chains
17.1.6 Chain Styles
17.2 Baseline Alignment
17.3 Working with Guidelines
17.4 Configuring Widget Dimensions
17.5 Working with Barriers
17.6 Ratios
17.7 ConstraintLayout Advantages
17.8 ConstraintLayout Availability
17.9 Summary

18. A Guide to using ConstraintLayout in Android Studio

18.1 Design and Layout Views
18.2 Autoconnect Mode
18.3 Inference Mode
18.4 Manipulating Constraints Manually
18.5 Adding Constraints in the Inspector
18.6 Deleting Constraints
18.7 Adjusting Constraint Bias
18.8 Understanding Constraint Layout Margins
18.9 The Importance of Opposing Constraints and Bias
18.10 Configuring Widget Dimensions
18.11 Adding Guidelines
18.12 Adding Barriers
18.13 Widget Group Alignment
18.14 Converting other Layouts to ConstraintLayout
18.15 Summary

19. Working with ConstraintLayout Chains and Ratios in Android Studio

19.1 Creating a Chain
19.2 Changing the Chain Style
19.3 Spread Inside Chain Style
19.4 Packed Chain Style
19.5 Packed Chain Style with Bias
19.6 Weighted Chain

19.7 Working with Ratios
19.8 Summary

20. An Android Studio Layout Editor ConstraintLayout Tutorial

20.1 An Android Studio Layout Editor Tool Example
20.2 Creating a New Activity
20.3 Preparing the Layout Editor Environment
20.4 Adding the Widgets to the User Interface
20.5 Adding the Constraints
20.6 Testing the Layout
20.7 Using the Layout Inspector
20.8 Summary

21. Manual XML Layout Design in Android Studio

21.1 Manually Creating an XML Layout
21.2 Manual XML vs. Visual Layout Design
21.3 Summary

22. Managing Constraints using Constraint Sets

22.1 Java Code vs. XML Layout Files
22.2 Creating Views
22.3 View Attributes
22.4 Constraint Sets
22.4.1 Establishing Connections
22.4.2 Applying Constraints to a Layout
22.4.3 Parent Constraint Connections
22.4.4 Sizing Constraints
22.4.5 Constraint Bias
22.4.6 Alignment Constraints
22.4.7 Copying and Applying Constraint Sets
22.4.8 ConstraintLayout Chains
22.4.9 Guidelines
22.4.10 Removing Constraints
22.4.11 Scaling
22.4.12 Rotation
22.5 Summary

23. An Android ConstraintSet Tutorial

23.1 Creating the Example Project in Android Studio
23.2 Adding Views to an Activity
23.3 Setting View Attributes
23.4 Creating View IDs
23.5 Configuring the Constraint Set
23.6 Adding the EditText View
23.7 Converting Density Independent Pixels (dp) to Pixels (px)
23.8 Summary

24. A Guide to using Instant Run in Android Studio

24.1 Introducing Instant Run
24.2 Understanding Instant Run Swapping Levels
24.3 Enabling and Disabling Instant Run
24.4 Using Instant Run
24.5 An Instant Run Tutorial
24.6 Triggering an Instant Run Hot Swap
24.7 Triggering an Instant Run Warm Swap
24.8 Triggering an Instant Run Cold Swap
24.9 The Run Button
24.10 Summary

25. An Overview and Example of Android Event Handling

25.1 Understanding Android Events
25.2 Using the android:onClick Resource
25.3 Event Listeners and Callback Methods
25.4 An Event Handling Example
25.5 Designing the User Interface
25.6 The Event Listener and Callback Method
25.7 Consuming Events
25.8 Summary

26. Android Touch and Multi-touch Event Handling

26.1 Intercepting Touch Events
26.2 The MotionEvent Object
26.3 Understanding Touch Actions
26.4 Handling Multiple Touches
26.5 An Example Multi-Touch Application
26.6 Designing the Activity User Interface

26.7 Implementing the Touch Event Listener
26.8 Running the Example Application
26.9 Summary

27. Detecting Common Gestures using the Android Gesture Detector Class

27.1 Implementing Common Gesture Detection
27.2 Creating an Example Gesture Detection Project
27.3 Implementing the Listener Class
27.4 Creating the GestureDetectorCompat Instance
27.5 Implementing the onTouchEvent() Method
27.6 Testing the Application
27.7 Summary

28. Implementing Custom Gesture and Pinch Recognition on Android

28.1 The Android Gesture Builder Application
28.2 The GestureOverlayView Class
28.3 Detecting Gestures
28.4 Identifying Specific Gestures
28.5 Building and Running the Gesture Builder Application
28.6 Creating a Gestures File
28.7 Creating the Example Project
28.8 Extracting the Gestures File from the SD Card
28.9 Adding the Gestures File to the Project
28.10 Designing the User Interface
28.11 Loading the Gestures File
28.12 Registering the Event Listener
28.13 Implementing the onGesturePerformed Method
28.14 Testing the Application
28.15 Configuring the GestureOverlayView
28.16 Intercepting Gestures
28.17 Detecting Pinch Gestures
28.18 A Pinch Gesture Example Project
28.19 Summary

29. An Introduction to Android Fragments

29.1 What is a Fragment?
29.2 Creating a Fragment

29.3 Adding a Fragment to an Activity using the Layout XML File
29.4 Adding and Managing Fragments in Code
29.5 Handling Fragment Events
29.6 Implementing Fragment Communication
29.7 Summary

30. Using Fragments in Android Studio - An Example

30.1 About the Example Fragment Application
30.2 Creating the Example Project
30.3 Creating the First Fragment Layout
30.4 Creating the First Fragment Class
30.5 Creating the Second Fragment Layout
30.6 Adding the Fragments to the Activity
30.7 Making the Toolbar Fragment Talk to the Activity
30.8 Making the Activity Talk to the Text Fragment
30.9 Testing the Application
30.10 Summary

31. Creating and Managing Overflow Menus on Android

31.1 The Overflow Menu
31.2 Creating an Overflow Menu
31.3 Displaying an Overflow Menu
31.4 Responding to Menu Item Selections
31.5 Creating Checkable Item Groups
31.6 Menus and the Android Studio Menu Editor
31.7 Creating the Example Project
31.8 Designing the Menu
31.9 Modifying the onOptionsItemSelected() Method
31.10 Testing the Application
31.11 Summary

32. Animating User Interfaces with the Android Transitions Framework

32.1 Introducing Android Transitions and Scenes
32.2 Using Interpolators with Transitions
32.3 Working with Scene Transitions
32.4 Custom Transitions and TransitionSets in Code
32.5 Custom Transitions and TransitionSets in XML
32.6 Working with Interpolators

32.7 Creating a Custom Interpolator
32.8 Using the beginDelayedTransition Method
32.9 Summary

33. An Android Transition Tutorial using beginDelayedTransition

33.1 Creating the Android Studio TransitionDemo Project
33.2 Preparing the Project Files
33.3 Implementing beginDelayedTransition Animation
33.4 Customizing the Transition
33.5 Summary

34. Implementing Android Scene Transitions – A Tutorial

34.1 An Overview of the Scene Transition Project
34.2 Creating the Android Studio SceneTransitions Project
34.3 Identifying and Preparing the Root Container
34.4 Designing the First Scene
34.5 Designing the Second Scene
34.6 Entering the First Scene
34.7 Loading Scene 2
34.8 Implementing the Transitions
34.9 Adding the Transition File
34.10 Loading and Using the Transition Set
34.11 Configuring Additional Transitions
34.12 Summary

35. Working with the Floating Action Button and Snackbar

35.1 The Material Design
35.2 The Design Library
35.3 The Floating Action Button (FAB)
35.4 The Snackbar
35.5 Creating the Example Project
35.6 Reviewing the Project
35.7 Changing the Floating Action Button
35.8 Adding the ListView to the Content Layout
35.9 Adding Items to the ListView
35.10 Adding an Action to the Snackbar
35.11 Summary

36. Creating a Tabbed Interface using the TabLayout Component

36.1 An Introduction to the ViewPager
36.2 An Overview of the TabLayout Component
36.3 Creating the TabLayoutDemo Project
36.4 Creating the First Fragment
36.5 Duplicating the Fragments
36.6 Adding the TabLayout and ViewPager
36.7 Creating the Pager Adapter
36.8 Performing the Initialization Tasks
36.9 Testing the Application
36.10 Customizing the TabLayout
36.11 Displaying Icon Tab Items
36.12 Summary

37. Working with the RecyclerView and CardView Widgets

37.1 An Overview of the RecyclerView
37.2 An Overview of the CardView
37.3 Adding the Libraries to the Project
37.4 Summary

38. An Android RecyclerView and CardView Tutorial

38.1 Creating the CardDemo Project
38.2 Removing the Floating Action Button
38.3 Adding the RecyclerView and CardView Libraries
38.4 Designing the CardView Layout
38.5 Adding the RecyclerView
38.6 Creating the RecyclerView Adapter
38.7 Adding the Image Files
38.8 Initializing the RecyclerView Component
38.9 Testing the Application
38.10 Responding to Card Selections
38.11 Summary

39. Working with the AppBar and Collapsing Toolbar Layouts

39.1 The Anatomy of an AppBar
39.2 The Example Project
39.3 Coordinating the RecyclerView and Toolbar

39.4 Introducing the Collapsing Toolbar Layout
39.5 Changing the Title and Scrim Color
39.6 Summary

40. Implementing an Android Navigation Drawer

40.1 An Overview of the Navigation Drawer
40.2 Opening and Closing the Drawer
40.3 Responding to Drawer Item Selections
40.4 Using the Navigation Drawer Activity Template
40.5 Creating the Navigation Drawer Template Project
40.6 The Template Layout Resource Files
40.7 The Header Coloring Resource File
40.8 The Template Menu Resource File
40.9 The Template Code
40.10 Running the App
40.11 Summary

41. An Android Studio Master/Detail Flow Tutorial

41.1 The Master/Detail Flow
41.2 Creating a Master/Detail Flow Activity
41.3 The Anatomy of the Master/Detail Flow Template
41.4 Modifying the Master/Detail Flow Template
41.5 Changing the Content Model
41.6 Changing the Detail Pane
41.7 Modifying the WebsiteDetailFragment Class
41.8 Modifying the WebsiteListActivity Class
41.9 Adding Manifest Permissions
41.10 Running the Application
41.11 Summary

42. An Overview of Android Intents

42.1 An Overview of Intents
42.2 Explicit Intents
42.3 Returning Data from an Activity
42.4 Implicit Intents
42.5 Using Intent Filters
42.6 Checking Intent Availability
42.7 Summary

43. Android Explicit Intents – A Worked Example

43.1 Creating the Explicit Intent Example Application
43.2 Designing the User Interface Layout for ActivityA
43.3 Creating the Second Activity Class
43.4 Designing the User Interface Layout for ActivityB
43.5 Reviewing the Application Manifest File
43.6 Creating the Intent
43.7 Extracting Intent Data
43.8 Launching ActivityB as a Sub-Activity
43.9 Returning Data from a Sub-Activity
43.10 Testing the Application
43.11 Summary

44. Android Implicit Intents – A Worked Example

44.1 Creating the Android Studio Implicit Intent Example Project
44.2 Designing the User Interface
44.3 Creating the Implicit Intent
44.4 Adding a Second Matching Activity
44.5 Adding the Web View to the UI
44.6 Obtaining the Intent URL
44.7 Modifying the MyWebView Project Manifest File
44.8 Installing the MyWebView Package on a Device
44.9 Testing the Application
44.10 Summary

45. Android Broadcast Intents and Broadcast Receivers

45.1 An Overview of Broadcast Intents
45.2 An Overview of Broadcast Receivers
45.3 Obtaining Results from a Broadcast
45.4 Sticky Broadcast Intents
45.5 The Broadcast Intent Example
45.6 Creating the Example Application
45.7 Creating and Sending the Broadcast Intent
45.8 Creating the Broadcast Receiver
45.9 Registering the Broadcast Receiver
45.10 Testing the Broadcast Example
45.11 Listening for System Broadcasts

45.12 Summary

46. A Basic Overview of Threads and AsyncTasks

46.1 An Overview of Threads
46.2 The Application Main Thread
46.3 Thread Handlers
46.4 A Basic AsyncTask Example
46.5 Subclassing AsyncTask
46.6 Testing the App
46.7 Canceling a Task
46.8 Summary

47. An Overview of Android Started and Bound Services

47.1 Started Services
47.2 Intent Service
47.3 Bound Service
47.4 The Anatomy of a Service
47.5 Controlling Destroyed Service Restart Options
47.6 Declaring a Service in the Manifest File
47.7 Starting a Service Running on System Startup
47.8 Summary

48. Implementing an Android Started Service – A Worked Example

48.1 Creating the Example Project
48.2 Creating the Service Class
48.3 Adding the Service to the Manifest File
48.4 Starting the Service
48.5 Testing the IntentService Example
48.6 Using the Service Class
48.7 Creating the New Service
48.8 Modifying the User Interface
48.9 Running the Application
48.10 Creating an AsyncTask for Service Tasks
48.11 Summary

49. Android Local Bound Services – A Worked Example

49.1 Understanding Bound Services
49.2 Bound Service Interaction Options

49.3 An Android Studio Local Bound Service Example
49.4 Adding a Bound Service to the Project
49.5 Implementing the Binder
49.6 Binding the Client to the Service
49.7 Completing the Example
49.8 Testing the Application
49.9 Summary

50. Android Remote Bound Services – A Worked Example

50.1 Client to Remote Service Communication
50.2 Creating the Example Application
50.3 Designing the User Interface
50.4 Implementing the Remote Bound Service
50.5 Configuring a Remote Service in the Manifest File
50.6 Launching and Binding to the Remote Service
50.7 Sending a Message to the Remote Service
50.8 Summary

51. An Android 8 Notifications Tutorial

51.1 An Overview of Notifications
51.2 Creating the NotifyDemo Project
51.3 Designing the User Interface
51.4 Creating the Second Activity
51.5 Creating a Notification Channel
51.6 Creating and Issuing a Basic Notification
51.7 Launching an Activity from a Notification
51.8 Adding Actions to a Notification
51.9 Bundled Notifications
51.10 Summary

52. An Android 8 Direct Reply Notification Tutorial

52.1 Creating the DirectReply Project
52.2 Designing the User Interface
52.3 Creating the Notification Channel
52.4 Building the RemoteInput Object
52.5 Creating the PendingIntent
52.6 Creating the Reply Action
52.7 Receiving Direct Reply Input

52.8 Updating the Notification
52.9 Summary

53. An Introduction to Android Multi-Window Support

53.1 Split-Screen, Freeform and Picture-in-Picture Modes
53.2 Entering Multi-Window Mode
53.3 Enabling Freeform Support
53.4 Checking for Freeform Support
53.5 Enabling Multi-Window Support in an App
53.6 Specifying Multi-Window Attributes
53.7 Detecting Multi-Window Mode in an Activity
53.8 Receiving Multi-Window Notifications
53.9 Launching an Activity in Multi-Window Mode
53.10 Configuring Freeform Activity Size and Position
53.11 Summary

54. An Android Studio Multi-Window Split-Screen and Freeform Tutorial

54.1 Creating the Multi-Window Project
54.2 Designing the FirstActivity User Interface
54.3 Adding the Second Activity
54.4 Launching the Second Activity
54.5 Enabling Multi-Window Mode
54.6 Testing Multi-Window Support
54.7 Launching the Second Activity in a Different Window
54.8 Summary

55. An Overview of Android SQLite Databases

55.1 Understanding Database Tables
55.2 Introducing Database Schema
55.3 Columns and Data Types
55.4 Database Rows
55.5 Introducing Primary Keys
55.6 What is SQLite?
55.7 Structured Query Language (SQL)
55.8 Trying SQLite on an Android Virtual Device (AVD)
55.9 Android SQLite Classes
55.9.1 Cursor
55.9.2 SQLiteDatabase

55.9.3 SQLiteOpenHelper
55.9.4 ContentValues
55.10 Summary

56. An Android TableLayout and TableRow Tutorial

56.1 The TableLayout and TableRow Layout Views
56.2 Creating the Database Project
56.3 Adding the TableLayout to the User Interface
56.4 Configuring the TableRows
56.5 Adding the Button Bar to the Layout
56.6 Adjusting the Layout Margins
56.7 Summary

57. An Android SQLite Database Tutorial

57.1 About the Database Example
57.2 Creating the Data Model
57.3 Implementing the Data Handler
57.3.1 The Add Handler Method
57.3.2 The Query Handler Method
57.3.3 The Delete Handler Method
57.4 Implementing the Activity Event Methods
57.5 Testing the Application
57.6 Summary

58. Understanding Android Content Providers

58.1 What is a Content Provider?
58.2 The Content Provider
58.2.1 onCreate()
58.2.2 query()
58.2.3 insert()
58.2.4 update()
58.2.5 delete()
58.2.6 getType()
58.3 The Content URI
58.4 The Content Resolver
58.5 The <provider> Manifest Element
58.6 Summary

59. Implementing an Android Content Provider in Android Studio

59.1 Copying the Database Project
59.2 Adding the Content Provider Package
59.3 Creating the Content Provider Class
59.4 Constructing the Authority and Content URI
59.5 Implementing URI Matching in the Content Provider
59.6 Implementing the Content Provider onCreate() Method
59.7 Implementing the Content Provider insert() Method
59.8 Implementing the Content Provider query() Method
59.9 Implementing the Content Provider update() Method
59.10 Implementing the Content Provider delete() Method
59.11 Declaring the Content Provider in the Manifest File
59.12 Modifying the Database Handler
59.13 Summary

60. Accessing Cloud Storage using the Android Storage Access Framework

60.1 The Storage Access Framework
60.2 Working with the Storage Access Framework
60.3 Filtering Picker File Listings
60.4 Handling Intent Results
60.5 Reading the Content of a File
60.6 Writing Content to a File
60.7 Deleting a File
60.8 Gaining Persistent Access to a File
60.9 Summary

61. An Android Storage Access Framework Example

61.1 About the Storage Access Framework Example
61.2 Creating the Storage Access Framework Example
61.3 Designing the User Interface
61.4 Declaring Request Codes
61.5 Creating a New Storage File
61.6 The onActivityResult() Method
61.7 Saving to a Storage File
61.8 Opening and Reading a Storage File
61.9 Testing the Storage Access Application
61.10 Summary

62. Implementing Video Playback on Android using the VideoView and MediaController Classes

62.1 Introducing the Android VideoView Class
62.2 Introducing the Android MediaController Class
62.3 Creating the Video Playback Example
62.4 Designing the VideoPlayer Layout
62.5 Configuring the VideoView
62.6 Adding Internet Permission
62.7 Adding the MediaController to the Video View
62.8 Setting up the onPreparedListener
62.9 Summary

63. Android Picture-in-Picture Mode

63.1 Picture-in-Picture Features
63.2 Enabling Picture-in-Picture Mode
63.3 Configuring Picture-in-Picture Parameters
63.4 Entering Picture-in-Picture Mode
63.5 Detecting Picture-in-Picture Mode Changes
63.6 Adding Picture-in-Picture Actions
63.7 Summary

64. An Android Picture-in-Picture Tutorial

64.1 Changing the Minimum SDK Setting
64.2 Adding Picture-in-Picture Support to the Manifest
64.3 Adding a Picture-in-Picture Button
64.4 Entering Picture-in-Picture Mode
64.5 Detecting Picture-in-Picture Mode Changes
64.6 Adding a Broadcast Receiver
64.7 Adding the PiP Action
64.8 Testing the Picture-in-Picture Action
64.9 Summary

65. Video Recording and Image Capture on Android using Camera Intents

65.1 Checking for Camera Support
65.2 Calling the Video Capture Intent
65.3 Calling the Image Capture Intent
65.4 Creating an Android Studio Video Recording Project

65.5 Designing the User Interface Layout
65.6 Checking for the Camera
65.7 Launching the Video Capture Intent
65.8 Handling the Intent Return
65.9 Testing the Application
65.10 Summary

66. Making Runtime Permission Requests in Android

66.1 Understanding Normal and Dangerous Permissions
66.2 Creating the Permissions Example Project
66.3 Checking for a Permission
66.4 Requesting Permission at Runtime
66.5 Providing a Rationale for the Permission Request
66.6 Testing the Permissions App
66.7 Summary

67. Android Audio Recording and Playback using MediaPlayer and MediaRecorder

67.1 Playing Audio
67.2 Recording Audio and Video using the MediaRecorder Class
67.3 About the Example Project
67.4 Creating the AudioApp Project
67.5 Designing the User Interface
67.6 Checking for Microphone Availability
67.7 Performing the Activity Initialization
67.8 Implementing the recordAudio() Method
67.9 Implementing the stopAudio() Method
67.10 Implementing the playAudio() method
67.11 Configuring and Requesting Permissions
67.12 Testing the Application
67.13 Summary

68. Working with the Google Maps Android API in Android Studio

68.1 The Elements of the Google Maps Android API
68.2 Creating the Google Maps Project
68.3 Obtaining Your Developer Signature
68.4 Testing the Application
68.5 Understanding Geocoding and Reverse Geocoding

68.6 Adding a Map to an Application
68.7 Requesting Current Location Permission
68.8 Displaying the User’s Current Location
68.9 Changing the Map Type
68.10 Displaying Map Controls to the User
68.11 Handling Map Gesture Interaction
68.11.1 Map Zooming Gestures
68.11.2 Map Scrolling/Panning Gestures
68.11.3 Map Tilt Gestures
68.11.4 Map Rotation Gestures
68.12 Creating Map Markers
68.13 Controlling the Map Camera
68.14 Summary

69. Printing with the Android Printing Framework

69.1 The Android Printing Architecture
69.2 The Print Service Plugins
69.3 Google Cloud Print
69.4 Printing to Google Drive
69.5 Save as PDF
69.6 Printing from Android Devices
69.7 Options for Building Print Support into Android Apps
69.7.1 Image Printing
69.7.2 Creating and Printing HTML Content
69.7.3 Printing a Web Page
69.7.4 Printing a Custom Document
69.8 Summary

70. An Android HTML and Web Content Printing Example

70.1 Creating the HTML Printing Example Application
70.2 Printing Dynamic HTML Content
70.3 Creating the Web Page Printing Example
70.4 Removing the Floating Action Button
70.5 Designing the User Interface Layout
70.6 Loading the Web Page into the WebView
70.7 Adding the Print Menu Option
70.8 Summary

71. A Guide to Android Custom Document Printing

71.1 An Overview of Android Custom Document Printing
71.1.1 Custom Print Adapters
71.2 Preparing the Custom Document Printing Project
71.3 Creating the Custom Print Adapter
71.4 Implementing the onLayout() Callback Method
71.5 Implementing the onWrite() Callback Method
71.6 Checking a Page is in Range
71.7 Drawing the Content on the Page Canvas
71.8 Starting the Print Job
71.9 Testing the Application
71.10 Summary

72. An Introduction to Android App Links

72.1 An Overview of Android App Links
72.2 App Link Intent Filters
72.3 Handling App Link Intents
72.4 Associating the App with a Website
72.5 Summary

73. An Android Studio App Links Tutorial

73.1 About the Example App
73.2 The Database Schema
73.3 Loading and Running the Project
73.4 Adding the URL Mapping
73.5 Adding the Intent Filter
73.6 Adding Intent Handling Code
73.7 Testing the App Link
73.8 Associating an App Link with a Web Site
73.9 Summary

74. An Introduction to Android Instant Apps

74.1 An Overview of Android Instant Apps
74.2 Instant App Feature Modules
74.3 Instant App Project Structure
74.4 The Application and Feature Build Plugins
74.5 Installing the Instant Apps Development SDK

74.6 Summary

75. An Android Instant App Tutorial

75.1 Creating the Instant App Project
75.2 Reviewing the Project
75.3 Testing the Installable App
75.4 Testing the Instant App
75.5 Reviewing the Instant App APK Files
75.6 Summary

76. Adapting an Android Studio Project for Instants Apps

76.1 Getting Started
76.2 Adding the Application APK Module
76.3 Adding an Instant App Module
76.4 Testing the Instant App
76.5 Summary

77. Creating Multi-Feature Instant Apps

77.1 Adding the Second App Link
77.2 Creating a Second Feature Module
77.3 Moving the Landmark Activity to the New Feature Module
77.4 Testing the Multi-Feature Project
77.5 Summary

78. A Guide to the Android Studio Profiler

78.1 Accessing the Android Profiler
78.2 Enabling Advanced Profiling
78.3 The Android Profiler Tool Window
78.4 The CPU Profiler
78.5 Memory Profiler
78.6 Network Profiler
78.7 Summary

79. An Android Fingerprint Authentication Tutorial

79.1 An Overview of Fingerprint Authentication
79.2 Creating the Fingerprint Authentication Project
79.3 Configuring Device Fingerprint Authentication
79.4 Adding the Fingerprint Permission to the Manifest File
79.5 Adding the Fingerprint Icon

79.6 Designing the User Interface
79.7 Accessing the Keyguard and Fingerprint Manager Services
79.8 Checking the Security Settings
79.9 Accessing the Android Keystore and KeyGenerator
79.10 Generating the Key
79.11 Initializing the Cipher
79.12 Creating the CryptoObject Instance
79.13 Implementing the Fingerprint Authentication Handler Class
79.14 Testing the Project
79.15 Summary

80. Handling Different Android Devices and Displays

80.1 Handling Different Device Displays
80.2 Creating a Layout for each Display Size
80.3 Creating Layout Variants in Android Studio
80.4 Providing Different Images
80.5 Checking for Hardware Support
80.6 Providing Device Specific Application Binaries
80.7 Summary

81. Signing and Preparing an Android Application for Release

81.1 The Release Preparation Process
81.2 Register for a Google Play Developer Console Account
81.3 Configuring the App in the Console
81.4 Enabling Google Play App Signing
81.5 Changing the Build Variant
81.6 Enabling ProGuard
81.7 Creating a Keystore File
81.8 Creating the Application APK File
81.9 Uploading New APK Versions to the Google Play Developer Console
81.10 Managing Testers
81.11 Uploading Instant App APK Files
81.12 Uploading New APK Revisions
81.13 Analyzing the APK File
81.14 Enabling Google Play Signing for an Existing App
81.15 Summary

82. An Overview of Gradle in Android Studio

82.1 An Overview of Gradle
82.2 Gradle and Android Studio
82.2.1 Sensible Defaults
82.2.2 Dependencies
82.2.3 Build Variants
82.2.4 Manifest Entries
82.2.5 APK Signing
82.2.6 ProGuard Support
82.3 The Top-level Gradle Build File
82.4 Module Level Gradle Build Files
82.5 Configuring Signing Settings in the Build File
82.6 Running Gradle Tasks from the Command-line
82.7 Summary

 

1. Introduction

Fully updated for Android Studio 3.0 and Android 8, the goal of this book is to teach the skills necessary to develop Android based applications using the Android Studio Integrated Development Environment (IDE), the Android 8 Software Development Kit (SDK) and the Java programming language.
Beginning with the basics, this book provides an outline of the steps necessary to set up an Android development and testing environment. 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. More advanced topics such as database management, content providers and intents are also covered, as are touch screen handling, gesture recognition, camera access and the playback and recording of both video and audio. This edition of the book also covers printing, transitions and cloud-based file storage.
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 3 and Android 8 are also covered in detail including the Layout Editor, the ConstraintLayout and ConstraintSet classes, constraint chains and barriers, direct reply notifications and multiwindow support.
Chapters also cover advanced features of Android Studio such as App Links, Instant Apps, the Android Studio Pro filer and Gradle build configuration. Assuming you already have some Java 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.

 

لینک دانلود کتاب Android Studio 3.0 Development Essentials.pdf

  

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