Chapter 2 Setting Up for Development - KSU Web...

Post on 20-May-2018

226 views 7 download

Transcript of Chapter 2 Setting Up for Development - KSU Web...

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