Android Architecture(MVC, MVP and MVVM)

Android Architecture(MVC, MVP and MVVM)

To make our Android application easy to extend, modify, refactor, test or even just read it, the architecture of the application is very important. For sure we can’t have a single class MainApplication or MainActivity and put everything inside, it will be a nightmare to just read the code and understand. There are three main architectures to use in Android to build our application and gives us power to do all operations we mentioned above: Model-View-Controller(MVC), Model-View-PResenter(MVP) and Model-View-VIewModel(MVVM). Let’s talk about them one by one.

Read More
Android SDK Version

Android SDK Version

In Android development, I’m always confused about the properties in build.gradle like compileSdkVersion, targetSdkVersion, minSdkVersion etc. To end up this confusion and make it clear, after I read offical Google docuement and some posts, here is a short conclusion to explain each of them and compare the diff.

Read More
Java Relection

Java Relection

Java Reflection is a process of examining the runtime behavior of a class. This feature is also known as dynamic programming since all attributes, interfaces, constructors, fields and methods of a class can be inspecting and verifying during runtime. Futhurmore, we can instantiate new objects, invoke methods, and get or set field values using reflection as well. So let’s see what is reflection and how to use it in this post.

Read More
Lambda Expression Basic

Lambda Expression Basic

Lambda Expression is a very useful tool and it makes the code concise and elegant. It’s not a very hard concept to understand but still need some kind of conclusion or summary. So in this post I will have a brief introduction on what is lambda expression with several examples how to use it. My example are using Kotlin lanuage, but it has the same pattern or other languages like Java and C++.

Read More
ClearArchitecture - Architecture

ClearArchitecture - Architecture

After we known all principles in class level and component level, finally we reached Architecutre level. In this post, we will summarize all architecture level knowedge concepts quickly and finish this book for now, this book has much more useful stuffs that we are not covered, so we will come back and revisit someday after we have more understanding about software architecture.

Read More
clearArchitecture - Desgin Principles & Component Principles
Clear Architecture - Programming Paradigms & Design Principles

Clear Architecture - Programming Paradigms & Design Principles

Clean Architecture is one of the series book that written by “Uncle Bob”. In last post, I writed a summary of the Clean Code. It is super useful for begineers. But as we going deeper, we need take a step back and see the “big picture” – software architecture, which is all this book talk about.

Read More
Clean Code Summary

Clean Code Summary

Recently I read this book written by Robert C. Martin also known as “Uncle Bob”. In this book it talked about general coding principles to make your code “clean“ and easy to understand. And here is some useful tips and summaries I extracted.

Read More
Dependency Injection

Dependency Injection

Dependency Injection is a huge topic in Android development and it’s very important because it can give us a clean, well-designed, easy-to-change environment no matter we develop new features or implement any testing. So here is some thoughts about DI and an useful framework which helps you do all dirty jobs behind the scene.

Read More