Course Outline
Android is a mobile operating system platform developed by Google, and is based on the Linux kernel. The Open Handset Alliance is also heavily involved in the project, and handset manufacturers such as HTC, Motorola, and Nokia all have handsets designed to run Android.
Although initially aimed at the smartphone market, Android almost inevitably looks to be an ideal platform for other small form factor devices such as netbooks and multimedia devices.
Our Android Development course is available as a public or closed course at our London training centre, or can be tailored to your team's requirements and delivered onsite as a bespoke, customised training course. The course contains several Android tutorials and hands-on labs. The course will be run in a less formal, workshop style, focusing on building some commercial apps which gradually introduce and incorporate the relevant technologies, as they are taught.
This course has been developed for real-world, commercial scenarios by our expert instructors. See below for detailed syllabus. If you have a technical question, please email sales@jbinternational.co.uk
What you will learn
- Create and deploy Android apps
- Develop well optimised, good looking and functional GUI applications
- Utilise existing APIs and libraries
- Tap into GPS to create location-sensitive apps
- Android application design approach
- Coding Best Practices
Android Training Course Outline
-
Day 1 - Introduction to Android
The tools and environment required to create Android Apps. A practical session to create a very simple Android App.
-
Android and Linux
-
Android Architecture
-
Activities (Overview)
-
Services (Overview)
-
Content Providers (Overview)
-
Broadcast Receivers (Overview)
-
Useful resources
Activities and Fragments
What are they?
The Development Environment
Introducing eclipse and UI tools
Tools for debugging/UI development/testing
Practical Session - Create Hello World in eclipse
Common Android Design Patterns
Getting Input
Expand hello world - add interaction e.g. Buttons and text boxes
Useful debugging tips.
Code Refactoring
Rapid Development Techniques
Android Interface Development Basics
Declaring Layout
Controls
Menus (Overview)
Dialogs (Overview)
Event Handling (UI)
Feeding back to the User
Day 2 - Design
Looking at design and how that translates into real world Graphical User Interface on Android. Further practical sessions to expand the user interface and allow users to navigate between screens.
Common Android Design Patterns
Navigation
Overall design Patterns (Model View Controller)
Design Approach
Using Iterative design - design,model,review
Translation Considerations - Designing for German
Android GUI Development - continued
Common Layout Objects - More controls
How Android Draws Views
Applying Styles and Themes
How to add another screen - new activity
How to pass data to/from it.
Life cycle - i.e what gets called when.
Android Application concepts - how Intents allow app co-operation.
How to handle threads. (UI perspective)
Images and memory gotchas.
List view
Day 3 - Dealing With Data
Creating and utilising data sources to populate Android apps. Examining custom views and how to handle asynchronous tasks to display the data.
Common Design Patterns
Allowing Users to sort Data
Users Searching Data
Data Drilling Down
Static and Dynamic lists
Screen Interactions for moving,scrolling and zooming in on data
More Lists - Custom views.
Content providers
Content Resolvers
Cursors
Data
Persistent data
Data adapters
Using Web Services
XML/JSON parsing
Http/Https
Asynchronous tasks and threads in Android
Day 4 - Services
Using services, communication and hardware capabilities within Android. Design considerations to keep users informed and allow easy access to app components. The practical session will develop an app populated from an RSS feed.
Consuming Web services
RSS feed app created as an example
More Data
SQLite - How to use, when to use.
Custom controls - how to make them usable via xml.
Common Design Patterns
Notifications
Status bar Notifications
App Widgets - how to make one, best practice in updates etc
Services
Using IntentService class
Starting and stopping services.
Bound services
Hardware and Communication
Broadcast Receivers - examples.
MultiMedia - camera/video/audio
Contacts - how to use it
Day 5 - Completing an Android App, Advanced Techniques and Android Tablets
Examining the remaining Android smartphone features, looking at the differences when developing for a tablet rather than a smartphone and where to go next.
Android GPS / Location
Location-based Service APIs
Android maps
Overlays and Zoom to
App Deployment
Deploying an app to the market.
Understanding dMaifest.xml
Security and Permissions
Security best practices
Android Tablets
Differences in Android phones and Android Tablets
Loaders
Action Bar
Drag and Drop
Future Android Versions and Fragmentation
Ice cream sandwich. What it means.
Android compatibility libraries.
Advanced Development
3D Rendering - Renderscript (Overview)
Graphics - 2D and 3D graphics with OpenGL (Overview)
NDK - What is it?
Third Party Uses
3rd party library uses
Open source.
Augmented reality libraries.