Android App Compatibility: the Complete K-to-P Guide

Resolve compatibility issues for the Android version you use
Instructor:
Packt Publishing
1 student enrolled
English [Auto-generated]
Prepare your developer station for Android development
Use AppCompat and its compatibility widgets to compare different Android versions
Build applications using material design components
Import and use vector graphics
Schedule background tasks in a compatible way
Build compatible notifications
Apply Crashlytics (Fabric) and Firebase Crashlytics
Use Firebase A/B Testing to experiment with compatibility fixes on specific devices audience

Android fragmentation is the  most horrible thing in an Android developer’s life. A new version is  released each year and year after new release gains less than a 5%  market share. Though Google is doing great work in providing Android  developers with support libraries, there are still lots of compatibility  issues.

This course will help you to make your Android apps backward-compatible  and we cover common issues faced by developers in Android. We develop in  Java using all its support libraries to show what they are and how they  allow us to fight most compatibility issues. We build a simple  application that will allow us to track car fill-ups and review gas  stations.

During this course, we take a closer look at uses for compatibility  libraries, walk through its most popular pivots, and skillfully resolve  them. Lastly, we explore a few tools for a  more effective market  understanding and investigate crashes and A/B testing.

About The Author

Jonathan Davis was first  introduced to Android development during the Fall of 2013, where he took  an introductory course in Mobile Device Programming at the University  of Cincinnati. In this course, he learned the barebones of Android, all  the way from Activities to Intents. He went on to take an Advanced  Android Development course at UC.

In the spring of 2014, he performed his first real world Android  development, when he co-op’d at a local engineering company in Blue Ash  Ohio. Here, he began to hone his programming skills and deepen his  understanding of various Android frameworks.

In the summer of 2016, he was hired full-time at the same company and  took on full responsibility as both an iOS and Android developer. In  addition to his day job, he also builds Android apps in his free time to  teach himself various APIs, and frameworks that he doesn’t get the  pleasure to use during work hours. He’s also a member of GDG Cincinnati  and regularly attends their monthly Android dev. lectures.

He graduated in the spring of 2017, with a Bachelor’s of Science degree  in Information Technology. More focus was in Software Development. He  also has some experience with desktop and web development.

Introduction to Android

1
The Course Overview

This video provides an overview of the entire course.

2
Installation and Setup

This video covers installing Android Studio and setting up an Android Emulator.

   •  Install Android Studio

   •  Create the first sample app in Android Studio

   •  Use Android Studio to setup an Android Device Emulator and run the app on the Emulator

3
Android Fragmentation

This video explains what “Android fragmentation” is and why it necessitated Android compatibility libraries.

   •  Develop an understanding of what Android fragmentation means

   •  Explain what caused Android fragmentation

   •  Attempt to solve common problems with Android fragmentation

Building the UI

1
Good App Design

In this video, I discuss good application design.

   •  A brief overview of good app design

   •  Quick explanation of adaptive design

   •  Quick explanation of responsive design

2
Sign-In Screen

This video covers building the XML layout for a sign-in screen.

   •  Create sign-in activity and XML layout

3
Build Main Screen

This video covers building the layout for the main screen (home).

   •  Create a MainScreen activity and XML layout

4
Display Fragments

This video covers building the layout for the main screen display fragments.

   •  Create FillUp and Station list fragments and their XML layouts

   •  Create a Settings fragment and its XML layout

   •  Create a layout for a three-line list item

5
Fill-Up Activities

This video covers building the layout for FillUp “detail” and “edit” activities.

   •  Create the FillUp “detail” activity and XML layout

   •  Create the FillUp “edit” activity and XML layout

6
Gas Station Activities

This video covers the layout for Station “detail” and “edit” activities.

   •  Create the Station “detail” activity and XML layout

   •  Create the Station “edit” activity and XML layout

Data Classes and Persistence

1
Data Classes

This video covers creating the POJOs the app FuelFinder.

   •  Create a POJO that a User

   •  Create a POJO that a Station

   •  Create a POJO that a fill up

2
Room Persistence Library

This video discusses the Room Persistence Library.

   •  Discuss the details of a Room implementation

   •  Add a dependency for the Room Persistency Library

3
Setup Entities

This video covers converting FuelFinders POJOs into entity objects.

   •  Add an “Entity” and “PrimaryKey” to User

   •  Add an “Entity” and “PrimaryKey” to Station

   •  Add an “Entity” and “PrimaryKey” to FillUp

4
DAO’s

This video covers setting up data access objects for FuelFinders entity classes.

   •  Create a DAO interface for User

   •  Create a DAO interface for Station

   •  Create a DAO interface for FillUp

5
Database Component

This video covers setting up a Database class for FuelFinder.

   •  Create a class that extends RoomDatabase

   •  Annotate it with “Database”, passing in the entity classes

   •  Add abstract access or methods for FuelFinder Daos

6
Build a Repository Class

This video discusses the Repository pattern. Creating a repo class for each of FuelFinder’s Daos. Create SQlite database and insert dummy User object.

   •  Briefly discuss the repository pattern

   •  Create a repo class for UserDAO, StationDAO, FillUpDAO

   •  Create FuelFinder database by adding dummy User object

Wire Up the UI

1
Data Binding Library

Explain Android’s data binding library.

   •  Discuss data binding library

   •  Setup Fuel Finder to use data binding

2
Wiring Up the Sign-In Screen

Setup the sign-In activity using data binding and a view model to login to the app.

   •  Setup layout to use data binding

   •  Build sign-in view model

   •  Wire the UI and the view model together

3
Setting Up Main Activity

Setup the main activity to using data binding to display the display fragments.

   •  Setup layout to use data binding

   •  Build main view model

   •  Wire the UI and the view model together

4
Binding the Fill-Up Fragment

Setup the fill up fragment and view model to display fill-ups created by the currently logged in user.

   •  Setup layout to use data binding

   •  Build fill-up list view model

   •  Wire the UI and the view model together

5
Binding the Station Fragment

Setup the fill up fragment and view model to display stations.

   •  Setup layout to use data binding

   •  Build station list view model

   •  Wire the UI and the view model together

6
Binding the Station Details Activity

Setup the station details activity to display a selected station item, using data binding and a view model.

   •  Setup layout to use data binding

   •  Build station view model

   •  Wire the UI and the view model together

7
Binding the Station Edit Activity

Setup the station edit activity to edit a station item using data binding and a view model.

   •  Setup layout to use data binding

   •  Wire the UI and the view model together

8
Binding the Fill-Up Details Activity

Setup the fill up details activity to display a selected fill up item, using data binding and a view model.

   •  Setup layout to use data binding

   •  Build fill-up view model

   •  Wire the UI and the view model together

9
Binding the Fill-Up Edit Activity

Setup the station edit activity to edit a fill up item using data binding and a view model. Also create date and time picker’s dialogs.

   •  Setup layout to use data binding

   •  Wire the UI and the view model together

   •  Setup Date & Time Picker

Access Device Location

1
Location

Explain the Location API’s available in Android.

   •  Explain the Android framework’s Location API

   •  Explain the Google Play Service’s Location API

   •  Add Google Play Service’s Location’s dependency to FuelFinder

2
Accessing the Location

Integrate the Google Service’s Location API into FuelFinder and return an address for the current location.

   •  Create an IntentService to fetch address for location coordinates

   •  Add location button to StationEditActivity

   •  Request single location update and start Address services with it

Schedule a Recurring Task

1
WorkManager

In this video I discuss scheduling a reoccurring using the WorkManager API provided by the Jetpacket android architecture library.

   •  Discuss the WorkManager API

   •  Add a dependency for WorkManager to FuelFinder

2
Create Our Worker

In this video, we create a Worker class for FuelFinder that will be fired to calculate amount of money spent of fuel.

   •  Create a custom worker class called FIllUpWorker

3
Setup Settings Fragment

In this video we setup the Settings Fragment using view models, and data binding.

   •  Create Settings view model

   •  Data bind settings fragment

   •  Test reoccurring task on emulator

4
The Wrap-Up

In this video I close out the course by discussing everything we’ve learned and some improvements that could be made to FuelFinder.

   •  Discuss all the subjects learned building FuelFinder

   •  Discuss improvements to be made to FuelFinder

You can view and review the lecture materials indefinitely, like an on-demand channel.
Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don't have an internet connection, some instructors also let their students download course lectures. That's up to the instructor though, so make sure you get on their good side!

Be the first to add a review.

Please, login to leave a review
224e956a64b6f3b820b5e05c492ba74e
30-Day Money-Back Guarantee

Includes

5 hours on-demand video
Full lifetime access
Access on mobile and TV
Certificate of Completion