Course Summary
Android™ Bootcamp Training Course is a hands-on guide to designing and building mobile applications using Google's Android™ open-source platform. The course explains what Android™ is and how it compares to other mobile environments, the setup of the Android™ Eclipse-based development tools, the Android™ SDK, all essential features, as well as the advanced capabilities and APIs such as background services, accelerometers, graphics, and GPS.
This complete hands-on course encourages students to learn by building increasingly more sophisticated and meaningful mobile applications for Android™ phones.
By the end of the course, each participant will build their own complete Android application incorporating most of the key aspects of the platform. Typically, we build a Twitter app for Android, but there are other choices depending on participants' interests.
Duration
5 days.
2 course(s)
Objectives
Upon completion of this course, you will be able to:
- Build your own Android apps
- Explain the differences between Android™ and other mobile development environments
- Understand how Android™ applications work, their life cycle, manifest, Intents, and using external resources
- Design and develop useful Android™ applications with compelling user interfaces by using, extending, and creating your own layouts and Views and using Menus.
- Take advantage of Android's APIs for data storage, retrieval, user preferences, files, databases, and content providers
- Tap into location-based services, geocoder, compass sensors, and create rich map-based applications
- Utilize the power of background services, threads, and notifications.
- Use Android's communication APIs for SMS, telephony, network management, and internet resources (HTTP).
- Secure, tune, package, and deploy Android™ applications
Audience
This course is designed for software developers interested in designing, creating, deploying, and testing applications for the Android™ mobile phone platform. It is valuable to both novices and gurus, who already have experience in developing mobile applications for other platforms.
Java experience is required to get the most benefit from this training.
Instructors
Marko founded Marakana back in 2001 to help underprivileged youth, minorities, and inner-city kids learn web technologies and get ahead in life. So Marakana emerged with goal of helping people get better at what they do professionally, focused on open source software training.
Marko is the developer of Marakana Android Training series. He has taught Android for companies such as Sony-Ericsson, Qualcomm, Ericsson Canada, and many others. Marko is a co-founder of San Francisco Android Users Group and regularly teaches Android Bootcamp at Marakana.
Marko is author of upcoming Learning Android book published by O'Reilly Media. This book is based on Android Bootcamp and incorporates best learning practices for new developers to start creating applications for this exciting open source mobile platform.
In 2006 Marko Gargenta published "PHP and MySQL By Example", a collection on PHP examples. The book was published by Prentice Hall, world's largest technology publisher and has been also translated to Spanish.
Marko Gargenta obtained his Bachelor of Mathematics Degree from University of Waterloo (Canada's MIT) and has been developing in Java since 1996. He lives in San Francisco, California.
Speaking Engagements
- Open Source Conference (OSCON): Android for Java Developers on July 19, 2010, Portland, OR
- Snaptic: Android for Java Developers, May 27, SF, CA
- Association for Computing Machinery (ACM) SF Bay Area Chapter May 1, 2010
- IEEE Computer Society "Android Night" on April 13, 2010
- Scandinavian Developer Conference 2010: Android for Java Developers, March 16, 2010, Gotheborg, Sweden
- SFAndroid: Learn about Android Internals and NDK, SF
- SFAgile: Scrum Overview at Microsoft, SF
- SFAndroid: Learn about Data Persistence in Android
- SFAndroid: Learn how to develop for Android, beyond the HelloWorld
- Software Development Forum, Mobile SIG: Android Overview
- Open Source Conference (OSCON): A 30000-foot View of the Android Platform
Additional Notes
Android Meetup Group Organized by Marakana
Marakana team organizes and runs the San Francisco Android Users' Group - an interactive group of Android developers. In our monthly meetings, we discuss Android landscape from both technology and business angles. We often have great presentations by industry experts, group discussions, as well as hands-on sessions. If you are in San Francisco Bay Area, we encourage you to join the group and meet other Android developers.
Android SDK Version
This course is constantly updated for the latest Android SDK, but the instructor will discuss differences between releases as well.
Trademark Notice
Android is a trademark of Google Inc. Use of this trademark is subject to Google Permissions.
Outline
Intro to Android
Android Overview and History
- How it all got started
- Why Android is different (and important)
Android Stack
- Overview of the stack
- Linux kernel
- Native libraries
- Dalvik
- App framework
- Apps
SDK Overview
- Platforms
- Tools
- Versions
Hello World App
- Creating your first project
- The manifest file
- Layout resource
- Running your app on Emulator
Main Building Blocks
- Activities
- Activity lifecycle
- Intents
- Services
- Content Providers
- Broadcast Receivers
Basic Android User Interface
- XML versus Java UI
- Dips and sps
- Views and layouts
- Common UI components
- Handling user events
Android System Overview
- File System
- Preferences
- Notifications
- Security model
Advanced UI
- Selection components
- Adapters
- Complex UI components
- Building UI for performance
- Menus and Dialogs
- Graphics & animations
Multimedia in Android
- Multimedia Supported audio formats
- Simple media playback
- Supported video formats
- Simple video playback
SQL Database
- Introducing SQLite
- SQLiteOpenHelper and creating a database
- Opening and closing a database
- Working with cursors Inserts, updates, and deletes
Basic Content Providers
- Content provider MIME types
- Searching for content
- Adding, changing, and removing content
- Working with content files
Advanced Android
Custom Content Providers
- Why Content Providers
- Where the content comes from
- Implementing the API Supporting content files
Location Services
- Working with the Location Manager
- Working with Google Maps extensions
Services
- Overview of services in Android
- Implementing a Service
- Service lifecycle
- Bound versus unbound services
Broadcast Receivers
- What are Broadcast Receivers
- Implementing broadcast receiver
- System broadcasts and how to use them
Intent Filters
- Role of filters
- Intent-matching rules
- Filters in your manifest
- Filters in dynamic Broadcast Receivers
Networking
- Working with web services
- Best practices
Sensors
- How Sensors work
- Listening to Sensor readings
- Best practices for performance
WiFi
- Monitoring and managing Internet connectivity
- Managing active connections
- Managing WiFi
Telephony
- Making calls
- Monitoring data connectivity and activity
- Accessing phone properties and status
- Controlling the phone
Camera
- Taking pictures
- Rendering previews
Bluetooth
- Controlling local Bluetooth device
- Discovering and bonding with Bluetooth devices
- Managing Bluetooth connections
- Communicating with Bluetooth
Automated Testing
- Why automate tests
- Instrumentation and unit testing
Course Testimonials
Great class - covers application development in detail and moves to how the whole system is put together.
I found the training to be very "hands-on" and practical - an excellent intro.
Marakana offered a truly hands-on teaching experience. I really enjoyed creating an application tailor fit to our class' needs.
Marakana's Android Bootcamp is the best of the best when it comes to Android Training. Android from a high level is a rather daunting task, but Marko breaks it down into what is important and what can be ignored. Overall, the class exceeded my expectations and I would highly recommend it to anyone who wants to get a better grasp on Android.
Thank you. The course was excellent.
Went beyond my expectations. With a minimal Java background, Marko went really went into basics. Will definitely pass my word to most of my friends in this technology if their company gives them off.
The course was structured with well thought out progression. The course started very simple and by the end of the course, we had developed a fairly complex working mobile app... wooo hooo :). The components implemented in our example provided applicable foundation to get me started immediately upon my return to the office. Great job, Marko!!!
Was a great course that really added to my understanding of android applications!
The Android Bootcamp is the most useful professional training course I have ever attended. Marko is very knowledgeable, energetic and an excellent teacher. The course provides very helpful information which you could use in your real life android application. The class exercise (Twitter app) allows you to build the real application step by step and it also covers main topics about Android. I definitely got my money worth. Thank you Marakana.
Was surely a Bootcamp packed with info, info++ and then some more. Exercises were were Awesome since it included all the different aspects of Android into an App. I definitely got my money's worth. Thanks, Sanjiv
An in-depth, example-based, hands-on tutorial on the Android system. I walked away with 1) working code for an Android example app that covers essentially all the Android system components and 2) a great toolkit of small working code example apps for many more aspects of the Android system.
Great class -useful hands on experience and real time stuff. Right on time for our project as well !Thanks .
Marko is an exceptional trainer, as he is able to keep the novice on track without losing the interest of the more experienced members of the group. He takes his coaching and training duties very seriously. I enjoyed the class very much and I learned a lot. Marko was able to keep the interest of the group focused with interactive exercises. His in-depth knowledge of Android, Java, and Eclipse, on both MS Windows and Apple MAC are invaluable. I now feel comfortable I can implement my newly acquired knowledge to develop useful Android applications. This 5-day Boot-camp training is a worthwhile training. I highly recommend it. Gilles
Thank you. Very useful course!
Great class and it was customized perfectly to our needs!
Great Class!!! Marko had very good in-depth knowledge.
The Android Bootcamp taught by Marko Gargenta is just what our company needed to be successful at releasing our first Android application. Marakana's quick response to our call for an onsite, tailored class helped us to achieve our desired time to market as well.
Andriod Bootcamp exceeded my expectations in terms of the depth of content and coverage of a wide variety of topics. The instructor was very knowledgeable and provide many hands-on exercises which helped me get from zero to productive development in one week!
The instructor was kind and concerned with motivating the class. He demonstrated very good knowledge of the topics and kept a good pace in the course, giving theory and practice in a well balanced manner.
Learned MUCH more about Android in 5 days than I did in an entire mobile applications class in college. Very highly recommended.
This was, so far, the best training course I have ever taken.
Great course. Lots of live examples.
Marko is very knowledgeable of the material.
Highly recommended course for getting started on Android development!
Hands-on Exercises were excellent!
Overall - great class and I learned a lot. Marko did a nice job.
This was a good course to get into android. The trainer (Marko) did a good job customizing the course for us and then covering all the topics of interest for us. His command of the tool helped in making this a good course.
It was a very good course, i really recommend it for everybody who want know how to start using Android and who want to create new applications.
This course was great! [The instructor] was professional and at the same time created an easygoing learning environment. The small class size allowed for easy interaction with the instructor. I definitely feel like I can tackle my own android apps now.
The Android Bootcamp course was extremely informative and provided an excellent overview of the Android platform and how to make the most of your application. The unique hands-on learning experienced helped put this course above the rest!
