Skip to content

Contains sample code and projects from the Android Companion book

Notifications You must be signed in to change notification settings

nearchos/android-companion

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Android Mobile Apps

A Coding Companion

This page contains resources related to the Mobile Application Development: A Coding Companion book.

This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivs 3.0 United States License, described at this URL: https://creativecommons.org/licenses/by-nc-nd/3.0/us/. Unless required by applicable law or agreed to in writing, code listed in this site is distributed on "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

The included projects are:

Part I - Object Orientation with Java

  • HelloJava provides a brief introduction to Object Oriented programming with Java

  • FingerChase describes a custom-defined View which demonstrates inheritance, custom drawing, background threads and handling of touch events

Part II - Android App Fundamentals

  • HelloAndroid introduces the core building blocks for Android Apps

  • LifecycleAndIntents describes how the components' lifecycle is used and also how Intents help realizing Apps

  • Resources explains what are the Android resources and how they are used

Part III - User Interface Design

  • UIDesign discusses core Android UI design elements and layouts

  • ConstraintLayout covers the latest design layout introduced to enable custom-tailored designs with better support for Android Studio's tools

  • ListOfItems describes how to build custom ListViews

  • RecyclerView describes the use of RecyclerView in an example

  • CustomView demonstrates how to define a CustomView by specializing an existing View

Part IV - Persistence

  • Persistence explains how data persistence is achieved in Android and describes the preferences mechanism

  • Databases discusses how to use the underlying SQLite database using standard SQL queries

  • Room describes the use of the Room high-level library for achieving persistence

  • ImagesDatabase elaborates on the use of Room and covers storing of images or other large files in the database

Part V - Distributed Mobile Applications

  • NetworkedServices describes how to enable network connection using low-level Java sockets

  • HandlingJSON discusses JSON as the standard format for encoding and transporting data - covers both built-in support and Gson

  • Volley explains how to use the Volley library to enable high-level networking in Android

  • ArchComp provides an overview of Android Architecture Components and their use to simplify data-intensive apps - this project demonstrates the ViewModel and LiveData elements as well as the Repository pattern

Part VI - Debugging and Testing

  • Debugging describes the main methods for debugging, and Android Studio's support for it

  • Testing describes various methods to automate testing in Android development

Part VII - Android Recipes

  • PositioningAndMaps provides examples on how to access the device position and how to show a map (from Google Maps)

  • Compass provides examples on how to interface with sensors in general and demonstrates an example which uses the magnetometer sensor to implement a compass

  • PowerMonitor demonstrates the use of ViewModel and Receiver via a simple app for monitoring the battery

  • BarcodeScanner demonstrates the use of the ZXing library to easily embed a Barcode Scanner in your app

About

Contains sample code and projects from the Android Companion book

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages