- Introduction
- The Udemy Interface
- Introduction to Android
- FAQ
Android App Development Masterclass using Kotlin
Master the skills of Android application development using Kotlin programming to boost your professional careers as ...Read more
Online
₹ 3299
Quick Facts
particular | details | |||
---|---|---|---|---|
Medium of instructions
English
|
Mode of learning
Self study
|
Mode of Delivery
Video and Text Based
|
Course overview
Android App Development Masterclass using Kotlin online certification is created by Tim Buchalka - Java, Python, Android, and C# Expert Developer, Jean-Paul Roberts - Computer programmer, analyst, &teacher, Tim Buchalka's Learn Programming Academy and David Reidy - Developer of UCare and offered by Udemy which is aimed toward students who want to leverage the strength of Android app development, and obtain the skills to dramatically increase their career prospects as application developers.
Android App Development Masterclass using Kotlin online classes seek to educate the approaches for building code for Android that works with both the current and previous versions of Android by utilizing the AppCompat library. The Android App Development Masterclass using Kotlin online course includes a variety of topics meant to help students understand each concept presented, as well as 62 hours of pre-recorded video lectures, 18 articles, and 2 downloadable resources.
The highlights
- Certificate of completion
- Self-paced course
- English videos with multi-language subtitles
- 62 hours of pre-recorded video content
- 18 articles
- 2 downloadable resources
- 30-day money-back guarantee
- Unlimited access
- Accessible on mobile devices and TV
Program offerings
- Certificate of completion
- Self-paced course
- English videos with multi-language subtitles
- 62 hours of pre-recorded video content
- 18 articles
- 2 downloadable resources
- Unlimited access
- Accessible on mobile devices and tv
Course and certificate fees
Fees information
certificate availability
Yes
certificate providing authority
Udemy
Who it is for
What you will learn
After completing the Android App Development Masterclass using Kotlin certification course, students will gain an insight into the concepts of Android application development. Students will explore the principles and functions of the Kotlin programming language. When building programming for their applications, students will learn how to address existing and older versions of Android. Students will also learn about dialog setup approaches.
The syllabus
Introduction and Course Information
Downloading and Installing the Necessary Tools
- Windows - Install Android Studio
- Mac - Install Android Studio
- Linux - Install Android Studio
- Configure Android SDK on all Three Platforms
- Android Studio Settings
- Enable VT-X in BIOS
Hello World Android App
- Your Programming Careers Questions Answered
- Access to Programming Career Q&A
- Introduction
- Android Studio Templates
- FAQ: Templates in Android Studio 3.6 and later
- 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 Concentration 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
- FAQ: Baseline Constraints change
- 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 higher) 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
- Update for later version of Kotlin
- 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
- Deprecation of framework PreferenceManager class
- 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
- FAQ: Changes to the Lifecycle Components library
- 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
- Creating a Fragment
- Tasks Contract Class
- AppDatabase Class
- Create SQL for Tasks Table
- Singleton AppDatabase Class
- onUpgrade and Testing
- The ContentProvider
- FAQ: context in a 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
- Introducing David Reidy
- Tricky String Resources
- The ViewModel Class
- Subscribe to The ViewModel
- Notifications and Observers
- Responding to Taps
- onClick Listeners, Interfaces and Callbacks
- Responding to Clicks from the Adapter
- Solution to The Interface Challenge
- Deleting a Task from The Database
- Accessing a Database on a Background Thread
- Background Processing Using a Coroutine
- Clean Up AddEditFragment
- Saving in The ViewModel
- Sharing ViewModel Instances
Dialogs
- AndroidX
- Introduction to Dialogs
- AppDialog Class Part 1
- AppDialog Class Part 2
- Adding a Dialog to The App
- Dialog CallBacks
- Asserts and BuildConfig
- Strange Dialog Behavior
- Confirming Exit Without Saving
- Implementing the Interface
- Kotlin Extension Functions
- Image Asset Studio
- Create an About Dialog the Layout Part 1
- Create an About Dialog the Layout Part 2
- Displaying the About Dialog
- Versioning and build.gradle
- Dismissing the Dialogue
- Supporting Older Versions
- Compatibility Challenge Solution Part 1
- Compatibility Challenge Solution Part 2
Settings Dialog
- Introduction
- Settings Dialog Layout
- Settings Dialog
- DefaultSharedPreferences
- SeekBar Values
- Quantity String Resources
- Setting Dialog Title
- Retain Instance State
Multiple Tables and Database Upgrades
- Introduction
- A Correction and the Device File Explorer
- Database Updates
- Saving the Timing Data
- The saveTiming Function
- Testing Timings
- Providing Feedback
- Correction to the Providing Feedback lecture
- Data Loss
- Storing the Current Timing Records
- Solution - Retrieving the Current Time Record
- Solution Continued
- Finish Solution and Test
- When the Battery Dies
Reports
- Creating Test Data
- Generating the Test Data
- Debug and Release Builds
- Using a SQLite view
- Adding the view to the Database
- Adding the view to the ContentProvider
- Testing the Database Upgrade
- ConstraintLayout Chains
- Chain Types
- Finishing the reports layouts - challenge
- The Landscape Layouts
- The Report Adapter
- The Durations Report Activity
- Testing Different Locales
- Creating the reports ViewModel
- Using the DurationsViewModel
- Sorting the Report Data
- Vector Drawables and Asset Studio
- The Report Menu
- Report Menu Code - day/week toggle
- The DatePickerDialog
- Filtering by Date
- Filtering in the DurationsViewModel
- Testing the Report Filters
- Unbuggy DatePickerDialog
- Deleting old Timings data
- Testing Mass Deletion
- Observing the cursor in the ViewModel
- A Minor Bug
- Observing a Configuration Change
- Testing the Bug Fix
- Using the First Day Of Week Setting
- Taking Advantage of Later Features
- Testing the new DatePickerFragment
- Observing SharedPreference changes
- Solution to Ignore Short Timings Challenge
Tidying up
- Introduction
- Plugin and Library Versions
- Code Review
- Code Review - The AppProvider Class
- Code Review - CursorRecyclerViewAdapter, DurationsReport, and the ViewModels
- Code Review - MainActivity and the Contract classes
- Kotlin and ViewModels
- Another Breaking Change
- Improvements to coroutines in a ViewModel
- Dispatchers
- Coroutines Don’t Block
- Bug Fixes and Ideas for Improvements
- Prevent Deletion of Edited Task
- Implementing Delete by Swiping - Part 1
- Implementing Delete by Swiping - Part 2
- Implementing Delete by Swiping - Part 3
- Challenge - Bug Fix
- Challenge - Deleting a task that's being timed
- Parameterised Queries
- Adding the Parameters Table
- Using the Parameterised View in our ViewModels
- Refreshing the Report
- Collation
Extra Information - Source code, and other stuff
- Source Code
- Bonus Lecture and Information