Work from home is not the same as remote work. That statement comes from someone he is working remotely for 8 years since I started doing first paid projects. I am writing this article since I think that a lot…
What is Android X? AndroidX is a major improvement to the original Support Library, which is no longer maintained. Actually, it replaces the support library with different package names, while all other classes, methods, and fields are still the…
Introduction When it comes to the decision where you need to choose your macro-architectural pattern for your application, then it usually ends by choosing one of the three most popular: Model View Controller (MVC) Model View Presenter (MVP) Model…
Introduction Today, I will share very quick and simple tip that could help you to improve your code. I am quite sure that you are using string comparasion quite often and that this tip could you help to avoid null pointer exceptions.…
Introduction Command is a behavioural design pattern which intent is to encapsulate all information about an action. It is commonly used when you need to issue requests without knowing what action will be performed or who is the receiver…
Introduction This is the first post in a five part series about object oriented design principles called SOLID. In Sofware engineering, there is an acronym called SOLID which represents five design principles which intent is writing software that is easier…
Why do we need software architecture? One of the most important questions that are raised during the development of a software projects is the economic benefit of software architecture. The question is commonly asked by business people, the owner…
UniversalPreferences is simple Android library that allows you to use Shared Preferences in an easy way. This library allows you to easily to store and retrive values from SharedPreferences without creating lots of boilerplate. Usage Add to your module’s…
Introduction The Factory Method pattern is one the most used design patterns. It is creational type of design pattern, so it is one of the best ways to create objects in any programming language. We will implement this pattern…
Introduction Facades are all around us in the real world. Light switch is one example – you can turn of or turn on lights, but you do not know what happens behind the walls, when you press that…
Two years ago I noticed that there is no a good modern looking Horoscope app in Google Play, so I decided to create an app in my free time. My goal was to create an app that will look good,…
Introduction The Builder Pattern is creational design pattern that encapsulate the construction of a product and allow it to be constructed in steps. I like to use Builder design pattern when an object has too many parameters. This pattern is…
Introduction The template method pattern is behavioral design pattern that defines the steps for an algorithm and allows sub-classes to provide custom implementation for one or more steps. This design pattern helps us to maximize the code re-usability. General…
Introduction I guess that you are in a similar situation as me, that most projects that you are working on are dealing with third-party libraries. There is no need to reinvent the wheel since external libraries are usually well tested and…