Book Image

Expert Android Programming

Book Image

Expert Android Programming

Overview of this book

Android O brings a number of important changes for the users as well as the developers. If you want to create smart android applications which are fast, lightweight and also highly efficient then this is the book that will solve all your problems. You will create a complex enterprise grade app in this book. You will get a quick refresher of the latest android SDK and how to configure your development environment. Then you will move onto creating app layouts, component and module building, creating smart and efficient UIs. The most important part of a modern day app is how real time they are. With this book, you will create a smooth back-end for your app, ensure dynamic and real time communication between different app layers. As we move on, you will learn to leverage the different Android APIs and create an efficient SQLite data layer for your apps. You will implement effective testing techniques to make your app reliable and robust and finally you will learn to deploy it efficiently. The multiple stages of android development will also be simplified by giving you an industry standard set of best practices.
Table of Contents (17 chapters)
10
Building Restaurant finder

Liskov Substitution Principle

The Liskov Substitution Principle states that:

Child classes should never break the parent class' type definitions.

According to this principle, a subclass should override the parent class's methods in a way that does not break functionality from a client's point of view.

According to this principle, if a class is extending another class, the functionality of the child class should not conflict with that of its parent.

We can demonstrate this with the following example:

public class Rectangle { 
   private double length; 
   private double height; 
 
 
   public void setLength(double length) { 
       this.length = length; 
   } 
 
   public void setHeight(double height) { 
       this.height = height; 
   } 
 
   public double getLength() { 
       return length; 
   } 
 
   @Override 
   public double getHeight() { 
       return...