Android Bootcamp
Learn to program fluently in Java. You will use the Android tools with confidence and build fully functional Android apps.
Android Bootcamp
Immersive 16-Weeks
WHAT YOU WILL LEARN
We’ll start you off by teaching you programming fundamentals through a series of challenging practice problems. Then we’ll help you gain an in-
depth understanding of object-oriented programming. Once you have a strong grasp of these important topics, you will move on to developing
apps. At the completion of the course, you will have developed a strong skill set with a focus on:
- Android architecture
- Computer Science fundamentals
- Fundamentals of UI/UX design on Android (including animation, user interaction, buttons, tabs, maps, etc.)
- Data: Storing data in the cloud using AWS as well as on the mobile device using SQLite.
- Interacting with web services and APIs such as social networks and review sites
- creating your own web services using AWS
- Using Android device features like camera and GPS
- Relatively advanced topics such as security, app performance, asynchronous programming, design patterns, and testing
COMPUTER SCIENCE FUNDAMENTALS
Fundamental Programming Skills
- Strings
- Arrays
- Sets
- Linked Lists
- Stacks
- Queues
- Sorting
- Searching
- Analysis of Algorithms
MOBILE DEVELOPMENT
THE JAVA PROGRAMMING LANGUAGE
- The Android development ecosystem – Android Studio, Java, Android OS, Android tools
- The Java Programming Language
- Control flow
- Data types
- Functions and Closures
- Classes and Objects
- Memory Management ( Garbage collection) in Java
- Assignments 1 and 2
MORE JAVA ESSENTIALS
- Dalvik VM and new options
- Strings
- Collections
- Algorithms
- Packages in Java
- Assignments 3 and 4
Object Oriented Programming for the Android
- More on Classes and Objects
- Android based examples of classes and Objects
- Assignments 5 and 6
Introduction to Android Development
- Android Development fundamentals – Activity, Dynamic UI, App Layouts
- Essential ideas – MVC, Asynchronous programming, JSON and HTTP
- Assignments 7 and 8
MORE ON VIEWS AND CONTROLLERS
- List Views
- Intents
- Fragments
- Navigating between different screens of your app
- Arrays and array adaptors – accessing the Android address book
- Gestures
- Cleanly separating data from your views and controllers
- Assignments 9 and 10
Data Persistence
- Data persistence strategy for mobile
- Storing user preference data using Shared Preferences
- Android independent, local storage using SQLite
- Advanced SQLite with Content Providers
- Assignments 11 and 12
Android Frameworks
- Maps
- Social Framework – Facebook and Twitter
- Audio and Camera
- Assignments 13 and 14
- Detecting connection type – Wi-Fi/4G
- Sensors – a gyroscope example
- Home screen widgets
- Security in Android Apps
- Mobile development – best practices. Covers the entire lifecycle of Android app development and various pitfalls
and
strategies for ensuring success in your Android projects - Take-home project: A full featured Camera app complete with cloud storage of photos, Facebook login, Facebook share
and filters
INTERNSHIP PROJECT
There are a variety of technology options depending on the project we work on. But most will include the following:
- An Android App
- RESTful services using a Java backend (typically Tomcat, Spring)
- HTTP and JSON for device-cloud communication
- Design and Architecture–database modeling, service design and system architecture
- Our systems are typically deployed on Amazon EC2 and we use S3 for storage. We may use other Amazon services such
as SNS/SQS/MySQL where applicable