Android Studio Development Essentials
Android Studio Development Essentials is currently under development. New chapters are added regularly so check back for the latest updates.
- Android Studio Development Essentials Introduction
- Setting up a Windows, Linux or Mac OS X Android Studio Development Environment
- System Requirements
- Installing the Java Development Kit (JDK)
- Windows JDK Installation
- Mac OS X JDK Installation
- Linux JDK Installation
- Downloading the Android Studio Package
- Installing Android Studio
- Installation on Windows
- Installation on Mac OS X
- Installation on Linux
- Installing the Latest Android SDK Packages
- Making the Android SDK Tools Command-line Accessible
- Windows 7
- Windows 8.1
- Linux
- Mac OS X
- Updating the Android Studio and the SDK
- Creating an Example Android App in Android Studio
- A Tour of the Android Studio User Interface
- Creating an Android Virtual Device (AVD) in Android Studio
- Testing Android Studio Apps on a Physical Android Device
- The Basics of the Android Studio Code Editor
- An Overview of the Android Architecture
- The Anatomy of an Android Studio Android Application
- Understanding Android Application and Activity Lifecycles
- Handling Android Activity State Changes in Android Studio
- Android Activity State Changes - An Android Studio Example
- Saving and Restoring Activity State in Android Studio
- Understanding Android Views, View Groups and Layouts in Android Studio
- A Guide to the Android Studio Designer Tool
- Designing a User Interface using the Android Studio Designer Tool
- Creating an Android User Interface in Java Code using Android Studio
- Using the Android GridLayout Manager in Android Studio Designer
- Working with the Android GridLayout using XML Layout Resources
- An Overview and Android Studio Example of Android Event Handling
- Android Touch and Multi-touch Event Handling in Android Studio
- Detecting Common Gestures using Android Studio and the Gesture Detector Class
- Implementing Android Custom Gesture Recognition with Android Studio
- The Android Gesture Builder Application
- The GestureOverlayView Class
- Detecting Gestures
- Identifying Specific Gestures
- Adding SD Card Support to an AVD
- Building and Running the Gesture Builder Application
- Creating a Gestures File
- Extracting the Gestures File from the SD Card
- Creating the Example Project
- Adding the Gestures File to the Project
- Designing the User Interface
- Loading the Gestures File
- Registering the Event Listener
- Implementing the onGesturePerformed Method
- Testing the Application
- Configuring the GestureOverlayView
- Intercepting Gestures
- Detecting Pinch Gestures in Android
- A Pinch Gesture Example Project
- An Introduction to Using Fragments in Android Studio
- Using Fragments in Android Studio - An Example
- About the Example Fragment Application
- Creating the Example Project
- Creating the First Fragment Layout
- Creating the First Fragment Class
- Creating the Second Fragment Layout
- Adding the Fragments to the Activity
- Making the Toolbar Fragment Talk to the Activity
- Making the Activity Talk to the Text Fragment]
- Testing the Application
- An Android Studio Master/Detail Flow Tutorial
- The Android Master/Detail Flow
- Creating a Master/Detail Flow Activity
- The Anatomy of the Master/Detail Flow Template
- Modifying the Master/Detail Flow Template
- Changing the Content Model
- Changing the Detail Pane
- Modifying the WebsiteDetailFragment Class
- Adding Manifest Permissions
- Running the Application
- Creating and Managing Overflow Menus in Android Studio
- Animating User Interfaces in Android Studio using the Transitions Framework
- An Android Studio Transition Tutorial using beginDelayedTransition
- Implementing Android Scene Transitions – An Android Studio Tutorial
- An Overview of the Scene Transition Project
- Creating the Android Studio SceneTransitions Project
- Identifying and Preparing the Root Container
- Designing the First Scene
- Designing the Second Scene
- Entering the First Scene
- Loading Scene 2
- Implementing the Transitions
- Adding the Transition File
- Loading and Using the Transition Set
- Configuring Additional Transitions
- An Overview of Intents in Android Studio
- Android Explicit Intents – An Android Studio Example
- Creating the Explicit Intent Example Application
- Designing the User Interface Layout for ActivityA
- Creating the Second Activity Class
- Designing the User Interface Layout for ActivityB
- Reviewing the Application Manifest File
- Creating the Intent
- Extracting Intent Data
- Launching ActivityB as a Sub-Activity
- Returning Data from a Sub-Activity
- Testing the Application
- Android Implicit Intents – An Android Studio Example
- Broadcast Intents and Broadcast Receivers in Android Studio
- An Overview of Broadcast Intents
- An Overview of Broadcast Receivers
- Obtaining Results from a Broadcast
- Sticky Broadcast Intents
- The Broadcast Intent Example
- Creating the Example Application
- Creating and Sending the Broadcast Intent
- Creating the Broadcast Receiver
- Configuring a Broadcast Receiver in the Manifest File
- Testing the Broadcast Example
- Listening for System Broadcasts
- Android Threads and Thread Handlers - An Android Studio Tutorial
- Understanding Android Started and Bound Services
- Implementing an Android Started Service in Android Studio
- Implementing Local Bound Services in Android Studio
- Android Remote Bound Services – An Android Studio Tutorial
- An Overview of Android SQLite Databases in Android Studio
- An Android Studio TableLayout and TableRow Tutorial
- An Android Studio SQLite Database Tutorial
- Understanding Android Content Providers in Android Studio
- An Android Studio Content Provider Example
- Copying the Database Project
- Adding the Content Provider Package
- Creating the Content Provider Class
- Constructing the Authority and Content URI
- Implementing URI Matching in the Content Provider
- Implementing the Content Provider onCreate() Method
- Implementing the Content Provider insert() Method
- Implementing the Content Provider query() Method
- Implementing the Content Provider update() Method
- Implementing the Content Provider delete() Method
- Declaring the Content Provider in the Manifest File
- Modifying the Database Handler
- Accessing Cloud Storage using the Storage Access Framework in Android Studio
- An Android Studio Storage Access Framework Example
- An Android Studio VideoView and MediaController Tutorial
- Introducing the Android VideoView Class
- Introducing the Android MediaController Class
- Testing Video Playback
- Creating the Video Playback Example
- Designing the VideoPlayer Layout
- Configuring the VideoView
- Adding Internet Permission
- Adding the MediaController to the Video View
- Setting up the onPreparedListener
- Video Recording and Image Capture using Camera Intents - An Android Studio Example
- An Android Studio Recording and Playback Example using MediaPlayer and MediaRecorder
- Playing Audio
- Recording Audio and Video using the MediaRecorder Class
- About the Example Project
- Creating the AudioApp Project
- Designing the User Interface
- Checking for Microphone Availability
- Performing the Activity Initialization
- Implementing the recordAudio() Method
- Implementing the stopAudio() Method
- Implementing the playAudio() method
- Configuring Permissions in the Manifest File
- Testing the Application
- Working with the Google Maps Android API in Android Studio
- The Elements of the Google Maps Android API
- Getting Ready to use the Google Maps Android API
- Installing the Google APIs
- Downloading the Google Play Services SDK
- Adding the Google Play Services Library to the Gradle Build Configuration
- Obtaining Your Developer Signature
- Registering the Project in the Google APIs Console
- Adding Map Support to the AndroidManifest.xml File
- Checking for Google Play Services Support
- Understanding Geocoding and Reverse Geocoding
- Adding a Map to an Application
- Displaying the User’s Current Location
- Changing the Map Type
- Displaying Map Controls to the User
- Handling Map Gesture Interaction
- Map Zooming Gestures
- Map Scrolling/Panning Gestures
- Map Tilt Gestures
- Map Rotation Gestures
- Creating Map Markers
- Controlling the Map Camera
- Printing with the Android Printing Framework in Android Studio
- An Android Studio HTML and Web Content Printing Example
- An Android Studio Custom Document Printing Example
- An Overview of Android Custom Document Printing
- Custom Print Adapters
- Preparing the Custom Document Printing Project
- Creating the Custom Print Adapter
- Implementing the onLayout() Callback Method
- Implementing the onWrite() Callback Method
- Checking a Page is in Range
- Drawing the Content on the Page Canvas
- Starting the Print Job
- Testing the Application
- Generating a Signed Release APK File in Android Studio
- An Android Studio Google Play In-app Billing Tutorial
- Installing the Google Play Billing Library
- Creating the Example In-app Billing Project
- Adding Billing Permission to the Manifest File
- Adding the IInAppBillingService.aidl File to the Project
- Adding the Utility Classes to the Project
- Designing the User Interface
- Implementing the “Click Me” Button
- Google Play Developer Console and Google Wallet Accounts
- Obtaining the Public License Key for the Application
- Setting Up Google Play Billing in the Application
- Initiating a Google Play In-app Billing Purchase
- Implementing the onActivityResult Method
- Implementing the Purchase Finished Listener
- Consuming the Purchased Item
- Releasing the IabHelper Instance
- Modifying the Security.java File
- Testing the In-app Billing Application
- Building a Release APK
- Creating a New In-app Product
- Publishing the Application to the Alpha Distribution Channel
- Adding In-app Billing Test Accounts
- Configuring Group Testing
- Resolving Problems with In-App Purchasing[
- An Overview of Gradle in Android Studio