Developing Android Apps

This course is offered through Udacity — you can add it to your Accredible profile to organize your learning, find others learning the same thing and to showcase evidence of your learning on your CV with Accredible's export features.


Course Date: Anytime (self-paced)

Price: free

Course Summary

Build a cloud-connected Android app, and learn the tools, principles, and best practices of mobile and Android development that you'll apply to your own projects.

Course Instructors

Reto Meier

Reto Meier has been part of the Android Developer Relations at Google since 2009, and leads Google’s Scalable Developer Advocacy team. He’s passionate about helping developers build the best possible apps on Android, and is the author of the Professional Android Application Development series of Android books from Wrox.

Katherine Kuan

Katherine Kuan is a Developer Advocate at Google. Before that, she was a software engineer on the Android Apps team for Google Keep, Google Play, and the People app (formerly Contacts). She is enthusiastic about helping others build apps to improve their communities.

Dan Galpin

Dan Galpin is a Developer Advocate for Android, where his focus has been on Android performance tuning, developer training, and games. He has spent over 10 years working in the mobile space, developing at almost every layer of the phone stack. There are videos that demonstrate that he has performed in musical theater productions, but he would deny it.

Alexander Lucas

Alexander Lucas has been part of Android Developer Relations at Google since 2010. Previously, he did mobile game development with J2ME, and had a brief stint as a web developer with ColdFusion. Alex obsesses over how to write sample code so good, it teaches the developer reading it. His life goal is to save everyone in the world 5 minutes.

Sarah Spikes

Sarah is a Stanford grad with a BS and MS in Computer Science, and spent a lot of her time at Stanford TAing CS courses. She then spent two years working at Google before deciding to follow her passion for teaching by joining Udacity. In her spare time, Sarah enjoys performing musical theatre (including a Star Trek themed production of HMS Pinafore), making sorbet from the fruit that grows in her yard, and rock climbing.

James Williams

James Williams first fell in love with teaching while working as an instructor at a computer camp. He runs obstacle course/adventure races in his spare time and is the author of HTML5 Game Programming, which has been translated into Chinese and Korean. He holds degrees in Computer Science (BA, MS) and French (BA).

▸ ▾ Reto Meier

Reto Meier has been part of the Android Developer Relations at Google since 2009, and leads Google’s Scalable Developer Advocacy team. He’s passionate about helping developers build the best possible apps on Android, and is the author of the Professional Android Application Development series of Android books from Wrox.

▸ ▾ Katherine Kuan

Katherine Kuan is a Developer Advocate at Google. Before that, she was a software engineer on the Android Apps team for Google Keep, Google Play, and the People app (formerly Contacts). She is enthusiastic about helping others build apps to improve their communities.

▸ ▾ Dan Galpin

Dan Galpin is a Developer Advocate for Android, where his focus has been on Android performance tuning, developer training, and games. He has spent over 10 years working in the mobile space, developing at almost every layer of the phone stack. There are videos that demonstrate that he has performed in musical theater productions, but he would deny it.

▸ ▾ Alexander Lucas

Alexander Lucas has been part of Android Developer Relations at Google since 2010. Previously, he did mobile game development with J2ME, and had a brief stint as a web developer with ColdFusion. Alex obsesses over how to write sample code so good, it teaches the developer reading it. His life goal is to save everyone in the world 5 minutes.

▸ ▾ Sarah Spikes

Sarah is a Stanford grad with a BS and MS in Computer Science, and spent a lot of her time at Stanford TAing CS courses. She then spent two years working at Google before deciding to follow her passion for teaching by joining Udacity. In her spare time, Sarah enjoys performing musical theatre, making sorbet from locally grown fruit, and rock climbing.

▸ ▾ James Williams

James Williams first fell in love with teaching while working as an instructor at a computer camp. He runs obstacle course/adventure races in his spare time and is the author of HTML5 Game Programming, which has been translated into Chinese and Korean. He holds degrees in Computer Science (BA, MS) and French (BA).

Course Description

Sneak Preview: Lesson 1 available
Full course available on July 15th

Android Fundamentals blends theory and practice to help you build great apps the right way. In this course, you'll work with instructors, step-by-step, to build an Android app, and learn best practices of mobile development in general and Android development in particular.

Why Take This Course?

With over 1 billion Android devices already activated, Android represents an incredible opportunity for developers.

As Android continues to grow beyond smartphones, it will become the brains behind invisible, ubiquitous cloud-connected computing. The skills you learn in this course will help you build awesome apps for smartphones and tablets today, and propel you towards exciting opportunities in Android's future.

By the end of this course, you’ll build a cloud-connected Android app, and understand the tools, principles, and patterns that underlie all Android development. You’ll understand the challenges associated with developing for the mobile environment (and how to overcome them), learn how to build a great user experience for Android devices, and apply this knowledge to your own projects.

Prerequisites and Requirements

You should have strong working knowledge of Java or another object-oriented programming language. Udacity's Intro to Java is a helpful background if you're looking to refresh your Java skills.

You will be expected to download Android Studio in order to follow along with the instructors throughout the course. You also should be comfortable working with code on Github.

Access to an Android device is helpful -- but not required -- to complete the final project.

Finally, while not a formal prerequisite, UX Design for Mobile (also taught in collaboration with Google) is a good companion course to this one.

See the Technology Requirements for using Udacity

What Will I Learn?

Syllabus

Lesson 1: Create Project Sunshine with a Simple UI (5-8 hrs)

Starting by installing Android Studio, you’ll create your first project with a simple list-based user interface and built and deploy it to virtual and actual devices. You’ll also discover what makes mobile - and Android in particular - a unique environment for app development.

  • Android Studio, Gradle, and debugging tools
  • User Interface and Layout managers
  • ListViews and Adapters

Lesson 2: Connect Sunshine to the Cloud (5-8 hrs)

Replace the mock data with real weather data by connecting Sunshine up to an Internet back-end courtesy of the Open Weather Map API. You’ll learn how to add permissions to your app, initiate network I/O, and how to move time consuming tasks like network data transfers off the main UI thread.

  • Threading and ASyncTask
  • HTTP requests on web APIs
  • Android Permission System

Lesson 3: Create New Activities and Navigate Apps with Intents (8-12 hrs)

Give your app structure and create more complex Activities. You’ll learn about Android’s Intent framework, and how to use Intents to navigate between Activities, both within your app and as a way to add 3rd party functionality.

  • App navigation with Explicit Intents
  • Implicit Intents to incorporate 3rd-party apps
  • Share Intent and the Android sharing framework
  • Broadcast Intents and Broadcast Receivers

Lessons 4: Use Content Providers and Loaders to Persist and Recover Data (15-20 hrs)

Learn how the Android framework manages the activity lifecycle, and how it differs from what you might expect, and dive head-first into the world of persistent storage. Learn how to create databases, use Android’s Content Providers to provide an abstraction layer between your data and your UI implementation, and use Loaders to efficiently load stored data.

  • Activity lifecycle and background activity termination
  • SQLite databases and JUnit tests
  • Creating and using a Content Provider as an abstraction layer
  • Using Loaders to asynchronously load data
  • Creating Adapters to bind UI components to Content Providers

Lesson 5: Implement Rich and Responsive Layouts (8-12 hrs)

Create rich, responsive user interfaces that work across a variety of different hardware types and screen sizes. You’ll learn more details on using the Android Layout managers, Fragments, UI widgets, and Android design principles to add visual polish to your user interfaces, and how to create your own controls from scratch.

  • Fundamental Android design principles
  • Supporting localization and variable screen sizes
  • Optimizing tablet UIs using Fragments
  • Accessibility Features
  • Custom views

Lesson 6: Use Services and Notifications to Run in the Background (5-8 hrs)

Deliver a great user experience, even when your app isn’t visible. Learn how the Android framework manages background apps; and discover how to use Services and Notifications to make your app to be active when it’s not in the foreground. You’ll learn techniques for efficient data transfers using SyncAdapters and Google Cloud Messaging, so your app can stay up-to-date without draining the battery.

  • Background services and alarms to schedule background tasks
  • Efficient background data transfers with SyncAdapters
  • Rich notifications to interact with users

Final Project

Build your own Android app incorporating the skills you've learned in this course.

Review course:

Please sign in to review this course.

Similar Courses


{{ course.name }} {{ course.name }}

{{ course.name}}

{{course.start_date | date:'MMM d'}} — {{ course.end_date | date:'MMM d'}}   ({{ course.time_until_course_starts }} ,   length: {{ course.length_in_weeks }} weeks) Self-paced — no deadlines    
${{ course.price }} p/mfree
TO-LEARN
TO-LEARN
ADDED!

REMOVE
FROM
LIST
ON PROFILE

Course Activity & Community

Be the first Accredible user to join this course!





uploaded {{ feed_item.model.caption || feed_item.model.url || feed_item.model.file_file_name }} for the course {{ feed_item.course.name }} — {{ feed_item.time_ago }}

{{ comment.user.name }} {{ comment.text | truncate: (comment.length || comment_display_length) }}   read more hide

{{ comment.time_ago }}

started the course {{ feed_item.course.name }} — {{ feed_item.time_ago }}
followed {{ feed_item.model.name }} — {{ feed_item.time_ago }}
followed thier friend {{ feed_item.model.name }} — {{ feed_item.time_ago }}
{{ feed_item.model.text }} (on the course {{ feed_item.course.name }}) — {{ feed_item.time_ago }}

{{ comment.user.name }} {{ comment.text | truncate: (comment.length || comment_display_length) }}   read more hide

{{ comment.time_ago }}