Android Dagger 2 scopes demystified

Dagger2 dependency injection

What is this post about:

In this post we will take an in-depth look at one of the core aspects of Dagger 2 dependency injection framework - the scopes. I will attempt to show you that scopes in Dagger 2 are, in fact, relatively simple, yet powerful concept.

Reliable connection to AIDL IPC Service in Android

What is this post about:

This post describes how to establish a reliable connection to AIDL Service running in a different process in Android. The following questions are addressed in this post:
  • How bound IPC Service connection's life-cycle is different from life-cycle of the Service itself?
  • What is the exact life-cycle of a connection to bound IPC Service?
  • How can we account for connection's life-cycle when writing clients of bound IPC Services?
Source code of IpcServiceConnector class, which can be employed in order to establish and manage reliable connections to bound IPC Services is provided, and a tutorial implementation of a client which uses this class in order to establish a crash-and-kill-tolerant connection to bound IPC service is presented.

MVP and MVC Architectures in Android – part 3

MVP and MVC

What is this post about:

This is the third (and last) post in series of three posts that discuss Model View Controller (MVC) and Model View Presenter (MVP) architectural patterns in context of Android development. The following questions are addressed in this part:
  • What function MVC controllers fulfill?
  • How to implement MVC controllers?
  • I want to give it a try! How to start?

MVP and MVC Architectures in Android – part 2

MVP and MVC

What is this post about:

This is the second post in series of three posts that discuss Model View Controller (MVC) and Model View Presenter (MVP) architectural patterns in context of Android development. The following questions are addressed in this part:
  • Are MVC/MVP views and Android Views synonyms?
  • How do I implement MVC/MVP views?

MVP and MVC Architectures in Android – part 1

MVP and MVC

What is this post about:

This is the first post in series of three posts that discuss Model View Controller (MVC) and Model View Presenter (MVP) architectural patterns in context of Android development. The following questions are addressed in this part:
  • Model? View? Contoller? Presenter?
  • What is the difference between MVC and MVP?
  • Does Android support MVC/MVP "natively"?
  • Which architectural pattern is more suitable for Android development - MVC or MVP?
Source code for a working application which implements the architectural pattern is provided.