Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
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 Installing the Java Development Kit (JDK)
2.2.1 Windows JDK Installation
2.2.2 Mac OS X JDK Installation
2.3 Linux JDK Installation
2.4 Downloading the Android Studio Package
2.5 Installing Android Studio
2.5.1 Installation on Windows
2.5.2 Installation on Mac OS X
2.5.3 Installation on Linux
2.6 The Android Studio Setup Wizard
2.7 Installing Additional Android SDK Packages
2.8 Making the Android SDK Tools Command-line Accessible
2.8.1 Windows 7
2.8.2 Windows 8.1
2.8.3 Windows 10
2.8.4 Linux
2.8.5 Mac OS X
2.9 Updating the Android Studio and the SDK
2.10 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 Previewing the Layout
3.7 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.Testing Android Studio Apps on a Physical Android Device
6.1 An Overview of the Android Debug Bridge (ADB)
6.2 Enabling ADB on Android 6.0 based Devices
6.2.1 Mac OS X ADB Configuration
6.2.2 Windows ADB Configuration
6.2.3 Linux adb Configuration
6.3 Testing the adb Connection
6.4 Summary
7.The Basics of the Android Studio Code Editor
7.1 The Android Studio Editor
7.2 Splitting the Editor Window
7.3 Code Completion
7.4 Statement Completion
7.5 Parameter Information
7.6 Code Generation
7.7 Code Folding
7.8 Quick Documentation Lookup
7.9 Code Reformatting
7.10 Summary
8.An Overview of the Android Architecture
8.1 The Android Software Stack
8.2 The Linux Kernel
8.3 Android Runtime – ART
8.4 Android Libraries
8.4.1 C/C++ Libraries
8.5 Application Framework
8.6 Applications
8.7 Summary
9.The Anatomy of an Android Application
9.1 Android Activities
9.2 Android Intents
9.3 Broadcast Intents
9.4 Broadcast Receivers
9.5 Android Services
9.6 Content Providers
9.7 The Application Manifest
9.8 Application Resources
9.9 Application Context
9.10 Summary
10.Understanding Android Application and Activity Lifecycles
10.1 Android Applications and Resource Management
10.2 Android Process States
10.2.1 Foreground Process
10.2.2 Visible Process
10.2.3 Service Process
10.2.4 Background Process
10.2.5 Empty Process
10.3 Inter-Process Dependencies
10.4 The Activity Lifecycle
10.5 The Activity Stack
10.6 Activity States
10.7 Configuration Changes
10.8 Handling State Change
10.9 Summary
11.Handling Android Activity State Changes
11.1 The Activity Class
11.2 Dynamic State vs. Persistent State
11.3 The Android Activity Lifecycle Methods
11.4 Activity Lifetimes
11.5 Summary
12.Android Activity State Changes by Example
12.1 Creating the State Change Example Project
12.2 Designing the User Interface
12.3 Overriding the Activity Lifecycle Methods
12.4 Filtering the LogCat Panel
12.5 Running the Application
12.6 Experimenting with the Activity
12.7 Summary
13.Saving and Restoring the State of an Android Activity
13.1 Saving Dynamic State
13.2 Default Saving of User Interface State
13.3 The Bundle Class
13.4 Saving the State
13.5 Restoring the State
13.6 Testing the Application
13.7 Summary
14.Understanding Android Views, View Groups and Layouts
14.1 Designing for Different Android Devices
14.2 Views and View Groups
14.3 Android Layout Managers
14.4 The View Hierarchy
14.5 Creating User Interfaces
14.6 Summary
15. A Guide to the Android Studio Designer Tool
15.1 Blank vs. Empty Activity Templates
15.2 The Android Studio Designer
15.3 Design Mode
15.4 Text Mode
15.5 Setting Properties
15.6 Type Morphing
15.7 Creating a Custom Device Definition
15.8 Summary
16.Designing a User Interface using the Android Studio Designer Tool
16.1 An Android Studio Designer Tool Example
16.2 Creating a New Activity
16.3 Designing the User Interface
16.4 Editing View Properties
16.5 Running the Application
16.6 Manually Creating an XML Layout
16.7 Using the Hierarchy Viewer
16.8 Summary
17.Creating an Android User Interface in Java Code
17.1 Java Code vs. XML Layout Files
17.2 Creating Views
17.3 Properties and Layout Parameters
17.4 Creating the Example Project in Android Studio
17.5 Adding Views to an Activity
17.6 Setting View Properties
17.7 Adding Layout Parameters and Rules
17.8 Using View IDs
17.9 Converting Density Independent Pixels (dp) to Pixels (px)
17.10 Summary
18.Using the Android GridLayout Manager in Android Studio Designer
18.1 Introducing the Android GridLayout and Space Classes
18.2 The GridLayout Example
18.3 Creating the GridLayout Project
18.4 Creating the GridLayout Instance
18.5 Adding Views to GridLayout Cells
18.6 Moving and Deleting Rows and Columns
18.7 Implementing Cell Row and Column Spanning
18.8 Changing the Gravity of a GridLayout Child
18.9 Summary
19.Working with the Android GridLayout using XML Layout Resources
19.1 GridLayouts in XML Resource Files
19.2 Adding Child Views to the GridLayout
19.3 Declaring Cell Spanning, Gravity and Margins
19.4 Summary
20.An Overview and Example of Android Event Handling
20.1 Understanding Android Events
20.2 Using the android:onClick Resource
20.3 Event Listeners and Callback Methods
20.4 An Event Handling Example
20.5 Designing the User Interface
20.6 The Event Listener and Callback Method
20.7 Consuming Events
20.8 Summary
21.Android Touch and Multi-touch Event Handling
21.1 Intercepting Touch Events
21.2 The MotionEvent Object
21.3 Understanding Touch Actions
21.4 Handling Multiple Touches
21.5 An Example Multi-Touch Application
21.6 Designing the Activity User Interface
21.7 Implementing the Touch Event Listener
21.8 Running the Example Application
21.9 Summary
22.Detecting Common Gestures using the Android Gesture Detector Class
22.1 Implementing Common Gesture Detection
22.2 Creating an Example Gesture Detection Project
22.3 Implementing the Listener Class
22.4 Creating the GestureDetectorCompat Instance
22.5 Implementing the onTouchEvent() Method
22.6 Testing the Application
22.7 Summary
23.Implementing Custom Gesture and Pinch Recognition on Android
23.1 The Android Gesture Builder Application
23.2 The GestureOverlayView Class
23.3 Detecting Gestures
23.4 Identifying Specific Gestures
23.5 Building and Running the Gesture Builder Application
23.6 Creating a Gestures File
23.7 Extracting the Gestures File from the SD Card
23.8 Creating the Example Project
23.9 Adding the Gestures File to the Project
23.10 Designing the User Interface
23.11 Loading the Gestures File
23.12 Registering the Event Listener
23.13 Implementing the onGesturePerformed Method
23.14 Testing the Application
23.15 Configuring the GestureOverlayView
23.16 Intercepting Gestures
23.17 Detecting Pinch Gestures
23.18 A Pinch Gesture Example Project
23.19 Summary
24.An Introduction to Android Fragments
24.1 What is a Fragment?
24.2 Creating a Fragment
24.3 Adding a Fragment to an Activity using the Layout XML File
24.4 Adding and Managing Fragments in Code
24.5 Handling Fragment Events
24.6 Implementing Fragment Communication
24.7 Summary
25.Using Fragments in Android Studio - An Example
25.1 About the Example Fragment Application
25.2 Creating the Example Project
25.3 Creating the First Fragment Layout
25.4 Creating the First Fragment Class
25.5 Creating the Second Fragment Layout
25.6 Adding the Fragments to the Activity
25.7 Making the Toolbar Fragment Talk to the Activity
25.8 Making the Activity Talk to the Text Fragment
25.9 Testing the Application
25.10 Summary
26.Creating and Managing Overflow Menus on Android
26.1 The Overflow Menu
26.2 Creating an Overflow Menu
26.3 Displaying an Overflow Menu
26.4 Responding to Menu Item Selections
26.5 Creating Checkable Item Groups
26.6 Creating the Example Project
26.7 Modifying the Menu Description
26.8 Modifying the onOptionsItemSelected() Method
26.9 Testing the Application
26.10 Summary
27.Animating User Interfaces with the Android Transitions Framework
27.1 Introducing Android Transitions and Scenes
27.2 Using Interpolators with Transitions
27.3 Working with Scene Transitions
27.4 Custom Transitions and TransitionSets in Code
27.5 Custom Transitions and TransitionSets in XML
27.6 Working with Interpolators
27.7 Creating a Custom Interpolator
27.8 Using the beginDelayedTransition Method
27.9 Summary
28.An Android Transition Tutorial using beginDelayedTransition
28.1 Creating the Android Studio TransitionDemo Project
28.2 Preparing the Project Files
28.3 Implementing beginDelayedTransition Animation
28.4 Customizing the Transition
28.5 Summary
29.Implementing Android Scene Transitions – A Tutorial
29.1 An Overview of the Scene Transition Project
29.2 Creating the Android Studio SceneTransitions Project
29.3 Identifying and Preparing the Root Container
29.4 Designing the First Scene
29.5 Designing the Second Scene
29.6 Entering the First Scene
29.7 Loading Scene 2
29.8 Implementing the Transitions
29.9 Adding the Transition File
29.10 Loading and Using the Transition Set
29.11 Configuring Additional Transitions
29.12 Summary
30.Working with the Floating Action Button and Snackbar
30.1 The Material Design
30.2 The Design Library
30.3 The Floating Action Button (FAB)
30.4 The Snackbar
30.5 Creating the Example Project
30.6 Reviewing the Project
30.7 Changing the Floating Action Button
30.8 Adding the ListView to the Content Layout
30.9 Adding Items to the ListView
30.10 Adding an Action to the Snackbar
30.11 Summary
31.Creating a Tabbed Interface using the TabLayout Component
31.1 An Introduction to the ViewPager
31.2 An Overview of the TabLayout Component
31.3 Creating the TabLayoutDemo Project
31.4 Creating the First Fragment
31.5 Duplicating the Fragments
31.6 Adding the TabLayout and ViewPager
31.7 Creating the Pager Adapter
31.8 Performing the Initialization Tasks
31.9 Testing the Application
31.10 Customizing the TabLayout
31.11 Displaying Icon Tab Items
31.12 Summary
32.Working with the RecyclerView and CardView Widgets
32.1 An Overview of the RecyclerView
32.2 An Overview of the CardView
32.3 Adding the Libraries to the Project
32.4 Summary
33.An Android RecyclerView and CardView Tutorial
33.1 Creating the CardDemo Project
33.2 Removing the Floating Action Button
33.3 Adding the RecyclerView and CardView Libraries
33.4 Designing the CardView Layout
33.5 Adding the RecyclerView
33.6 Creating the RecyclerView Adapter
33.7 Adding the Image Files
33.8 Initializing the RecyclerView Component
33.9 Testing the Application
33.10 Responding to Card Selections
33.11 Summary
34.Working with the AppBar and Collapsing Toolbar Layouts
34.1 The Anatomy of an AppBar
34.2 The Example Project
34.3 Coordinating the RecyclerView and Toolbar
34.4 Introducing the Collapsing Toolbar Layout
34.5 Changing the Title and Scrim Color
34.6 Summary
35.Implementing an Android Navigation Drawer
35.1 An Overview of the Navigation Drawer
35.2 Opening and Closing the Drawer
35.3 Responding to Drawer Item Selections
35.4 Using the Navigation Drawer Activity Template
35.5 Creating the Navigation Drawer Template Project
35.6 The Template Layout Resource Files
35.7 The Header Coloring Resource File
35.8 The Template Menu Resource File
35.9 The Template Code
35.10 Running the App
35.11 Summary
36. An Android Studio Master/Detail Flow Tutorial
36.1 The Master/Detail Flow
36.2 Creating a Master/Detail Flow Activity
36.3 The Anatomy of the Master/Detail Flow Template
36.4 Modifying the Master/Detail Flow Template
36.5 Changing the Content Model
36.6 Changing the Detail Pane
36.7 Modifying the WebsiteDetailFragment Class
36.8 Modifying the WebsiteListActivity Class
36.9 Adding Manifest Permissions
36.10 Running the Application
36.11 Summary
37.An Overview of Android Intents
37.1 An Overview of Intents
37.2 Explicit Intents
37.3 Returning Data from an Activity
37.4 Implicit Intents
37.5 Using Intent Filters
37.6 Checking Intent Availability
37.7 Summary
38.Android Explicit Intents – A Worked Example
38.1 Creating the Explicit Intent Example Application
38.2 Designing the User Interface Layout for ActivityA
38.3 Creating the Second Activity Class
38.4 Designing the User Interface Layout for ActivityB
38.5 Reviewing the Application Manifest File
38.6 Creating the Intent
38.7 Extracting Intent Data
38.8 Launching ActivityB as a Sub-Activity
38.9 Returning Data from a Sub-Activity
38.10 Testing the Application
38.11 Summary
39.Android Implicit Intents – A Worked Example
39.1 Creating the Android Studio Implicit Intent Example Project
39.2 Designing the User Interface
39.3 Creating the Implicit Intent
39.4 Adding a Second Matching Activity
39.5 Adding the Web View to the UI
39.6 Obtaining the Intent URL
39.7 Modifying the MyWebView Project Manifest File
39.8 Installing the MyWebView Package on a Device
39.9 Testing the Application
39.10 Summary
40.Android Broadcast Intents and Broadcast Receivers
40.1 An Overview of Broadcast Intents
40.2 An Overview of Broadcast Receivers
40.3 Obtaining Results from a Broadcast
40.4 Sticky Broadcast Intents
40.5 The Broadcast Intent Example
40.6 Creating the Example Application
40.7 Creating and Sending the Broadcast Intent
40.8 Creating the Broadcast Receiver
40.9 Configuring a Broadcast Receiver in the Manifest File
40.10 Testing the Broadcast Example
40.11 Listening for System Broadcasts
40.12 Summary
41.A Basic Overview of Android Threads and Thread Handlers
41.1 An Overview of Threads
41.2 The Application Main Thread
41.3 Thread Handlers
41.4 A Basic Threading Example
41.5 Creating a New Thread
41.6 Implementing a Thread Handler
41.7 Passing a Message to the Handler
41.8 Summary
42.An Overview of Android Started and Bound Services
42.1 Started Services
42.2 Intent Service
42.3 Bound Service
42.4 The Anatomy of a Service
42.5 Controlling Destroyed Service Restart Options
42.6 Declaring a Service in the Manifest File
42.7 Starting a Service Running on System Startup
42.8 Summary
43.Implementing an Android Started Service – A Worked Example
43.1 Creating the Example Project
43.2 Creating the Service Class
43.3 Adding the Service to the Manifest File
43.4 Starting the Service
43.5 Testing the IntentService Example
43.6 Using the Service Class
43.7 Creating the New Service
43.8 Modifying the User Interface
43.9 Running the Application
43.10 Creating a New Thread for Service Tasks
43.11 Summary
44.Android Local Bound Services – A Worked Example
44.1 Understanding Bound Services
44.2 Bound Service Interaction Options
44.3 An Android Studio Local Bound Service Example
44.4 Adding a Bound Service to the Project
44.5 Implementing the Binder
44.6 Binding the Client to the Service
44.7 Completing the Example
44.8 Testing the Application
44.9 Summary
45.Android Remote Bound Services – A Worked Example
45.1 Client to Remote Service Communication
45.2 Creating the Example Application
45.3 Designing the User Interface
45.4 Implementing the Remote Bound Service
45.5 Configuring a Remote Service in the Manifest File
45.6 Launching and Binding to the Remote Service
45.7 Sending a Message to the Remote Service
45.8 Summary
46.An Overview of Android SQLite Databases
46.1 Understanding Database Tables
46.2 Introducing Database Schema
46.3 Columns and Data Types
46.4 Database Rows
46.5 Introducing Primary Keys
46.6 What is SQLite?
46.7 Structured Query Language (SQL)
46.8 Trying SQLite on an Android Virtual Device (AVD)
46.9 Android SQLite Java Classes
46.9.1 Cursor
46.9.2 SQLiteDatabase
46.9.3 SQLiteOpenHelper
46.9.4 ContentValues
46.10 Summary
47.An Android TableLayout and TableRow Tutorial
47.1 The TableLayout and TableRow Layout Views
47.2 Creating the Database Project
47.3 Adding the TableLayout to the User Interface
47.4 Adding and Configuring the TableRows
47.5 Adding the Button Bar to the Layout
47.6 Adjusting the Layout Margins
47.7 Summary
48.An Android SQLite Database Tutorial
48.1 About the Database Example
48.2 Creating the Data Model
48.3 Implementing the Data Handler
48.3.1 The Add Handler Method
48.3.2 The Query Handler Method
48.3.3 The Delete Handler Method
48.4 Implementing the Activity Event Methods
48.5 Testing the Application
48.6 Summary
49.Understanding Android Content Providers
49.1 What is a Content Provider?
49.2 The Content Provider
49.2.1 onCreate()
49.2.2 query()
49.2.3 insert()
49.2.4 update()
49.2.5 delete()
49.2.6 getType()
49.3 The Content URI
49.4 The Content Resolver
49.5 The <provider> Manifest Element
49.6 Summary
50.Implementing an Android Content Provider in Android Studio
50.1 Copying the Database Project
50.2 Adding the Content Provider Package
50.3 Creating the Content Provider Class
50.4 Constructing the Authority and Content URI
50.5 Implementing URI Matching in the Content Provider
50.6 Implementing the Content Provider onCreate() Method
50.7 Implementing the Content Provider insert() Method
50.8 Implementing the Content Provider query() Method
50.9 Implementing the Content Provider update() Method
50.10 Implementing the Content Provider delete() Method
50.11 Declaring the Content Provider in the Manifest File
50.12 Modifying the Database Handler
50.13 Summary
51.Accessing Cloud Storage using the Android Storage Access Framework
51.1 The Storage Access Framework
51.2 Working with the Storage Access Framework
51.3 Filtering Picker File Listings
51.4 Handling Intent Results
51.5 Reading the Content of a File
51.6 Writing Content to a File
51.7 Deleting a File
51.8 Gaining Persistent Access to a File
51.9 Summary
52.An Android Storage Access Framework Example
52.1 About the Storage Access Framework Example
52.2 Creating the Storage Access Framework Example
52.3 Designing the User Interface
52.4 Declaring Request Codes
52.5 Creating a New Storage File
52.6 The onActivityResult() Method
52.7 Saving to a Storage File
52.8 Opening and Reading a Storage File
52.9 Testing the Storage Access Application
52.10 Summary
53.Implementing Video Playback on Android using the VideoView and MediaController Classes
53.1 Introducing the Android VideoView Class
53.2 Introducing the Android MediaController Class
53.3 Testing Video Playback
53.4 Creating the Video Playback Example
53.5 Designing the VideoPlayer Layout
53.6 Configuring the VideoView
53.7 Adding Internet Permission
53.8 Adding the MediaController to the Video View
53.9 Setting up the onPreparedListener
53.10 Summary
54.Video Recording and Image Capture on Android using Camera Intents
54.1 Checking for Camera Support
54.2 Calling the Video Capture Intent
54.3 Calling the Image Capture Intent
54.4 Creating an Android Studio Video Recording Project
54.5 Designing the User Interface Layout
54.6 Checking for the Camera
54.7 Launching the Video Capture Intent
54.8 Handling the Intent Return
54.9 Testing the Application
54.10 Summary
55.Making Runtime Permission Requests in Android 6.0
55.1 Understanding Normal and Dangerous Permissions
55.2 Creating the Permissions Example Project
55.3 Checking for a Permission
55.4 Requesting Permission at Runtime
55.5 Providing a Rationale for the Permission Request
55.6 Testing the Permissions App
55.7 Summary
56.Android Audio Recording and Playback using MediaPlayer and MediaRecorder
56.1 Playing Audio
56.2 Recording Audio and Video using the MediaRecorder Class
56.3 About the Example Project
56.4 Creating the AudioApp Project
56.5 Designing the User Interface
56.6 Checking for Microphone Availability
56.7 Performing the Activity Initialization
56.8 Implementing the recordAudio() Method
56.9 Implementing the stopAudio() Method
56.10 Implementing the playAudio() method
56.11 Configuring and Requesting Permissions
56.12 Testing the Application
56.13 Summary
57.Working with the Google Maps Android API in Android Studio
57.1 The Elements of the Google Maps Android API
57.2 Creating the Google Maps Project
57.3 Obtaining Your Developer Signature
57.4 Testing the Application
57.5 Understanding Geocoding and Reverse Geocoding
57.6 Adding a Map to an Application
57.7 Requesting Current Location Permission
57.8 Displaying the User’s Current Location
57.9 Changing the Map Type
57.10 Displaying Map Controls to the User
57.11 Handling Map Gesture Interaction
57.11.1 Map Zooming Gestures
57.11.2 Map Scrolling/Panning Gestures
57.11.3 Map Tilt Gestures
57.11.4 Map Rotation Gestures
57.12 Creating Map Markers
57.13 Controlling the Map Camera
57.14 Summary
58.Printing with the Android Printing Framework
58.1 The Android Printing Architecture
58.2 The Print Service Plugins
58.3 Google Cloud Print
58.4 Printing to Google Drive
58.5 Save as PDF
58.6 Printing from Android Devices
58.7 Options for Building Print Support into Android Apps
58.7.1 Image Printing
58.7.2 Creating and Printing HTML Content
58.7.3 Printing a Web Page
58.7.4 Printing a Custom Document
58.8 Summary
59.An Android HTML and Web Content Printing Example
59.1 Creating the HTML Printing Example Application
59.2 Printing Dynamic HTML Content
59.3 Creating the Web Page Printing Example
59.4 Removing the Floating Action Button
59.5 Designing the User Interface Layout
59.6 Loading the Web Page into the WebView
59.7 Adding the Print Menu Option
59.8 Summary
60.A Guide to Android Custom Document Printing
60.1 An Overview of Android Custom Document Printing
60.1.1 Custom Print Adapters
60.2 Preparing the Custom Document Printing Project
60.3 Creating the Custom Print Adapter
60.4 Implementing the onLayout() Callback Method
60.5 Implementing the onWrite() Callback Method
60.6 Checking a Page is in Range
60.7 Drawing the Content on the Page Canvas
60.8 Starting the Print Job
60.9 Testing the Application
60.10 Summary
61.Handling Different Android Devices and Displays
61.1 Handling Different Device Displays
61.2 Creating a Layout for each Display Size
61.3 Providing Different Images
61.4 Checking for Hardware Support
61.5 Providing Device Specific Application Binaries
61.6 Summary
62.Signing and Preparing an Android Application for Release
62.1 The Release Preparation Process
62.2 Changing the Build Variant
62.3 Enabling ProGuard
62.4 Creating a Keystore File
62.5 Generating a Private Key
62.6 Creating the Application APK File
62.7 Register for a Google Play Developer Console Account
62.8 Uploading New APK Versions to the Google Play Developer Console
62.9 Summary
63. Integrating Google Play In-app Billing into an Android Application
63.1 Installing the Google Play Billing Library
63.2 Creating the Example In-app Billing Project
63.3 Adding Billing Permission to the Manifest File
63.4 Adding the IInAppBillingService.aidl File to the Project
63.5 Adding the Utility Classes to the Project
63.6 Designing the User Interface
63.7 Implementing the “Click Me” Button
63.8 Google Play Developer Console and Google Wallet Accounts
63.9 Obtaining the Public License Key for the Application
63.10 Setting Up Google Play Billing in the Application
63.11 Initiating a Google Play In-app Billing Purchase
63.12 Implementing the onActivityResult Method
63.13 Implementing the Purchase Finished Listener
63.14 Consuming the Purchased Item
63.15 Releasing the IabHelper Instance
63.16 Modifying the Security.java File
63.17 Testing the In-app Billing Application
63.18 Building a Release APK
63.19 Creating a New In-app Product
63.20 Publishing the Application to the Alpha Distribution Channel
63.21 Adding In-app Billing Test Accounts
63.22 Configuring Group Testing
63.23 Resolving Problems with In-App Purchasing
63.24 Summary
64. An Overview of Gradle in Android Studio
64.1 An Overview of Gradle
64.2 Gradle and Android Studio
64.2.1 Sensible Defaults
64.2.2 Dependencies
64.2.3 Build Variants
64.2.4 Manifest Entries
64.2.5 APK Signing
64.2.6 ProGuard Support
64.3 The Top-level Gradle Build File
64.4 Module Level Gradle Build Files
64.5 Configuring Signing Settings in the Build File
64.6 Running Gradle Tasks from the Command-line
64.7 Summary
65. An Android Studio Gradle Build Variants Example
65.1 Creating the Build Variant Example Project
65.2 Extracting the Hello World String Resource
65.3 Adding the Build Flavors to the Module Build File
65.4 Adding the Flavors to the Project Structure
65.5 Adding Resource Files to the Flavors
65.6 Testing the Build Flavors
65.7 Build Variants and Class Files
65.8 Adding Packages to the Build Flavors
65.9 Customizing the Activity Classes
65.10 Summary
Creating an Android Virtual Device (AVD) in Android Studio
Setting up an Android Studio Development Environment
Creating an Example Android App in Android Studio
Handling Android Activity State Changes
Understanding Android Application and Activity Lifecycles
Saving and Restoring the User Interface State of an Android Activity
Android Activity State Changes – An Example Application
The Basics of the Android Studio Code Editor
Testing Android Studio Apps on a Physical Android Device
The Anatomy of an Android Application
Working with the Floating Action Button and Snackbar
Working with the AppBar and Collapsing Toolbar Layouts
Understanding Android Views, View Groups and Layouts
Designing an Android User Interface using the Graphical Layout Tool
Working with the Android GridLayout using XML Layout Resources
Using the Android GridLayout Manager in Android Studio Designer
Android Touch and Multi-touch Event Handling
Detecting Common Gestures using the Android Gesture Detector Class
Implementing Custom Gesture and Pinch Recognition on Android
Using Fragments in Android Studio - A Worked Example
An Overview and Example of Android Event Handling
An Introduction to Android Fragments
Animating User Interfaces with the Android Transitions Framework
An Android RecyclerView and CardView Tutorial
Creating and Managing Overflow Menus on Android
An Overview of Android Intents
Android Implicit Intents – A Worked Example
Android Local Bound Services – A Worked Example
An Overview of Android Started and Bound Services
A Basic Overview of Android Threads and Thread Handlers
An Android TableLayout and TableRow Tutorial
An Android SQLite Database Tutorial
An Overview of Android SQLite Databases
Understanding Android Content Providers
An Android Storage Access Framework Example
Making Runtime Permission Requests in Android 6.0
An Android HTML and Web Content Printing Example
A Guide to Android Custom Document Printing
Printing with the Android Printing Framework
Signing and Preparing an Android Application for Release
An Android Studio Gradle Build Variants Example
← Prev
Back
Next →
← Prev
Back
Next →