Course Outline
Introduction
- What is Android?
- Android SDK
- Android JVM
- The Software Stack
- The Development Tools (ADT)
- User Interface
- Installing Development Tools
- Content Providers
- Services
- Intents
- Activities
- Views
- Configuration File
- Simple Hello World
- Application Artifacts
- Asset Packaging Tool
- Entry Point Activity
- Intent
- Calling Other Activities
- The Activities Stack
- Paused & Stopped Activities
- SQLite Database
- System Management
- Separated Processes
- Component & Integration Architecture
Application Resources
- What are Resources?
- String Resources
- Layout Resources
- Code Samples
- Resource Reference Syntax
- Compiled Resources
- Compiled Animation Files
- Compiled Bitmaps
- Compiled UI View Definitions
- Compiled Arrays
- Compiled Colors
- Compiled Strings
- Compiled Styles
- Compiled Arbitrary Raw XML Files
- Uncompiled Resources
- The .apk File
- Assets
- Assets & Resources Directory Structure
The Intent Concept
- Introduction
- Intent Filter
- Use Intent to Start Activity
- Android Available Intentions
- Code Samples
- Intent Categories
- Late Run-Time Binding
- Use Intent to Start Service
- Broadcast Receivers
- The Intent Object Structure
- The Intent Component Name
- The Intent Action
- The Intent Data
- The Intent Category
- The Intent Extras
- The Intent Flags
- Intents Resolution
- Intent Filter Structure
- The Action Test
- The Category Test
- The Data Test
- Multiple Matches
- Android Predefined Intents
- Samples
User Interface Controls
- Introduction
- GUI Sample in Source Code
- GUI Sample in XML
- GUI Sample in XML & Source Code
- TextView
- TextView Sample
- TextView Style Sample
- EditText
- EditText Sample
- AutoCompleteTextView
- AutoCompleteTextView Sample
- MultiAutoCompleteTextView
- MultiAutoCompleteTextView Sample
- Button
- Button Sample
- ImageButton
- ImageButton Sample
- ToggleButton
- ToggleButton Sample
- CheckBox Control
- CheckBox Control Sample
- RadioButton Control
- RadioButton Control Sample
- ListView
- ListView Sample
- GridView Control
- GridView Control Sample
- Date & Time Controls
- Gallery Controller
- MapView
- WebView
Layout Managers
- Introduction
- LinearLayout
- Layout Weight
- Gravity
- Samples
- TableLayout
- Padding Properties
- RelativeLayout
- AbsoluteLayout
- FrameLayout
- TabsHost
Menus and Dialogs
- Introduction
- Menu Interface
- MenuItem Interface
- SubMenu Interface
- Menu Items Group
- Menu Items Attributes
- Container Menu Items
- System Menu Items
- Secondary Menu Items
- Alternative Menu Items
- Creating Menu,Sample
- Menu Items Groups
- Menu Items Events Handling
- Overriding Callback Function
- Define Listener
- Using Intents
- Expanded Menu
- Icon Menus
- Sub Menus
- System Menus
- Context Menus
- Samples
- Handling Menu Events
- Creating Menu using XML
- Alert Dialog
- Prompt Dialog
- Samples
Location Based Services
- Introduction
- The Map Key
- The MD-5 Signature
- Google Maps Key
- Required Permissions
- Code Sample
- The Map Controller
- Code Samples
- Maps Overlays
- Code Samples
- The Geocoder Class
- The Address Class
- The LocationManager Class
- The LocationListener Interface
- The Debug Monitor Service (DMS)
Android Security Model
- Introduction
- Deployment
- The keytool Utility
- The jarsigner Utility
- Deployment using Eclipse
- Separated Processes
- Declarative Permission Model
Application Life Cycle
- Introduction
- Activity Life Cycle Methods
- The onStart() and onResume() Methods
- The onPause() and onStope() Methods
- Return Back to Previous Activity
- The onStop() and onDestroy() Methods
- The onCreate() Method
- The onPause() Method
SQLite Database
- Introduction
- SQLite Implementation
- The SQLiteOpenHelper Class
- The onCreate() Method
- The onUpgrade() Method
- The onOpen() Method
- The getWriteableDatabase() Method
- The getReadableDatabase() Method
- The SQLiteDatabase Class,The execSQL() Method
- The insert() Method,The delete() Method
- The rawQuery() Method()
- Code Samples
- The query() Method
- Code Samples
Providers
- Introduction
- Android Built-In Content Providers
- SQLite Database
- Content Providers Architecture
- Content Providers Registration
- Content Providers REST Access
- Content Providers URL Structure
- Content Providers Mime Types
- Using Content Provider
- Retrieving Records
- Adding Records
- The Cursor Object
- The ContentValues() Object
- Content Provider Demo
File Management
- Introduction
- Creating Files
- Accessing Simple Files
- Accessing Raw Resources
- XML Files Resources
- SD Card External Storage
Background Applications
- Introduction
- Services
- Background Threads
- Making Toasts
- Notifications
- Other System Services
- Background Activity Sample
Activity Data
- Introduction
- The Intent Class
- Start Activity Methods
- Passing Data between Activities
- Coherent User Experience
- Code Sample
Web View
- Introduction
- The WebView Class
- The android.webkit Package
- The INTERNET Permission
- The loadUrl() Method
- JavaScript Support
- The loadData() Method
- The WebView Methods
- The WebViewClient Class
- The WebChromeClient Class
Java Language
- Introduction
- The Limits
- Third Party Java Libraries
Debugging
- Introduction
- Eclipse Java Editor
- Eclipse Java Debugger
- Logcat
- Android Debug Bridge
- Dalvik Debug Monitor Service
- Traceview
Accelerometer
- Introduction
- The SensorManager Class
- The SensorListenr Interface
Localization
- Introduction
- Default Resources
- Current Locale
- Testing
- Custom Locale
- Code Samples
Speech Input
- Introduction
- The RecognizerIntent Class
- Start Speech Recognition
- Google Server Side
- The Language Model
- Free Form Language Model
- Web Search Language Model
Development Tools
- Introduction
- The aapt Tool
- The adb Tool
- The android Tool
- The ddms Tool
- The dx Tool
- The draw9patch Tool
- The emulator Tool
Android Applications Testing Practices - 4 Hours
Automated Testing
- JUnit Testing
- Using Assertions
- Instrumentation Framework
On Device Testing
- User Interface & Consistency
- Functionality of Interaction with the OS
- Networking Testing
- Stress Test Conditions
- International Support Testing
- General Requirements
On Device Remote Testing
- DeviceAnywhere Platform
- Scenarios To Be Care Of
Testimonials
Practice-based activities.
Łukasz Kołodziejczak
tests, threads, services, support tools
Grzegorz Wodyński
exercises presentation of examples
Łukasz Jaworski
A large number of examples and a wide range of knowledge of the teacher
Piotr Pabiasz
Antonio gave is much background information, best practices and showed us useful tools to speed up our development process.
Philipp Hunger
I really enjoyed the fairly broad coverage of topics.
john harrigan
Learning about the overall ease of using Android Studios to build android apps.
Joshua Anderson
Very comprehensive of a general overview. Exactly what I was after.
Matt Shelton
All of it was excellent and well taught. Very interesting.
Daniel Welch
It was very interesting and I gained a lot of valuable knowledge.
Shaun Lawlor
The trainer's passion and extensive commercial experience thanks to which he is perfectly listened to.
- Weegree Sp. z o.o. Sp.k.
Exercises were fun and it was good to see how quickly an application can be developed in Android Studio.
- Sepura
Detail level and number of labs
- FedEx
I like the teaching style very friendly and informative on the subject.
- FedEx
breaking down the multiple services, actions, devices, etc into the component parts.
Delaine Stoutenburgh - FedEx
The detail given about each topic was really nice, he made sure we understood each topic before moving to the next.
Richie Wood - FedEx
Training materials, Exercise's & Trainer
- FedEx
Knowledge of trainer
- FedEx
The lecture book and lab
- FedEx
Lectures (David is very knowledgeable on Android)
Johnny Miller - FedEx
Instructor's great knowledge about the material.
- FedEx
Clear and repeated emphasis on important aspects of Android development
- FedEx
The set of lab material seems really good. It's a great resource to keep after the training.
- FedEx
Documentation-based translation
- Akademia Górniczo-Hutnicza im. Stanisława Staszica w Krakowie
I really appreciated the instructor's openness to questions and the thorough, justified answers provided. He was clearly keenly interested in the subject and as a result the course was much more enjoyable.