Beginning Android Development

Fast Track introduction to Android application development.

Overview

This course enables experienced Java developers to begin writing software for Android 4 devices. The two possible approaches to mobile development (native components vs web applications) are explored in detail, as are the key differences between handsets and tablets. By the end of the course delegates will be able to design, code, deploy and test components for Android handsets and tablets, and additionally create cross-platform HTML5 web applications that are fully compatible with Android.

Outline

Android Quickstart

  • Installing and configuring the Android SDK
  • Setting up the Eclipse IDE for Android projects
  • The role of each item within an Eclipse Android project
  • Specifying supported Android versions and screen sizes
  • Creating a simple GUI based Android application
  • Running the sample application in an emulator
  • Running the sample application on a real device

Understanding the Android Platform

  • Minimum requirements for an Android device
  • The Linux based OS and native libraries
  • JSE libraries which are supported on Android
  • Introducing the Dalvik Java Virtual Machine
  • What makes Dalvik different from a JVM?
  • The Dalvik Executable file format in detail
  • Services provided by the application framework
  • Can an Android device be used as a server?

Building GUI Driven Applications Part 1

  • The class hierarchy of views, widgets and layouts
  • Specifying a view hierarchy within an XML document
  • How Android processes an XML based GUI layout
  • Specifying a view hierarchy within code
  • The essentials of working with each layout class
  • Best practices when working with view groups
  • Using and combining the standard Android widgets
  • Special considerations when accepting textual input
  • Different options for attaching event handlers to views

Building GUI Driven Applications Part 2

  • Reacting to the devices screen being rotated
  • Storing message text in resource files
  • Adding user preferences to the application
  • Using adapters to bind views to data sources
  • Customizing widgets using styles and themes
  • Creating new widgets by extending existing ones
  • The Infrastructure of an Android Application
  • Understanding the lifecycle of an Activity
  • How to preserve mutable state via callbacks and bundles
  • Starting one activity from another via intents
  • Processing intents using filtering and receivers
  • Creating and using files in a range of locations
  • Performing tasks concurrently via AsyncTask

Expanding the Scope of your Application

  • Learning the Apache HttpClient by talking to a POX Web Service
  • Using the HttpClient to communicate with RESTful Web Services
  • Options for interacting with SOAP Web Services
  • Interacting with the social, calendar and voicemail APIs
  • Starting and communicating with your own services
  • Persisting data via the built-in SQLite database
  • Sharing data across apps using content providers
  • Using native code to access the underlying OS

Securing Your Android Application

  • The Linux and Android security models
  • How security is applied at the process level
  • How security is applied at the filesystem level
  • How user preferences and DB content is secured
  • Working with standard application permissions
  • Creating new types of application permissions
  • Restricting access to components and intents
  • Using cryptography API’s directly in Android
  • Building Applications for Android Tablets
  • Differing expectations that users have for tablet apps
  • Taking advantage of additional resources and screen size
  • Working with Fragments in Android versions 3 and 4

Web Application Development for Android Devices

  • Review of existing web app development technologies
  • A detailed introduction to the new features in HTML5
  • Using jQuery Mobile to simplify creating your UI
  • Designing pages for use with restricted screen sizes
  • Validating forms when the screen size is limited
  • Incorporating geolocation infomation into web apps
  • Special considerations when targeting Android devices

Requirements

Delegates should have a minimum of 3 years development experience in either Java or C#. At least one of these years should have been in web application development so that they have a basic working knowledge of HTTP, HTML, CSS, JavaScript and XML. Basic familiarlity with Android based products is very helpful but not essential.

Course Details

Duration
3-4 Days
Level
Intermediate
Location
UK / Ireland / Worldwide
Price
On Request
Book This Course

Related Courses

Sign up and stay in the loop

Be the first to know about upcoming workshops, courses, talks and events

Learn more

Very informative with great interactive exercises and plenty of reference material.