Android™ Overview Training Course
Course Summary
-
History of Android: How we got here, and where we may be heading
-
Android Stack: The big picture overview of entire Android OS
-
Hello, Android: Dissecting an Android app to understand all the moving parts
-
Architecting Android Apps: Understanding main building blocks of an Android app
-
System Services: What Android ecosystem offers to developers
-
Debugging and Testing: Tools that are available to you today
-
Android Security: An overview of how Android security model works
[top] Duration
1 day.
Android™ Overview is composed of the following:- History of Android (30 minutes)
- Android Stack (90 minutes)
- Hello Android (90 minutes)
- Architecting Android Apps (2 hours)
- Debugging and Testing Android Apps (1 hour)
- Android Security Overview (1 hour)
- Android System Services Overview (1 hour)
[top] Objectives
The goal of Marakana's Android Overview training is to give you a solid understanding of the entire Android operating system. It gives you the big picture of how Android is put together, the SDK tools, security and other considerations. The course also introduces what it takes to architect Android apps and goes into testing and debugging tools available and best practices.
[top] Audience
Android™ Overview is designed for both technical managers and team leads looking to manage Android projects, as well as experienced developers looking to jump-start their skills with Android.
[top] Prerequisites
Android™ Overview is the most gentle introduction to the platform. As such, you do not need to have any prior experience with Android, or programming for that matter.
This course is the prerequisite for most of the future Android courses.
[top] Instructors
Aleksandar Gargenta is the technology brains at Marakana. Always on top of the latest in software, Aleksandar is the company's radar for technology that matters. His latest ventures are perfecting Marakana's Android Internals and Security courses.
Phew. And if that's not enough, he's also the chief architect of Marakana Spark, the on-demand software platform that powers marakana.com and a number of other training companies. As an instructor he's taught hundreds of classes for everyone from Apple to Disney, from NASA to the Department of Defense.
In his spare time Aleksandar runs the San Francisco Java, Android, and HTML5 User Groups with over three thousand members across the three groups.
Aleksandar holds a bachelor’s degree in Mathematics and Computer Science from the University of Waterloo. He is also a father, photographer, hiker, and a race-car driver :-)
Blake is an engineer with more than 20 years of experience, much of it with Java. He's built systems as large as Amazon's massively scalable AutoScaling service and as small as a pre-Android OSS/Linux and Java based platform for cell-phones.
He's currently deep in Android. Blake is co-author of three books on Android, including O'Reilly's best-selling, "Programming Android" and the Wiley's upcoming "Enterprise Android".


Blake writes the popular and informative blog "Portable Droid"
More about G. Blake Meike...
Ken Jones has thousands of in-class hours teaching advanced technical topics, and over 20 years experience in technical training and documentation targeted towards software developers. Ken has delivered training to various software development teams within the Fortune 1000 such as Cisco, Intel, IBM, Boeing, AT&T, Ericsson/Nokia, and many more. Ken's expertise spans multiple areas of software development; he has trained teams in Java, Javascript, Android, and advanced web development with HTML, CSS, and XML.
More about Ken Jones...
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 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.
Marko is also the co-chair of Android Open, an O'Reilly conference focusing on Android ecosystem.
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.
More about Marko Gargenta...[top] Outline
History of Android (30 minutes)
History of Android module focuses on how we got here. The goal of the module is to give us an idea of design philosophy behind Android, and what it may say about the future of the platform. At this high level, we explore both technical and business choices that effect the platform for a long time. We'll look at how and Android operating system gets put together by various parties involved, from Google to carriers.
Topics in this module include:- Vision for Android
- History overview
- Android Open Source Project (AOSP) versions
- OEM add-ons
- Third Party Android add-ons
- Carrier Bloatware
- Android fragmentation
Android Stack (90 minutes)
- Design philosophy
- Open Source licenses
- Linux kernel space
- Native layer
- Dalvik VM
- Application layer
- Apps
Hello Android (90 minutes)
- Android SDK: How to set it up and what it consists of
- About Eclipse: The power of the tools
- Creating a new Android project
- Anatomy of a project: What are all the moving parts
- Running the app: Emulator, real device, tools to monitor them both
Architecting Android Apps (2 hours)
-
What makes up an Android app
-
Activities and Android UI
-
Fragments and best practices for reusable UI
-
Intents, Action Bar, and More
-
Services, IntentServices, Remote Service
-
Content Providers and Loaders
-
Lists and Adapters
-
Broadcast Receivers
-
App Widgets
-
Federation of apps design model
Debugging and Testing Android Apps (1 hour)
This module provides an overview of some of the tools available in Android SDK that can help you with debugging and testing your apps. By the end of this module you should have a general knowledge of what tools are available and how to use them. The tools we'll explore include:
- Logcat
- Debugger
- Traceview
- HierarchyViewer
- Syslog
- Exercise Monkey
- Monkey Runner
- UIAutomator
Android Security Overview (1 hour)
The goal of this module is to provide high level overview of how Android security is architected. By the end of this module, you should know how the apps are sandboxed how the security is enforced. Topics covered include:
- Security design overview
- Application sandboxing
- Using permissions
- Declaring permissions
- Granting and enforcing of permissions
- Social vectors of attack
- Top 10 Bad Permissions
Android System Services Overview (1 hour)
The goal of this module is to give you an overview of various system services that Android framework offers to developers. We'll explore what services are there, and how to use them. Out of 60+ services, we'll pick a handful of common ones and look at their usage. Primary focus is to understand the patters that are common for all of them so that you can deduct usage of the other services simply by following the documentation.
- What are the System Services
- How to get a system service
- Pattern for using system service APIs
- Pattern for subscribing to service notifications
- Common issues with using system services
- Using the documentation to learn more
- Google Cloud Services overview
[top] Additional Notes
About Your Instructor

Marko Gargenta has been programming in Java even before it was named Java. His background is in very large enterprise web application development but he's also had a fair-share of UI experience having rewritten the entire AWT into lightweight components before Java Swing ever came out. He's a big believer in agile development processes, being a certified ScrumMaster himself as well as contributor to eXtreme Programming methodology.
Marko is a professional consultant and instructor. He's taught teams of organizations such as Sony-Ericsson, Ericsson Canada, MetroPCS, Experian, DoJ, DoD, and many others. He's published a PHP/MySQL by Example book with Prentice Hall (world's largest tech publisher) as well as created many of Marakana's courseware, including the Android series.
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.
Trademark Notice
Android is a trademark of Google Inc. Use of this trademark is subject to Google Permissions.
[top] Student Testimonials
The instructor Marko demonstrated expertise in the Android platform. He was a joy to learn from and I look forward to utilizing his new book which he generously provided to us. Thanks Marko!
This was a great and informative overview of Android. Marko was very professional, answered all the questions and took the time to understand our needs.
Being an intermediate user I already knew most of the lecture but I did learn new techniques and technical information that I did not know. Very well structured and excellent learning experience. Will be taking an internals class to dive more into the C/C++!
Good material, clear presentation, well-prepared.
The trainer was very knowledgeable. The course was a good blend of what android platform is and how to do the basic programming on it.
Very useful class. Knowledgeable instructor, helpful, good with questions.
Thank you, this was very helpful
Excellent expert instructor.
This was a great bootcamp to help us understand the Android ecosystem and app space. It was accessible to all team members regardless of skill level and previous technical experience.
This was a great overview course. I wish it was longer, but look forward to future offerings that take a more in depth look at developing for Android.
I am a user experience designer (not and engineer), so this was a good overview of what it's like to develop for Android. This knowledge gives me some insight into Android app development and might help me communicate with the engineers on my project better since I have a better understanding of the framework and terminology of this platform.