__CONFIG_colors_palette__{"active_palette":0,"config":{"colors":{"82d19":{"name":"Main Accent","parent":-1},"525ed":{"name":"Main Accent Dark","parent":"82d19"},"e8f70":{"name":"Main Accent Light","parent":"82d19","lock":{"saturation":1,"lightness":1}}},"gradients":[]},"palettes":[{"name":"Default","value":{"colors":{"82d19":{"val":"var(--tcb-skin-color-0)"},"525ed":{"val":"rgb(2, 0, 52)","hsl_parent_dependency":{"h":58,"l":0.1,"s":1.19}},"e8f70":{"val":"rgb(235, 243, 246)","hsl_parent_dependency":{"h":11,"l":0.94,"s":0.37}}},"gradients":[]},"original":{"colors":{"82d19":{"val":"rgb(55, 179, 233)","hsl":{"h":198,"s":0.8,"l":0.56,"a":1}},"525ed":{"val":"rgb(2, 0, 52)","hsl_parent_dependency":{"h":242,"s":1,"l":0.1,"a":1}},"e8f70":{"val":"rgb(235, 243, 246)","hsl_parent_dependency":{"h":196,"s":0.37,"l":0.94,"a":1}}},"gradients":[]}}]}__CONFIG_colors_palette__

Want to Become an Android Developer?

This book will make you one!

Pronto Android is a comprehensive training to teach you native Android development with Kotlin from beginner to professional. You will learn how to create 10 beautiful Android apps for phones and tablets even if you have ZERO programming experience.

Pronto Android Book

What you will learn ...

  • Solid grasp of Android Development fundamentals, modern tools, design patterns and best practices.
  • Solid grasp of Kotlin Programming language for Android.
  • Learn how to take app ideas from concept to beautifully designed, professionally developed, tested app and publish to the Google Play store.
  • Skills to apply for Junior Android Developer positions, work remotely as a freelancer or develop and publish your own apps.

Special Offer! Pre Order Now and get a 30% Discount! - $79

Here’s are the Apps You will Create...

Study and practice remains the best way to learn programming. In this book you will complete 10 modern Android apps following a step by step tutorial spread over 100 days. Most importantly you will learn the "why" behind each component, library, design pattern and approach used. This book is currently in progress and when completed below are the Android apps that you will complete.

(1) Pronto Resume App

This is your own resume app. This Resume app allows you to showcase the list of apps that you have built. As you go through the book you will to this list as you complete the other apps we will be creating.

This is a perfect introduction to Android development because it involves little to no code but yet touches on most of the core concepts of Android to prepare you for more of the topics that we would be learning later.

You will learn how to work with:

  • Intents
  • Fragments
  • Layout Editor
  • Constraint Layout
  • Bottom Navigation
  • Create New Android Studio Project

(2) Pronto Tic Tac Toe App

Pronto Tic Tac Toe App

Learn to create the classic Tic Tac Toe App. This is a simple two-player game. A player who succeeds in placing three specific checkmarks in a horizontal, vertical, or diagonal row wins. This is a perfect app to learn core Kotlin programming such as functions, variables, control flow, etc.

This app is presented with beginner level tutorial and will help you lay a strong foundation for learning Android development

You will learn how to work with:

  • Activity
  • Drawables
  • Data Types
  • Control Flow
  • Preference Datastore
  • Android SoftKeyboard

(3) Pronto Notepad App

Pronto Notepad App

Developing a Notepad app is the right of passage for many Android developers - for good reason! It is relatively easy to go from a new Project to a relatively functioning app. But do not let the appearance of simplicity deceive you, developing a feature-rich Notepad app will teach you solid Android development skills that will help you throughout the book and your career.

This app allows users to add unlimited notes/journals and categories. Each note is assigned to a category. Users can add an image to a note.

You will learn how to work with:

  • Fragments
  • ViewModel
  • Layout Editor
  • RecyclerView
  • Room Database
  • Architecture Components


(4) Pronto Quotes App

Pronto Quotes App Screenshot

Pronto Quotes is a daily motivational quotes app. There are thousands of inspirational quotes and you can add more. Use these quotes as daily affirmations and also to help motivate other for their self-improvement. This app introduces you to Firebase tooling so you should have or create a Firebase account.

Developing this app will re-affirm the concepts you have learned so far while introducing you to new concepts such as LiveData builder, Coroutine Flows, Proto DataStore, and more.

You will learn how to work with:

  • Pagination
  • Navigation Drawer
  • Firebase Cloud Firestore
  • JetPack Proto DataStore
  • Advanced User Interface
  • Firebase Authentication


(5) Pronto Task App

Pronto Task Screenshot

Todo List Apps are the most common app used to learn programming skills, no other app come close. By completing this app you will learn the skills to build any reminder-based app including shopping list, Todo list, Note reminder, voice reminder, medicine reminder, drink water reminder, pills reminder, etc.

This simple app touches on a number of common Android development concepts.

You will learn how to work with:

  • Notification
  • Date and Time
  • Data Relationships
  • Recurring Reminder
  • LiveData and ViewModels
  • Schedule Task with Work Manager


(6) Pronto Draw App

Pronto Draw App Screenshot

Learn how to create an Android Drawing App. This app will allow users to:

  • Draw on a blank canvas (whiteboard).
  • Erase what has been drawn.
  • Redo/Undo drawing paths.
  • Draw using a color of their choice.
  • Capture and share a screenshot.
  • Set the thickness of the drawing tool.
  • And more...

You will learn how to work with:

  • Colors
  • Canvas
  • Bitmap
  • Touch Events
  • Motion Events
  • Custom Toolbar
  • Android Share Intent


(7) Pronto Movie List App

Pronto Movies List App

For this app, we would develop a popular movie listing app that uses REST API to fetch the movies from TheMoviedb.org. The app will show a list of movie posters and allow users to click on a movie poster to see the details. The app will display movie ratings, overview, cast, crew, and genre.

Users will be able to browse through movie categories and create a list of favorites, watched, and want to watch.

You will learn how to work with:

  • Glide
  • Images
  • Retrofit
  • REST API
  • Advanced RecyclerView
  • OOP - Classes, Interfaces, more


(8) Pronto Weather App

Pronto Weather App Screenshot

Developing a weather forecast app is an ideal app to learn Android development because it integrates and re-enforces the concepts you have been learning so far. This app gives users daily, weekly, and 14 days of weather conditions including humidity, visibility, rain precipitation, and sunrise.

It supports multi-city and different colors for different weather. We will use REST API to fetch the data from Open Weather. There could be costs associated with Open Weather's API usage. You can find out from http://openweathermap.org/price

You will learn how to work with:

  • JSON
  • Retrofit
  • ViewPager
  • REST API
  • Room Database
  • Constraint Layout
  • Android Runtime Permission
  • LifeCycle, ViewModel & LiveData


(9) Pronto Cart App

Pronto Cart App Screenshot

Pronto Cart is an Android shopping cart app that allows users to easily add items to a cart and checkout. Developing this app will give you the foundational skills to build full featured apps such as eCommerce apps, Invoice apps, and other transactional apps. This app uses simple cash checkout because implementing a real payment solution is beyond the scope of this tutorial app.

This app allows users to add products, customers, and company information which will be used to generate and send an Invoice

You will learn how to work with:

  • LiveData
  • Data Binding
  • Room Database
  • Navigation Component
  • RecyclerView Adapter
  • Generating PDF on Android


(10) Pronto Attendance App

Pronto Attendance App Screens

Pronto Cart is an Android shopping cart app that allows users to easily add items to a cart and checkout. Developing this app will give you the foundational skills to build full featured apps such as eCommerce apps, Invoice apps, and other transactional apps. This app uses simple cash checkout because implementing a real payment solution is beyond the scope of this tutorial app.

This app allows users to add products, customers, and company information which will be used to generate and send an Invoice

You will learn how to work with:

  • Dynamic String
  • Device Synching
  • Biometric API
  • Geolocation API
  • Realtime Database
  • Google Play Developer Console


Special Offer! Pre Order Now and get a 30% Discount! - $79

Best Beginner Android Development Training

This is the best beginner Android development book you will find online. I know that is a bold claim so I stand to be corrected. The truth is,  Android development and programming, in general, is hard. What's even harder is learning to code in the first place. There is a seemingly endless amount of fundamental programming knowledge and concept to grasp before you even begin. As important as these fundamental knowledge are, it turns out no one gets paid for learning the fundamentals, you get paid for creating apps, for solving problems with this knowledge.

The challenge then in learning programming is how do you transition from learning the fundamentals to being a productive developer that is valuable in the marketplace. This is where many beginner programming books and courses fail. They either spend too much time teaching the fundamentals and bore the reader to death or they jump quickly into advanced concepts and make programming appear harder than it seems.

My approach is that beginner Android developers should hit the ground walking! If you hit the ground standing (just learning the fundamentals) you will be overwhelmed with too much head knowledge and could be discouraged. If you hit the ground running (jump into writing code) you could become a delusional programmer always struggling with the how never understanding the why.

Pronto Android is designed to help you make the transition from novice to proficient Android developer in 100 days. You will learn the basics of Object-Oriented Programming, along with a gradual introduction to Kotlin. With examples, you will be introduced to fundamental Android development concepts beginning from Activity, Fragment, Intents, and how your app interacts with other apps and services. 

From the beginning, you will start following modern Android development best practices using Android Architecture components such as LiveData, ViewModels, DataStore, Room Database to name a few. This training includes extensive hands-on experience using numerous Firebase components such as Authentication, Cloud Firestore, Storage, and others.

Become A Developer - One App A Week!

Learn by doing. Learn the fundamentals, the best practices and more importantly, write code.

1

Week 1: So You Want to Learn Android Development?

The first week will be focused on understanding the lay of the land in the world of Android development. You will learn about the tools, the terminologies, some historical context, and the structure of the training. You will get introduced to Android Studio the swiss army tool of Android development and you will create your first Android project.

  • Day 1 - Getting Started with Android Development
  • Day 2 - Introduction to Android Studio
  • Day 3 - Understanding Android Activity
  • Day 4 - Understanding Android Fragment
  • Day 5 - Understanding Intent & Services
  • Day 6 - Dialogs, Alert Dialogs & Dialog Fragments
  • Day 7 - Android Studio Deep Dive
2

Week 2: Understand Android User Interface

A solid understanding of the Android User Interface (UI) is essential to a successful career in Android development regardless of whether you want to work in the service layer or backend. This week, the focus is on understanding the basics and working with core Android UI components. The UI represents the app for the user, so it makes sense that you start by learning how to create dynamic, adaptive beautiful UI.

  • Day 8 - Intro to Android Layout, XML, & Layout Editor
  • Day 9 - Understanding Android View 
  • Day 10 - Working with Constraint Layout
  • Day 11 - Working with LinearLayout and Relative Layout
  • Day 12 - Working with Android Resource Files
  • Day 13 - Working with Buttons and Widgets
  • Day 14 - Working with App Bar and Toolbar
3

Week 3: Still Want to Learn Android Development?

Just checking, you still want to do this? Because from this week it will start to get real. Yet more terminologies and abstract concepts to learn. You will learn about Intent which is an Android unique mechanism to string together features from other apps and services to create a coherent user experience. You will learn about Manifest which is how apps announce their capabilities to Android. You will create the first featured app of the training - Pronto Resume which is a simple resume app to showcase your work.

  • Day 15 - Introduction to Material Design
  • Day 16 - Working with RecyclerView  
  • Day 17 - We may use ViewPager and/or CardView
  • Day 18 -Understanding Notification 
  • Day 19 - Understanding Manifest and Intro to Gradle
  • Day 20 - Working with Android Permission
  • Day 21 - Complete Pronto Resume App
4

Week 4: Just Enough Kotlin

Kotlin is the official programming language for Android development and this training is based on Kotlin. This week we will be covering just enough Kotlin to get you started. While the remainder of the training is about learning Android development, in a sense it is also learning Kotlin. If you have the time-bandwidth or the need to learn standalone Kotlin first, by all means, step back and go and learn Kotlin and come back. But if you believe that you are capable of multi-tasking, or have a need to learn Android development in the short term, then follow along, you will learn Android development while greatly expanding your knowledge of Kotlin in the weeks to come.

  • Day 22 - Introduction to Object-Oriented Programming
  • Day 23 - Introduction to Kotlin for Android Development 
  • Day 24 - Understanding Kotlin Data Types, Variables & Constants
  • Day 25 - Conditionals and Decision Making
  • Day 26 - Functions and Classes
  • Day 27 - Null Safety and Exception
  • Day 28 - Create Tic Tac Toe App
5

Week 5: Up to Speed with Android JetPack

Congrats! You are learning Android development when the tools are getting better, more stable, and some could argue easier. There is a component or library for the most common development use cases. Jetpack is a collection of modern Android development tools from Google. That list is extensive and growing. This week, we will learn how to work with some JetPack components such as the Architecture Component’s of LiveData, ViewModel  Data Binding, Navigation Component, and Dependency Injection with Hilt.

  • Day 29 - Understanding Android App Architecture 
  • Day 30 - Working with DataBinding 
  • Day 31 - Working with Navigation Component
  • Day 32 - Working with LiveData
  • Day 33 - Working with ViewModel
  • Day 34 - Introduction to Dependency Injection with Hilt
  • Day 35 - Working with Kotlin Android Extension (KTX)
6

Week 6: Data Persistence in Android

Working with user’s data is a common task in Android development. Simple user data are saved as preferences using something called SharedPreference, this has recently been replaced with JetPack DataStore. More involved user and app data are saved in database. This week you will learn how to differentiate which data should be saved as preferences and which ones should be saved on database and how. You will use that knowledge to create a Notepad app that saves data to Room Database

  • Day 36 - Working with Preference DataStore
  • Day 37 - Working with Proto DataStore 
  • Day 38 - Introduction to Relational Database
  • Day 39 - Introduction to SQLite Database
  • Day 40 - Introduction to Room Database
  • Day 41 - Create Pronto Notepad App
  • Day 42 - Complete Pronto Notepad App
7

Week 7: A Peak into Firebase Universe

Firebase has gone from a nice to have developer tool to an essential set of mobile app development tools. The increasing array of product offerings and the easy-to-use SDKs and extensive documentation make Firebase Mobile Platform indispensable for modern app development. Moreover, given the deep dedication that the Firebase team is demonstrating to the platform, one can only expect that Firebase will only continue to get bigger, better, and more user friendly.

  • Day 43 - Working with Firebase Authentication
  • Day 44 - Working with Firebase RealTime Database 
  • Day 45 - Introduction to Firebase Cloud Firestore
  • Day 46 - Working with Firebase Cloud Firestore
  • Day 47 - Working with Firebase Cloud Storage
  • Day 48 - Working with Firebase Cloud Messaging
  • Day 49 - Working with Firebase Cloud Functions
8

Week 8: You Are Getting There!

This week, we will create a Todo List and Motivational Quotes app to reinforce the skills you have been learning. We have covered quite a few concepts and topics that should have given you a better understanding of what it takes to create an Android app. Study and practice remain the best way to learn how to program, so please ensure that you are following and writing the code for all these apps we are building. Your career as an Android developer involves writing code - lots of it, so let’s keep coding.

  • Day 50 - Create Pronto Task App
  • Day 51 - Continue Work on Pronto Task App 
  • Day 52 - Complete Pronto Task App
  • Day 53 - Create Pronto Quotes App
  • Day 54 - Continue Work on Pronto Quotes App
  • Day 55 - Complete Pronto Quotes App
  • Day 56 - Introduction to Android App Publishing
9

Week 9: Real World Android Development

This week we will work with some components that tend to generate frustrations in real world Android development such as dealing with Runtime permission which was introduced in Android Marshmallow. Others include the Android Files System which has remained some sort of a moving target. We will also look at the approach and nuance of developing for different screen sizes and complete the week with developing an Android drawing app.

  • Day 57 - Understanding Android Runtime Permission
  • Day 58 - Working with Android File System 
  • Day 59 - Working with different Screen Sizes
  • Day 60 - Working with Image, Audio & Video
  • Day 61 - Introduction to Android Custom View
  • Day 62 - Create Pronto Draw App
  • Day 63 - Complete Pronto Draw App
10

Week 10: Interacting with the Outside World

At some point your app may need services and data provided by external services to enhance the user experience of your app. The industry standard way of consuming resources provided by other services is through REST API. This week we will begin to learn about this important concept. REST & API is a huge and very important concept, and as you can imagine could be challenging. There are tools and libraries to help you with working with REST such as Retrofit which we will work with this week.

  • Day 64 - Understanding Threading in Android
  • Day 65 - Introduction to REST & API 
  • Day 66 - Introduction to Retrofit
  • Day 67 - Working with Retrofit
  • Day 68 - Understanding Jetpack WorkManager
  • Day 69 - Create Pronto Movie List App
  • Day 70 - Complete Pronto Movie List
11

Week 11: You've Got This By Now

Among other things, you will have noticed that things don’t always work as expected. Library versions change, requirements change, and there are human omissions which testers call bug. Part of your job therefore will require constant review and refactor and that is among the topics we will learn this week as well as continue to write more code. An app is not an app until it is released. You ‘ve got to get it out there at some point and we will look into that this week as well.

  • Day 71 - Create Pronto Quiz App
  • Day 72 - Continue Working on Pronto Quiz App 
  • Day 73 - Complete Pronto Quiz App
  • Day 74 - Review, Refactor, and Release
  • Day 75 - Create Pronto Weather App
  • Day 76 - Working with Pronto Weather App
  • Day 77 - Complete Pronto Weather App
12

Week 12: Working with Android App Testing

Testing your app helps detect defects earlier and increases the quality of the app. There are different types of Android app testing, this week we will look at these types of test and examine where each makes most sense. If you think that writing code is hard, try writing Android test. Some developers consider writing Android test and the testing process as less exciting as writing implementation code. This week’s goals is to help you understand the need for testing and hopefully help you embrace testing as you launch your Android development career.

  • Day 78 - Overview of Testing in Android
  • Day 79 - Introduction to Unit Testing in Android 
  • Day 80 - Working with Unit Testing in Android
  • Day 81 - Introduction to Android UI Testing with Espresso
  • Day 82 - Working with Android UI Testing with Espresso
  • Day 83 - Working with Robolectric
  • Day 84 - Introduction to Firebase Test Lab
13

Week 13: Mastering Professional Android Development Tools

You cannot do professional Android development without a working knowledge of source control mostly Git. This week we will learn how to work with Git both the command line and the GUI tool. We will also look at ADB which an important tool for working with Android. We will also look at profiling our Android app and handling exceptions and crashes.

  • Day 85 - Introduction to Source Control with Git
  • Day 86 - Working with Command-Line Git & Android VCS 
  • Day 87 - Working with Android Debug Bridge (ADB)
  • Day 88 - Logcat, Exceptions, and Crashlytics
  • Day 89 - Working with Android Profiler
  • Day 90 - Working with Android Gradle Plugin
  • Day 91 - Create Pronto Cart App
14

Week 14: You are an Android Developer

You are now an Android Developer, at least it feels like it. This week we will develop a Time and Attendance app which is the last feature app in the training. We will revisit design patterns and look at Clean Architecture and how it applies to Android development. We will get more familiar with working with Google Developer console.

  • Day 92 - Complete Pronto Cart App
  • Day 93 - Revisiting Design Patterns
  • Day 94 - Understanding Clean Architecture in Android
  • Day 95 -Working with Google Developer Console
  • Day 96 - Create Pronto Attendance App
  • Day 97 - Continue Work on Pronto Attendance App
  • Day 98 - Complete Work on Pronto Attendance App
15

Week 15: Real World Geek Out

Now that you know how to take an app from idea to a published app, what are going to do with this super power. Look for a job?, launch you own startup? or strike out as a freelancer. The choice is yours. If you get stuck, or need more help we would be right here at your laptop waiting for you. You can find us at StackOverflow, Github or other forums. Remember if you read the documentation, you may not get stuck in the first place, this half week is about the trade of coding in the real world. Good luck!

  • Day 99 - Github, StackOverflow, and Getting Unstuck
  • Day 100 - The business of App Development
  • Day 101 - Believe it or not, You are on Your Own

About the Author

Val Okafor

Val Okafor is a San Diego, CA based Senior Software Engineer with extensive experience developing Android application for enterprises, startups and his own projects. Val obtained his Masters degree in Software Engineering from Regis University. Val has worked for corporations such as Insulet Corporation, Sony Electronics and HD Supply. 

I have written this book as the training I wish I had when I started. I will take you through an engaging step-by-step tutorial and help you build a strong foundation upon which you can build a successful Android app development career. I have built mobile apps for enterprises, startups, and published a few of my side project apps. I thoroughly enjoy sharing my knowledge, it is my hope to help make your transition to a professional Android developer easier.

Pre-Order the Book - $79 $59

Want to Upgrade Your Career?

100 Days of Step by Step Tutorial.

10 Complete Android App Source Code.

Support via Github

30 Days Money Back Guarantee

If, for any reason, you feel like this book will not help you become an Android developer, you can get a full refund anytime within 30 days after your purchase. If you have any issues,  simply open a Github issue and I will either help you out until you get the results you need or give you a swift refund.

30 Days


MONEY BACK GUARANTEE

FAQ:

Frequently Asked Questions 

Is there an accompanying Source code for this book?

When will the full book be complete?

Will there be a video course for this book?

Where is this book available?

What kind of support is provided for this book?

Who is the target audience for this book?