In this short article, I will attempt to reduce the net sum of confusion which I see from junior and intermediate developers on the purpose of Single Activity Architecture.
This video is a free preview from my Java course which contains just about everything I wish I was taught as a beginner Android and Java developer. In this lesson, I answer the most common question that I get on my livestreams. What is the best software architecture? Is it MVC, MVP, MVVM, or even MVI? The answer is actually simple, but will almost definitely surprise you.
This course contains everything I wish I had been taught as a beginner to writing programs in Java. I have carefully constructed it follow follow a logical progression, where we start with the most fundamentals questions and ideas which any new programmer should be familiar with.
I had a number of requests on how to solve similar problems with Android RecyclerViews either having NullPointerExceptions, or just not properly displaying data. In this video, I use the Android RecyclerView as an example, but I give you a general process for how to use tools like the Debugger to solve any kind of bug, exception, or unexpected behaviour.
In this article, Ryan M. Kay discusses three core concepts in OOP in the least ambiguous terms so that you may never again wonder when to use inheritance, interfaces, or abstract classes. Code examples provided are in Java with some references to Android, but only basic knowledge of Java is required to follow along.
In this video, I walk you through this process using modern features of Android Studio and Google Play, including code minification with R8 (we used to use Proguard), App Signing By Google Play, and the Upload App Bundle Feature. I also show you how to set up a Keystore, sign your App, publish an Alpha release for testing, and finally to upgrade that Alpha release to a full release.
In this comprehensive, 3.5 hour long tutorial (with timestamps), I take you through building the majority of a full stack android application which uses Firebase, Room, Navigation, LiveData, and Kotlin Coroutines.
As with many other topics in software development, testing and test driven development are often made needlessly complex. In this article, we will revisit what testing means by a simple analogy, explore concepts in software architecture which reduce the need for testing frameworks, and why that might be a good approach to use.
The purpose of this article is not to claim that MVVM is a bad architecture. Rather, I wish to highlight some of the reasons why I think it leads to confusion among many developers, along with some practical information on how to deal with the awkward separation of concerns that this pattern can present.
The goal of this video is to show you the actual way that I go about building and refactoring my applications. TDD is a process which allows you to design better applications, catch bugs faster, and literally prove your application works!