Android App Development Training

Home Training Android App Development Training
Learn how to build your own Android Apps using Google’s SDK as well as master tricks of the trade.
This 5-day class will give you a 360° developer’s view of Android.Topics covered include:
This class is given by :

Marl Murphy

Mark Murphy is the founder of CommonsWare and the author of The Busy Coder’s Guide to Android Development. He is active in supporting the Android developer community, from answering questions on StackOverflow to publishing sample code and reusable components as open source.

A three-time entrepreneur, his experience ranges from consulting on open source and collaborative development for the Fortune 500 to application development on just about anything smaller than a mainframe. He has been a software developer for nearly three decades, from the TRS-80 to the latest crop of mobile devices. // SEE FULL BIO

REFERENCES
Overview
Outline
Audience
Logistics
Overview
You will learn how to:
  • Design, implement and ship a broad range of Android App
  • Develop and debug applications using the JDK, ADB, the Android Emulator and the Eclipse environment
  • Use Android’s SDK for creating, building and shipping Android packages (.apk)
  • Master the use of core components such as Activities, Services, Content Providers and Broadcast Receivers
  • Generate the required Manifest files for your applications, including Intent filters and Permissions
  • Build user interfaces using Views, Menus and Notifications
  • Handle the multiple form-factors and geometries available on Android devices
  • Store and retrieve data both from the local filesystem and SQLite database
  • Communicate with REST-based services
Outline
  • Intro to Android and App Development
  • Intro to Gradle, the Manifest, Resources, and Assets
  • Android Internals and the Process Model
  • Activities, Widgets, and Containers
  • Adapters and AdapterView
  • WebView
  • Using JARs and Libraries
  • The Action Bar
  • Multiple Activities and the Activity Lifecycle
  • Fragments and ViewPager
  • Resource Sets and Configuration Changes
  • Threads
  • Permissions
  • Files and Preferences
  • Databases
  • Internet Access
  • Accessing and Consuming Content
  • Overview of ContentProviders
  • Intents, Filters, and Broadcasts
  • Service Concepts
  • Remote Services and the Binding Pattern
  • Testing Basics
  • More on Gradle
Audience
This class is intended for developers who want to:
  • Develop Apps for the Android Market
  • Deliver Mobile Versions of Web/Enterprise Applications
  • Port Applications to Android
Requirements, the short version:

Java, a healthy dose of it. Make sure you can easily work your way through a Java codebase and are relatively comfortable developing your own Java applications. Usually this means 2+ years of experience.

Requirements, the full story:
  • Google has anchored Android’s development environment around Java. You must therefore at the very least have a functional understanding of Java. As others have said, that doesn’t mean that you need to be an expert Java developer. Google has in fact gone to great lengths to make Android development easy to approach. Nevertheless, you should be comfortable enough with Java to follow explanations and code exercises without requiring assistance with the language’s basics.
  • Even if you do know Java, note that:
    • While Android is based on Java, Google has created an entirely new framework for developing Android applications. Hence, while your existing knowledge of Java class libraries (java.*) is a good asset, you will need to immerse yourself in Android’s framework (android.*) to fully benefit from Android’s capabilities. This is one of the goals of this class.
    • Android is a very deep software stack and the lower layers are mostly C and C++ based. If you intend to push the limits of what can be done with Android, by using the Native Development Kit, for example, you will need to look beyond Java to achieve your goals.

Q: What if I don’t know Java?
A: We strongly encourage you to familiarize yourself with the language before registering for this class. If you are a C# developer, for example, you should be able to pick up Java relatively easily; a lot of both languages’ concepts overlap. If you are familiar with another object-oriented language such as C++, for example, you shouldn’t be too far off either. No matter your background, you can pick up one of the slew of titles on learning Java. You should try to get yourself into a position where you can painlessly follow others’ Java projects and can easily code on your own. Have a look on your favorite online bookstore for Java titles. We’ve seen good reviews of O’Reilly’s Head First Java for example.

Logistics
PRICING: $2,395/student. Contact us for an on-site session quote. All prices in USD.

ATTENDANCE: 16 students max.
Although we do sometimes accept to train larger groups in on-site settings, we believe that a 16 student cap ensures an optimal instructor/attendee ratio in the context of a public session.

LOCATION: No public sessions are presently scheduled

EQUIPMENT: Students must bring their own laptops. Please have a look at Google’s list of requirements for setting up a proper Android development environment.
During the hands-on sessions, we use Google’s Android Emulator. You can, nevertheless, test and develop most applications on any Android device.

COURSEWARE: All our courseware is available under CC-BY-SA 3.0; just click on the above “Courseware” thumbnail to download it.

SCHEDULE: Classes run from 9 to 5, with breaks in the morning, at lunch and in the afternoon.

PAYMENT: Opersys accepts all major credit cards, wire transfers and corporate checks drawn on US banks in US funds.

POLICIES: Students must register and pay all tuition fees prior to class start. Registrations cannot be canceled, though we will do our best to accommodate your situation. Class cancellations are uncommon, but, were they to occur, you would be notified as soon as possible and your tuition fees would be refunded in full.

OTHER COURSES AVAILABLE