O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Developing High Quality Android Applications

Video Description

In this Developing High Quality Android Applications training course, expert author Annyce Davis teaches you how you can reduce defects and create maintainable software. This course is designed for users that already have a basic working knowledge of developing Android applications.

You will start by learning about Android libraries, then jump into learning about software design principles, including separation of concerns and Law of Demeter. From there, Annyce will teach you how to architect the presentation layer. This video tutorial also covers topics such as model view presenter pattern, static code analysis, PMD, FindBugs, and Android Lint. You will also learn about unit testing, unit testing with JUnit, and user interface testing. Finally, you will learn about user interface testing with Espresso.

Once you have completed this computer based training course, you will have gained the knowledge necessary to develop high quality Android applications. Working files are included, allowing you to follow along with the author throughout the lessons.

Table of Contents

  1. Introduction
    1. Why Develop Maintainable Apps? 00:01:10
    2. About The Author 00:01:09
    3. Course Overview 00:01:02
  2. Android Libraries
    1. Choosing The Right Library 00:01:58
    2. Choosing An Image Library - Part 1 00:05:24
    3. Choosing An Image Library - Part 2 00:04:14
    4. Choosing An Image Library - Part 3 00:02:59
  3. Domain Design Challenges
    1. Domain Design Challenges In Android 00:01:35
  4. Software Design Principles
    1. Software Design Principles 00:02:43
    2. Single-Responsibility 00:04:20
    3. Separation Of Concerns 00:01:15
    4. Law Of Demeter 00:01:58
  5. Architecting The Presentation Layer
    1. Architecting The Presentation Layer 00:02:00
  6. Model View Presenter Pattern - MVP
    1. Model View Presenter Pattern 00:01:05
    2. Migrating To MVP Pattern - Part 1 00:05:38
    3. Migrating To MVP Pattern - Part 2 00:03:33
  7. Static Code Analysis
    1. Static Code Analysis 00:02:10
  8. Checkstyle
    1. Overview Of Checkstyle 00:01:44
    2. Getting Set Up 00:03:34
    3. Cleaning Up Your Code 00:05:18
  9. PMD
    1. Overview Of PMD 00:01:34
    2. Getting Set Up 00:02:58
    3. Cleaning Up Your Code 00:04:36
  10. FindBugs
    1. Overview Of FindBugs 00:01:43
    2. Getting Set Up 00:03:02
    3. Cleaning Up Your Code 00:03:19
  11. Android Lint
    1. Overview Of Android Lint 00:01:58
    2. Getting Set Up 00:02:40
    3. Cleaning Up Your Code 00:03:20
  12. Testing
    1. Why Testing Matters 00:02:55
  13. Unit Testing
    1. What Is Unit Testing? 00:02:22
  14. Unit Testing with JUnit
    1. JUnit Overview 00:03:54
    2. Getting Set Up 00:02:42
    3. Creating Unit Tests 00:05:44
  15. Unit Testing with JUnit And Mockito
    1. Mockito Overview 00:03:27
    2. Getting Set Up 00:01:58
    3. Creating Unit Tests With Mocks 00:06:18
  16. User Interface Testing
    1. What is User Interface Testing? 00:04:09
  17. UI Testing With Espresso
    1. Espresso Overview 00:03:49
    2. Getting Set Up 00:04:00
    3. Creating User Interface Tests 00:04:54
  18. Conclusion
    1. Conclusion 00:00:52