Your Programming Careers Questions Answered
Access to Programming Career Q&A
FAQ: Templates in Android Studio 3.6 and later
More on Android Templates
Setting Up a Virtual Device
FAQ: Emulators on Windows 10 with AMD processor
Running on a physical Android device
FAQ for Android Studio 3.3
More on Variables and Types
String Concatenation and Interpolation
val and var and more on Declarations
for Encapsulation and Private Properties
Inner Lines within a Widget
Layouts on Different Devices
Layout Designer rendering error
FAQ: Baseline Constraints change
Add Scrolling Capabilities
Coding Button Counter App
Events and setonclicklistener
Testing and Challenge Time
Fixing Kotlin Gradle Issues
Logging the Activity Lifecycle
Activity Lifecycle in Action
Saving and Restoring Instance State
Calculator Interface Setup
Comparing FIles with Diff
Write Perform Operation Function
Bug Fix and Code Improvements
Bug Fix Challlenge and Save State
Widget References in Kotlin
Code Changes for Neg Button
Add Neg Button to Portrait
Log Tag and Companion Objects
Kotlin top-level constants
Download JSON - doInBackground
Project Diagram and Photo Class
GetFlickrJsonData class continued
Flickr Browser User Inferface
Search and PhotoDetail Activities
onBindViewHolder and Picasso
Associate Adapter to Recyclerview
RecyclerItemClickListener
Displaying the full photo
Modify Photo Details Activity
Update for later version of Kotlin
AppCompat - Backwards Compatibility
Other Material Design Changes
Missing Style Editor video
Differences in API Levels
String Resources Placeholders
Adding the Search Feature
Deprecation of framework PreferenceManager class
Introduction to Databases
Command Line and Path Setup for Windows
Command Line and Path Setup for Mac
Command Line and Path Setup for Ubuntu Linux
Housekeeping and Challenge
Create Table Add Data and Test
Contact Provider App Layout
ContentResolver and Abstraction
Retrieving Data with a ContentResolver
Checking Permissions at Runtime
Avoiding Crashes Snackbars and a Challenge
Test Scripts Challenge and Cleanup
The TaskTimer Application
Create SQL for Tasks Table
Singleton AppDatabase Class
FAQ: context in a ContentProvider
Register the ContentProvider
Using appendWhereEscapeString
Mime Types in the Content Provider
Testing Insert and Update
Testing Bulk Update and Delete
Task List Items Constraints
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
Completing the AddEdit UI
Updating Android Studio Kotlin and Gradle
Fixing New Kotlin Warnings
RecyclerView CursorAdapter
Subscribe to The ViewModel
Notifications and Observers
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
Sharing ViewModel Instances
Adding a Dialog to The App
Confirming Exit Without Saving
Implementing the Interface
Kotlin Extension Functions
Create an About Dialog the Layout Part 1
Create an About Dialog the Layout Part 2
Displaying the About Dialog
Versioning and build.gradle
Supporting Older Versions
Compatibility Challenge Solution Part 1
Compatibility Challenge Solution Part 2
Adding the view to the Database
Adding the view to the ContentProvider
Testing the Database Upgrade
Finishing the reports layouts - challenge
The Durations Report Activity
Testing Different Locales
Creating the reports ViewModel
Using the DurationsViewModel
Vector Drawables and Asset Studio
Report Menu Code - day/week toggle
Filtering in the DurationsViewModel
Testing the Report Filters
Deleting old Timings data
Observing the cursor in the ViewModel
Observing a Configuration Change
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
Plugin and Library Versions
Code Review - The AppProvider Class
Code Review - CursorRecyclerViewAdapter DurationsReport and the ViewModels
Code Review - MainActivity and the Contract classes
Improvements to coroutines in a ViewModel
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 - Deleting a task that's being timed
Adding the Parameters Table
Using the Parameterised View in our ViewModels