Categories

There are currently no items in your shopping cart.

User Panel

Forgot your password?.

Android App Development Masterclass using Kotlin

Video Introducing this tutorial


Introduction and Course Information :
Introduction
The Udemy Interface
Introduction to Android
FAQ

Downloading and Installing the Necessary Tools :
Windows - Install Android Studio
Do you need to download the Java development Kit?
Java Development Kit for Windows (32Bit Users Only!)
Mac - Install Android Studio
Linux - Install Android Studio
Java Development Kit for Linux (32Bit Users Only!)
Configure Android SDK on all Three Platforms
SDK Configuration Continued
Enable VT-X in BIOS

Hello World Android App :
Introduction
Android Studio Templates
More on Android Templates
Hello World
Tour of Android Studio
Setting Up a Virtual Device
FAQ: Emulators on Windows 10 with AMD processor
Running on an emulator
Running on a physical Android device

Kotlin Tutorials :
FAQ for Android Studio 3.3
Kotlin Tutorial Setup
Kotlin Tutorial 1
Variables and Types
More on Variables and Types
String Concatenation and Interpolation
val and var and more on Declarations
Conditions
Classes
Objects and Instances
Challenge
Lists
More on Lists
toString Challenge
for Loops
for Encapsulation and Private Properties
Overloading Functions
Inheritance
More on Inheritance
Inheritance Continued
Further Inheritance
while Loops
for Loop Revisited
do while Loop
Loop Challenge

The Button Counter App :
Introduction
Setup Play Project
The Constraint Layout
Constraints and Resizing
Positioning Widgets
Inner Lines within a Widget
Layouts on Different Devices
More on the Constraints
Layout Designer rendering error
Baseline Constraints
Constraining Widgets
Add Scrolling Capabilities
The Button Counter App
Finish Layout
Coding Button Counter App
findViewById and r Class
Events and setonclicklistener
Testing and Challenge Time
Extending the Button App
Testing and Challenge
Fixing Kotlin Gradle Issues
The Activity Lifecycle
The Logcat Pane
Logging the Activity Lifecycle
Activity Lifecycle in Action
Saving and Restoring Instance State

Calculator App :
Demo Calculator App
Calculator Interface Setup
Continue with Interface
Fine Tuning the Layout
Create Landscape Layout
Comparing FIles with Diff
Comparing Directories
Coding the Calculator
Add onClickListeners
Write Perform Operation Function
Bug Fix and Code Improvements
Bug Fix Challlenge and Save State
Widget References in Kotlin
Guidelines
Fixing Landscape Layout
Add Neg Button to Layout
Code Changes for Neg Button
Add Neg Button to Portrait

The Top 10 Downloader App :
Introduction
AsyncTask
Logging and Logcat
Important note for API 28 and the Top 10 Downloader
Download the RSS Feed
Reading the Data
Android Permissions
Writing Idiomatic Kotlin
More Idiomatic Kotlin
Parsing the Data
Create Xml Parse Function
Testing the App
ListView and ArrayAdapter
Code Changes for Array Adapter
onDestroy and Asynctask
Create Custom Adapter
Custom Adapter Code
Improving the Adapter
ViewHolder Pattern
Adding a Menu - Layout
Adding A Menu - Code
Menu Groups - Layout
Menu Groups - Code
Challenge Solution

The YouTube app :
Setup
YouTube Activity
Adding Widgets Dynamically
Google API Key
Add Key to Code
The YouTube Player
onInitializationSuccess Method
Adding Listeners
Improving the Player
Extending App Layouts
Extending Youtube App Code
Implementing Intents and Challenge
Challenge Solution
More Error Handling

Flickr Browser App :
Introduction
Flick App and Feeds
Json and Mini challenge
Log Tag and Companion Objects
Kotlin top-level constants
Download JSON - doInBackground
Downloading the JSON
CallBacks
Project Diagram and Photo Class
GetFlickJsonData class
GetFlickrJsonData class continued
Uri Builder
Flickr Browser User Inferface
RecyclerView Layouts
Finishing Browse Layout
Search and PhotoDetail Activities
Nested Layouts
Recyclerview Adapter
onBindViewHolder and Picasso
Associate Adapter to Recyclerview
RecyclerItemClickListener
GestureDetector
Displaying the full photo
Serializable
Modify Photo Details Activity
Parcelable
Material Design
More on Material Design
AppCompat - Backwards Compatibility
Style Sheets
Custom Style Sheets
Namespaces
Other Material Design Changes
Missing Style Editor video
Differences in API Levels
String Resources
String Resources Placeholders
Adding the Search Feature
SearchView
More on SearchView
SearchView Events
SharedPreferences
Telling Fibs

Databases, the SQL Language and SQLite on Android :
Introduction
Introduction to Databases
Database Terminology
Command Line and Path Setup for Windows
Command Line and Path Setup for Mac
Command Line and Path Setup for Ubuntu Linux
Introduction to Sqlite
More SQL with Sqlite
Sqlite Querying Data
Order By and Joins
More Complex Joins
Wild Cards and Views
Housekeeping and Challenge
Basic SQL in Android
Create Table Add Data and Test
Cursor and Navigation
Correction
Android File System
Content Providers
Setting up the Emulators
Contact Provider App Layout
The ContactsContract
ContentResolver and Abstraction
Retrieving Data with a ContentResolver
Permissions
Checking Permissions at Runtime
Testing the App
Avoiding Crashes Snackbars and a Challenge
More on Snackbars
Intents, setData and Uris
Problems Storing State
Remove Saving of State
Test Scripts Challenge and Cleanup

ViewModel and LiveData :
Introduction
Androids ViewModel Class
Using a ViewModel
Finish ViewModel Changes
Exposing LiveData
Swapping the ViewModel
ViewModel with Top 10 Downloader
Implement ViewModel
Final Changes
App Testing

TaskTimer App :
The TaskTimer Application
Database Setup
Tasks Contract Class
AppDatabase Class
Create SQL for Tasks Table
Singleton AppDatabase Class
onUpgrade and Testing
The ContentProvider
uriMatcher
Updating Build Files
The Content URI
Register the ContentProvider
Using appendWhereEscapeString
Mime Types in the Content Provider
Content Provider Insert
Update and Delete
Testing Insert and Update
Testing Bulk Update and Delete
Main Menu UI
Task UI Layout
Task List Items Constraints
Add / Edit Layout
The Kotlin Data Class
The Add / Edit Fragment
Swapping Fragments
Multi-pane Fragments
Multi-pane Displays
Enabling Two-pane Mode
The Fragment Lifecycle Part 1
The Fragment Lifecycle Part 2
Logging the Fragment Lifecycle
Android SDK Gradle and Kotlin Updates
Up and Back Navigation for Fragments
Object can have More than One Type
Removing the Up Button
Back Navigation
Completing the AddEdit UI
Saving the Task Details
Test Saving
Updating Android Studio, Kotlin, and Gradle
Fixing New Kotlin Warnings
Layout Container
RecyclerView CursorAdapter

Bonus Material :
Bonus - Please Watch!
Check Out My Other 36 Udemy Courses!
Source Code