Getting started with ToDoApp on Android
As mentioned earlier, we are using Android Studio 3.0 (stable) for this project. The following screenshot depicts the project structure that we're using:

In this project, we are using package-by features, and I do prefer to use package-by for Android development, mainly for its scalability and maintainability. Also, note that it is best practice to use package-by feature in Android; although, you can obviously use your preferred model. You can read more about the package-by feature at https://hackernoon.com/package-by-features-not-layers-2d076df1964d.
Now, let's understand the package structure used in this application. The root package here is com.rivuchk.todoapplication, the package for the application, identical with the applicationId. The root package contains two classes—ToDoApp and BaseActivity. The ToDoApp class extends android.app.Application so that we can have our own implementation of the Application class. Now, what is BaseActivity? BaseActivity...