Introduction to Android Application Development, Android Essentials,
Fifth Edition
Chapter 2
Setting Up for Development
Chapter 2 Overview
Learn how to set up our Android development
environment
Look at many of the tools provided with the
Android SDK
Review the Android SDK License Agreement
Learn about many important SDK packages
Look at the sample applications available with the
SDK
Configuring Your Development
Environment
Android SDK compatible with Windows,
Macintosh, or Linux systems
Installation requirements for using this book:
– Java Development Kit (JDK), Version 7
• http://www.oracle.com/technetwork/java/javase/d
ownloads/index.html
– Android Studio (includes the Android SDK)
• http://d.android.com/sdk/index.html
Included with Android Studio
Android Studio
– SDK tools
– Platform tools
– The latest Android platform
– The latest Android system image for the
emulator
Alternative Compatible Java IDE
IntelliJ IDEA
– Community Edition
– Ultimate Edition
Alternative Configurations
(Cont’d)
When using other IDEs:
– Command-line tools
• http://d.android.com/tools/projects/projects-
cmdline.html
– Debugging
• http://d.android.com/tools/debugging/debugging-
projects-cmdline.html
– Testing
• http://d.android.com/tools/testing/testing_otheride
.html
Basic Installation Process
1. Download and install the appropriate JDK.
2. Download and install or unzip the appropriate
Android Studio package for your Operating
System.
3. Launch Android Studio and use the Android SDK
Manager to download and install specific Android
platform versions and other components.
4. Install appropriate USB drivers for device
debugging, if necessary.
5. Configure your device(s) for debugging.
6. Start developing.
Basic Installation Process
Configuring Your Operating
System for Device Debugging
To install and debug on real devices:
– Configure OS to access device via USB
– Mac OS
• May work without any configuration
– Windows
• Requires appropriate USB driver
• http://d.android.com/sdk/win-usb.html
– Linux
• Requires additional steps
• http://d.android.com/tools/device.html
Configuring Your OS for Device
Debugging (Cont’d)
Configuring Android Hardware for
Debugging
Devices with Android 4.2+ have debugging
disabled by default.
– This requires enabling Developer Options.
1. From the Home screen, choose All Apps →
Settings → About Phone (or About
Tablet).
2. Scroll down to Build Number.
3. Press Build Number seven times to unlock
Developer Options.
Configuring Android Hardware for
Debugging (Cont’d)
To install our own applications, configure our device to install from Unknown sources.
1. From Home → All Apps → Settings →
Security.
2. Enable (check) Unknown sources.
– Skipping this step prevents us from installing
our apps to our own device.
Configuring Android Hardware for
Debugging (Cont’d)
Configuring Android Hardware for
Debugging (Cont’d)
Enable some Developer Options settings.
– From Home → All Apps → Settings →
Developer options
• Then enable USB debugging.
Configuring Android Hardware for
Debugging (Cont’d)
Upgrading Android Studio and the
Android SDK
To stay up-to-date with the latest advancements:
– Upgrade from time to time
Updates include:
– New, updated, or removed features
– Package name changes
– Updated tools
– Essential documents
• Overview of Changes
• API Diff Report
• Release Notes
– See http://d.android.com/sdk/installing/adding-packages.html
Problems with Android Studio and
the Android SDK
There may be bugs!
– Find open issues and their status at the Android
project’s Issue Tracker website.
– Submit new issues for review.
– Issue tracker website:
• https://code.google.com/p/android/issues/list
– To report bugs or defects for Android Dev team:
• http://source.android.com/source/report-bugs.html
– Learn more about the bug-fixing process:
• http://source.android.com/source/life-of-a-bug.html
Exploring the Android SDK
Android SDK major components:
– Android SDK Platform by version
– Platform tools
– SDK Build Tools
– System images
– Google APIs
– Sources for Android SDK
– Extras
– Sample applications
The Android SDK License
Agreement
Before downloading the SDK, you must agree to
the Android SDK License Agreement.
– This agreement is between you and Google.
– Make sure that you understand this license even
if someone else has accepted the agreement on
your behalf!
The Android SDK License
Agreement (Cont’d)
Rights granted:
– Google grants you a limited, worldwide, royalty-
free, nonassignable, and nonexclusive license
to use the SDK solely to develop applications
for the Android platform.
– Google still holds all copyrights and intellectual
property rights to the SDK.
– Google does not grant permission to use any of
its brands, logos, or trade names.
– You will not remove any copyright notices
therein.
The Android SDK License
Agreement (Cont’d)
SDK usage:
– You may only develop Android applications with
the SDK.
• You may not make derivative works from the
SDK or distribute the SDK on any device.
• You may not distribute part of the SDK with
other software.
The Android SDK License
Agreement (Cont’d)
SDK changes and backward compatibility:
– Google may change the Android SDK at any
time without notice and without regard to
backward compatibility.
• Early APIs had frequent changes, but recent
releases are reasonably stable.
• Each SDK update does affect at least a small
number of apps.
– Updating your application is your own
responsibility.
The Android SDK License
Agreement (Cont’d)
Android application developer rights:
– You retain all rights to any Android software you
develop with the SDK, including intellectual
property rights.
– You also retain all responsibility for your own
work.
The Android SDK License
Agreement (Cont’d)
Android application privacy requirements:
– You agree that your application will protect the
privacy and legal rights of your users.
– If your app accesses personal and private info,
you must provide adequate privacy notice and
keep the data stored securely. These include
usernames, passwords, and so on.
– Privacy laws and regulations vary by user
location.
• You are solely responsible for managing this
data appropriately.
The Android SDK License
Agreement (Cont’d)
Android application malware requirements:
– You are responsible for all applications you
develop.
– You agree not to write disruptive applications or
malware.
– You are solely responsible for all data
transmitted through your application.
The Android SDK License
Agreement (Cont’d)
Additional terms for specific Google APIs:
– Use of APIs such as Google Maps Android API is
subject to further Terms of Service.
• You must agree to these additional terms before
using those specific APIs.
• You must always include the copyright notice,
too.
– Other API terms include Gmail, Blogger, Google
Calendar, and YouTube.
• Your application’s usage is limited to accessing
those to which your user has explicitly granted
permission.
The Android SDK License
Agreement (Cont’d)
Develop at your own risk!
– Any harm that comes from developing with the
Android SDK is your own fault and not Google’s.
Reading the Android SDK
Documentation
Read locally or online:
– Online at http://d.android.com/index.html
Reading the Android SDK
Documentation (Cont’d)
Exploring the Core Android
Application Framework
Which file comprises the Android framework?
– android.jar
Important Packages in the
Android SDK
Top-Level Package Name Description
android.* Android application fundamentals
dalvik.* Dalvik virtual machine support classes
java.* Core classes and familiar generic utilities
javax.* Encryption support
junit.* Unit-testing support
org.apache.http.* HTTP protocol support
org.json JSON support
org.w3c.dom W3C DOM XML and HTML support
org.xml.* SAX support for XML
org.xmlpull.* High-performance XML pull parsing
Popular Third-Party Android APIs
Available outside the core Android SDK
Installed separately
Some are from Google, others from device
manufacturers and other providers
Popular Third-Party Android APIs
(Cont’d)
Android Support Library
Google Mobile Ads SDK (com.google.android.gms.ads.*)
Google Analytics SDK for Android (com.google.android.gms.analytics.*)
Android Cloud Messaging for Android (GCM) (com.google.android.gms.gcm)
Google App Indexing (com.google.android.gms.appindexing)
Google App Invites (com.google.android.gms.appinvite)
Google Play Game Services (com.google.android.gms.games)
Google Fit (com.google.android.gms.fitness)
Exploring the Core Android Tools
Android Studio
– Where you spend most of your time developing
your apps
– Provides wizards for creating, debugging, and
deploying Android apps
– Several buttons available on the toolbar for
performing helpful actions
Android Studio
Launch the Android Virtual Device Manager
Launch the Android SDK Manager
Launch the Android Device Monitor
Android Studio (Cont’d)
Android SDK and AVD Managers
The first Android toolbar icon launches the
Android Virtual Device Manager.
The second Android toolbar icon launches the
Android SDK Manager.
Android SDK and AVD Managers
(Cont’d)
Android SDK and AVD Managers
(Cont’d)
Android SDK and AVD Managers
(Cont’d)
Android Emulator
Helpful tool used for designing and developing
Android applications
Runs on your computer
Behaves like a real device
Load Android applications into the emulator to test
and debug them
Generic device, not tied to any one specific
configuration
Valuable, but should not be used as a replacement
for testing on actual target devices
Android Emulator (Cont’d)
Android Emulator (Cont’d)
Exploring the Android Sample
Applications
Demo applications are not provided as part of the Android
SDK by default.
– Android Studio provides a dialog for importing the sample
applications—from GitHub—as a project.
Android Studio sample applications code categories to
investigate:
– Getting started
– Background
– Input
– Media
– Connectivity
– Notification
– Wearable
Chapter 2 Summary
We have learned how to install and configure
the tools for Android development.
– JDK, SDK, ADT Bundle
We have explored many of the tools provided
with the Android SDK.
We have reviewed the Android SDK License
Agreement.
We have learned about important SDK
packages.
We have perused the sample applications
provided with the SDK.
References and More Information
Google’s Android Developers Guide:
– http://d.android.com/guide/components/index.html
Android SDK download site:
– http://d.android.com/sdk/index.html
Android SDK License Agreement:
– http://d.android.com/sdk/terms.html
The Java Platform, Standard Edition:
– http://www.oracle.com/technetwork/java/javase/overview/index.html
JetBrains:
– https://www.jetbrains.com/
Android Developer Tools:
– https://developer.android.com/tools/help/adt.html
The Eclipse Project:
– http://www.eclipse.org
Top Related