/Android-Developer-by-Google

Become an Android Developer

Primary LanguageJava

Android Developer Nanodegree by Google

codebeat badge

Become an Android Developer.

This is a repository where I will be posting the apps that I built during my Nanodegree program study.

About This Nanodegree

For intermediate Java developers pursuing Android specialization, this program teaches the tools, principles, and patterns that underlie all Android development.

The skills you learn in this Nanodegree program will help you master the existing platform, and prepare you for the exciting opportunities in Android's future.

Index

  1. Developing Android Apps, Stage 1
  2. Developing Android Apps, Stage 2
  3. Advanced Android App Development
  4. Gradle for Android and Java
  5. Material Design for Android Developers
  6. Android Wear Development
  7. Capstone

Capstone

  • Create a detailed plan, including UI mocks and technical specifications, for building app
  • Take the skills that I've learned across your Nanodegree journey and apply it to an app idea

Certificate: Verified Certificate of Completion

Project: Habito

Simple habit tracker with Firebase Services and detailed charts.

Toy apps:

Developing Android Apps, Stage 1

ListViews, Activities, Intents, Content Providers

  • Build and deploy apps on Android devices
  • Present and use network resources in your apps
  • Navigate between multiple screens in an app
  • Create databases and use Content Providers to manage access to your data
  • Create responsive user interfaces that work across a variety of screen sizes
  • Keep your app running efficiently with the Use of AsyncTasks and Loaders

Project: Popular Movies

Create an app that allows users to discover recent and popular movies.

This app consists of two parts. In the first, you’ll build a clean UI, sync to a server, and present information to the user. In the second, you’ll add a tablet layout with detail views for each movie, allowing users to favorite certain films.

Toy apps:

  • FavoriteToys - present scrollable data in ScrollView with nested TextView
  • GithubQuery - connect to the Internet and communicate with GitHub API
  • RecyclerView - learn about the components that convert a list of data into visual UI elements
  • Sunshine is a weather forecast app

Developing Android Apps, Stage 2

The Application Lifecycle, Preferences, SQLite Databases, Content Providers, Background Tasks, Responsive Layout

  • Understand the phases of the Android application lifecycle
  • Learn how to persist data between orientation and other changes
  • Allow users to customize some aspects of your app using Preferences
  • Implement an SQLite database and make queries to and modify that database in app
  • Learn how Content Providers provide an interface to share data and consume data from an already existing ContentProvider
  • Learn how to efficiently implement Background Tasks

Project: Popular Movies

Add onto Popular Movies Stage 1 project a detail view for each movie, allowing users to ‘favorite’ movies, and adding a persistence.

Toy apps:

  • Visualizer - use the SharedPreferences to allow users to customize some aspects of app
  • Waitlist - create SQLite database, save and query data using SQLiteOpenHelper class
  • Quiz-Example - consume data from an already existing ContentProvider
  • ToDo-List - build SQLite database and use ContentProvider to get the data
  • Hydration-Reminder - learn how to schedule background tasks and present notifications
  • BoardingPass - learn ConstraintLayour
  • VisualPolish - create responsive user interfaces
  • Sunshine - weather forecast app, that demonstrates every covered aspect in the course

Advanced Android App Development

Handle Error Cases, Accessibility and Localization, 3rd Party Libraries, Google Cloud Messaging, Material Design, Google Places API, Tablet UI, Performance Profiling

  • Understand the process of productionizing an app, using Sunshine the weather app
  • Android Core App Quality Guidelines
  • Material design approaches
  • Image-handling
  • Performance profiling
  • Accessibility features
  • Localization
  • Widgets
  • Libraries

Project: Stock Hawk

Productionize an app, taking them from a functional state to a production-ready state. Find and handle error cases, add accessibility features, allow for localization, add widgets, and add a library.

Toy apps:

Gradle for Android and Java

Gradle, Compile and Package apps, Build Process, Build Automation, Continuous Delivery of Software

  • Explore how the Gradle build tool compiles and packages apps
  • Learn about how to customize the build process
  • Build automation, and continuous delivery of software
  • Free and paid flavors
  • Create and integrate Android libraries
  • Android app testing

Project Build it Bigger

Use Gradle to build a joke-telling app, factoring functionality into libraries and flavors to keep the build simple. Configure a Google Cloud Endpoints development server to supply the jokes.

Material Design for Android Developers

Android Design Fundamentals, Surfaces, Bold Graphic Design, Motion, Adaptive Design

  • Learn how to apply the material design principles
  • Android design fundamentals
  • Transform design elements of sample apps to meet Android design concepts
  • Understand how to create and use material design elements, surfaces, transitions and graphics in apps, across multiple form factors

Project XYZReader

Implement Android design concepts and transform a functional news reader app using material design techniques.

Android Wear Development

Android Wear Development, Android TV and Google Cast Development, Android Auto Development

  • Android Wear application structure
  • Share information between the wearable and the companion phone or the cloud.
  • Design great user experiences for wearables including how to take advantage of the always-on display of Android Wear devices.

Project Sunshine-Advanced

Let users access the weather at a glance by building a Sunshine watch face for Android Wear.

Toy apps:

  • AndroidWearFirstProject is a Android Wear 'Hello World' project
  • WearCounter example of sending and syncing data across wear and mobile apps
  • GridViewPager GridViewPager sample project
  • SynchronizedNotifications notifications across Android Wear and phone app
  • WatchFace demonstrate how to build watch faces for the Android Wear
  • TVDemo Android TV sample project
  • ControllerSample Android TV asteroids game
  • AutoMessaging Android Auto Messaging demo project
  • MessagingService MessagingService demo project
  • MinimalAutoMedia a complete sample of the Android Auto media player
  • UniversalMusicPlayer an audio media app that works across multiple form factors and provide a consistent user experience on Android phones, tablets, Android Auto, Android Wear, Android TV and Android Cast devices
  • MyWatchFace a digital watch face for Android wear powered smartwatch, also control the background color and the time and date colors of watchfacec from inside the Android Wear application on mobile device