Synapseindia android apps htp presentation

Page 1

Agenda 

Android Quick Facts

Prerequisites for Teaching/Learning Android App Development

Target Audiences for Android How to Program

Android How to Program Overview

Software Requirements & Setup

Android Development Tools Overview

Issues You May Encounter

Teaching Tips

Customer Service


Android Quick Facts 

Most widely used smartphone OS

Powers 52% of the US smartphone market

Phones, tablets, Google TV and more

Current version is Android 4.1 (Jelly Bean), but is only 1.8% of the market 

Version 2.2 is 12.9% of the installed base

Versions 2.3.3-2.3.7 are 55.5% of the installed base

Versions 4.0.3-4.0.4 are 23.7% of the installed base


Prerequisites 

You must know object-oriented Java programming

You must know XML 

Used in GUI design and app settings

XML online tutorials 

http://docs.oracle.com/javaee/1.4/tutorial/doc/IntroXML2.html

http://www.ibm.com/developerworks/xml/newto/

http://www.w3schools.com/xml/xml_whatis.asp

http://www.deitel.com/articles/xml_tutorials/20060401/XMLBasics/

http://www.deitel.com/articles/xml_tutorials/20060401/XMLStructuringData


Prerequisites 

Preparation time is essential 

Build the apps yourself before teaching them

developer.android.com is important 

http://developer.android.com/develop/index.html

Study the APIs/developer guides/sample code

Check out the new Android design guidelines 

http://developer.android.com/design/index.html


Target Audiences for Android How to Program 

Upper-level elective college courses and industry professional courses for people familiar with object-oriented programming 

May or may not know Java

“Honors” or “accelerated” CS1 courses 

Schools that offer many sections of CS1 in Java could offer one or two sections to ambitious students with prior programming experience and who want to work hard to master both Java and Android

Aggressively paced course


Android How to Program Overview 

Includes everything you need to teach Android app development

Created this book by combining 

Android content from Android for Programmers

Java content from Java How to Program, 9/e

Adding short answer exercises for the Android content

Adding suggested projects for the Android content


Android How to Program Overview 

App-Driven Approach 

Concepts in the context of complete working apps

Each app chapter begins with

introduction to the app

test-drive

technologies overview

Detailed code walkthrough of the app’s code 

Discusses the programming concepts

Demonstrates the functionality of the Android APIs


Android How to Program Overview 

Thinking like a developer from the start 

Build lots of real stuff and face the kinds of challenges professional developers must deal with

Online documentation and forums where you can find additional information

Android Smartphone Apps 

Android Tablet Apps 

We cover many of the features included in the Android Software Development Kit (SDK), including Bluetooth, Google Maps, the Camera APIs, graphics APIs and support for multiple screen sizes and resolutions

We cover many Android features for developing tablet apps, including property animation, action bar and fragments

Android Maps APIs 

The Route Tracker App uses the Android Maps APIs which allow you to incorporate Google™ Maps in your app


Android How to Program Overview 

Multimedia 

Android Best Practices 

The apps use a broad range of Android multimedia capabilities, including graphics, images, frame-by-frame animation, property animation, audio, video, speech synthesis and speech recognition.

We adhere to accepted Android best practices, pointing them out in the detailed code walkthroughs

Web Services 

Web services allow you to use the web as an extraordinary collection of services—many of which are free

Chapter 11’s Route Tracker app uses the built-in Android Maps APIs to interact with the Google Maps web services

Chapter 14’s Weather Viewer app uses WeatherBug’s web services. The exercises encourage you to explore the vast array of available web services.


Android How to Program Java Content 

Objects and classes early helps novice readers master these concepts more thoroughly before attempting the object-oriented Android material.

Introduces Java’s generic collections that are used frequently in our Android treatment and for which Android has some similar classes.

Introduces multithreading fundamentals, showing the features that we use in several of our Android apps—important for maintaining app responsiveness

Introduces Java GUI development—Android provides its own GUI components, so this appendix presents only a few Java GUI components, focussing on event-handling techniques that are used in all Android GUIs. The appendix introduces nested classes and anonymous inner classes, which are frequently used in Android programming.


Instructor Resources 

PowerPoint slides containing only the code and figures in the text

Test Item File of short-answer questions 

True/False and Fill-in-the-Blank

Solutions Manual 

For both the Java and Android content, solutions to the end-of-chapter shortanswer exercises

For the Java content, solutions are provided for most of the programming exercises

Solutions are not provided for the suggested Android app-development project exercises


Software Requirements & Setup 

Java SE 6 (not 7!) Development Kit 

http://www.oracle.com/technetwork/java/javase/downloads/index.html

Set the JAVA_HOME environment variable to ensure that the correct JDK is used

Eclipse IDE for Java Developers 

http://eclipse.org/downloads/

Eclipse 3.6.2 (Helios) or greater

Android SDK and ADT Plug-in 

http://developer.android.com/sdk/index.html


Software Requirements & Setup 

Install Java SE 6 

Ensure that your PATH and JAVA_HOME are configured properly

Probably want to remove the CLASSPATH if your system has one

Extract Eclipse

Run/Configure Eclipse 

Specify where your workspace should be saved

Tabs/Indentation/Line Numbers 

Window > Preferences > General > Editors > Text Editors

Mac: Preferences option is under the Eclipse menu


Software Requirements & Setup 

Install the Android SDK 

http://developer.android.com/sdk/installing/index.html

Contains only the tools, not the platforms/APIs

Installer will tell you which version of Java it discovered; if it’s not the Java SE 6 SDK, you MUST correct that before continuing 

On Windows, install to c:\android-sdk—sometimes paths with spaces cause issues


Software Requirements & Setup Install the Platforms 

http://developer.android.com/sdk/installing/adding-packages.html

Run the SDK Manager

Our book uses Android 2.3.3 through 3.2 

Install the ADT Plugin 

Consider installing 4.x too

http://developer.android.com/sdk/installing/installing-adt.html

Set up AVDs for Testing 

Should have at least one smartphone and one tablet AVD

For real development, you’d have many so you can emulate a wide range of real devices


Android Development Tools Overview 

Eclipse IDE

ADT Plug-In

Android Emulator and AVDs

Using real Android devices 

On Windows, you might need to download and install USB drivers for the specific device

Must enable debugging on the device


Issues You May Encounter 

Wrong version of Java 

Eclipse can’t find the Android SDK 

Set in Window > Preferences > Java > Compiler

Updated tools 

The Android development tools update frequently

Steps in any book are likely to be out-of-date quickly

XML files open in the wrong editor 

Set location in Window > Preferences > Android

Wrong Eclipse Java compiler compliance level 

May need to set up JAVA_HOME environment variable

Right click the file and select the appropriate editor

AVD won’t launch


Teaching Tips 

Ensure that your students understand Java OO programming before getting into Android

Open your AVDs before you begin your lecture—they take a very long time to load!

Test drive the app in an AVD or on an actual Android device so the students understand the app’s purpose—remember, some features are available only on devices

Overview the technologies that will be used in the app to give the students some context

Devices are always the fastest way to test apps


Teaching Tips 

Developing an app can take weeks or months

Have students work in teams 

Stanford Facebook app development course 

http://www.stanford.edu/group/captology/cgi-bin/facebook/

Students worked in teams developing apps, some of which landed in Facebook’s top 10, earning some of the student developers millions of dollars

Course gained wide recognition for encouraging student creativity and teamwork


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.