Profile Pic

Janishar Ali

Co-Founder at MindOrks, AfterAcademy, CuriousJr | Disrupting EdTech
Android MVP Architecture Extension with Interactors and Repositories

Android MVP Architecture Extension with Interactors and Repositories
24th July 2017

Sometime back I wrote a series of articles on the design of MVP architecture for Android. The project was very well received in the community and hundreds of companies and developers added the architecture in their applications.

Understanding Android Core: Looper, Handler, and HandlerThread

Understanding Android Core: Looper, Handler, and HandlerThread
29th December 2017

Looper, Handler, and HandlerThread are the Android’s way of solving the problems of asynchronous programming. They are not old school, but a neat structure on which a complex android framework is built.

Navigation Drawer Android Example

Navigation Drawer Android Example
22nd August 2016

Navigation Drawer is the sliding menu that appears on the android screen with a hamburger menu icon in the ActionBar. The construction of it requires placing multiple views inside the navigation portion of the DrawerLayout.

Getting Started with Retrofit using Kotlin  and  RxJava - Android Networking Library

Getting Started with Retrofit using Kotlin and RxJava - Android Networking Library
9th May 2019

Networking is one of the primary components of any Android application. There are a lot of good libraries out there that helps in making networking fairly easy for us. In this article, I am going to provide you the essential setup and concepts required to build an Android application using Retrofit with RxJava and Kotlin

Modifying Android Tinder Swipe View Example to support auto resize

Modifying Android Tinder Swipe View Example to support auto resize
8th October 2016

This thread is in continuation to the Android Tinder Swipe View Example. it modifies the example codes to auto fit various screen sizes. It also fixes the issue of card overlapping the like/dislike buttons and making them unclickable.

Android Dagger 2: Critical things to know before you implement.

Android Dagger 2: Critical things to know before you implement.
13th January 2017

Dagger 2 in a Dependency Injection framework for Android. I assume the reader is familiar with Dagger and it’s usage pattern in Android for the sake of this Article.

Introduction to Dagger 2, Using Dependency Injection in Android: Part 2

Introduction to Dagger 2, Using Dependency Injection in Android: Part 2
26th December 2016

This is the part 2 of the article series. In part 1 we understood the need and advantages of dependency injection. We also got an overview of Dagger 2. In this part, we will focus on implementing the DI using Dagger in an android app.

Introduction to Dagger 2, Using Dependency Injection in Android: Part 1

Introduction to Dagger 2, Using Dependency Injection in Android: Part 1
26th December 2016

Dependency Injection in build upon the concept of Inversion of Control. Which says that a class should get its dependencies from outside. In simple words, no class should instantiate another class but should get the instances from a configuration class.

Java & Android  Multithreaded Programming: Runnable,  Callable,  Future,  Executor

Java & Android Multithreaded Programming: Runnable, Callable, Future, Executor
3rd September 2018

In this tutorial we will write a complete Java program that simulates API call to fetch user recent activities including likes, comments, posts, and friends concurrently from a server using ThreadPoolExecutor, Callable, Future, and Runnable. See complete code here:

Run parallel tasks in Java or Android, and get callback when all complete

Run parallel tasks in Java or Android, and get callback when all complete
31st August 2018

We will write a Java program that execute several tasks in parallel and then send a callback when all of those tasks completes.

Essential Guide For Designing Your Android App Architecture: MVP: Part 3 (Dialog, ViewPager, and Adapters)

Essential Guide For Designing Your Android App Architecture: MVP: Part 3 (Dialog, ViewPager, and Adapters)
26th May 2017

During the course of this development, many of you inquired about the implementation of Dialogs and Adapter based views in this architecture. So, I am writing this article to explain the place-holding for these.

Essential Guide For Designing Your Android App Architecture: MVP: Part 2

Essential Guide For Designing Your Android App Architecture: MVP: Part 2
3rd February 2017

This is the second part of the article series. In the first part, we developed the concept of MVP and worked out a blueprint for the android application architecture.

Android Infinite List with Load More Example

Android Infinite List with Load More Example
10th October 2016

Objectives Outline for This Tutorial: We will be building a news feed, which will simulate JSON data loading from the internet and then populate the list items.....

Android Networking Bare Skin: Understanding JPost

Android Networking Bare Skin: Understanding JPost
3rd October 2016

Android networking is typically very involved if you try to implement bottom-to-top. So, we rely on third-party libraries. But never understand what’s underneath it.

Android Tinder Swipe View Example

Android Tinder Swipe View Example
28th August 2016

Tutorial using PlaceHolderView: In this example we will develop views and architecture to simulate the Tinder Swipe.

Android Expandable News Feed Example

Android Expandable News Feed Example
24th August 2016

This view is very different from the Android ExpandableListView in the sense that it’s based on PlaceHolderView which is based on RecyclerView. So, we have the power of reusing the views and managing the memory, that too is a very modular and simple interface.

Android Beginner Image Gallery Example

Android Beginner Image Gallery Example
23rd August 2016

This example demonstrate creation of a list of images with animation using PlaceHolderView. For the sake of this example we will be placing our images in the drawable folder.

Android Advance Image Gallery Example

Android Advance Image Gallery Example
23rd August 2016

Objectives Outline for this tutorial: 1. We would be building a list of images with two types of views. One of the top with horizontal image list and below with vertical image list and apply animations on these view items as shown in the above display image....

Android View Evolution : PlaceHolderView

Android View Evolution : PlaceHolderView
22nd August 2016

Implementing RecyclerView with dynamic content and adding listeners on each is a very irritating task. Let's leave animation alone, if we have to do it for nested Recyclers then it’s a nightmare.

Can’t trade coding for anything else

Can’t trade coding for anything else
7th October 2016

I could still feel the physics and mathematics poured in my veins to make through one of the toughest exams in the world, IIT-JEE. It was my 1st year of college and bang come printf in C.

Essential Guide For Designing Your Android App Architecture: MVP: Part 1

Essential Guide For Designing Your Android App Architecture: MVP: Part 1
3rd February 2017

Android framework does not advocate any specific way to design your application. That in a way, make us more powerful and vulnerable at the same time.

Android Task and Back Stack Review

Android Task and Back Stack Review
29th March 2017

Android Activities are the logical construct of the screens that we want a user to navigate through. The relation that each Activity holds with respect to other is very crucial for a good user experience.

Handle SSL(Https) Certification Path Exception for Java Applications

Handle SSL(Https) Certification Path Exception for Java Applications
13th April 2017

As a java developer, if you have not been stung by the below-mentioned exception while running a Java application developed by you on your machine that hits an SSL server (https), then be prepared to get a nasty experience at some point of your coding journey.

Making a dent in the universe: The journey of my company Mindorks

Making a dent in the universe: The journey of my company Mindorks
17th June 2017

My journey is tied to the story of Mindorks in the making. Mindorks though have been there in the desire when I and Amit Shekhar were in the final year of our IIT-BHU college.

RxJava Anatomy: What is RxJava, how RxJava is designed, and how RxJava works.

RxJava Anatomy: What is RxJava, how RxJava is designed, and how RxJava works.
19th July 2017

RxJava has become the single most important skill for Android development. Most of you must have worked with it in some form, either in your own codebase or through other third party libraries, like Fast Android Networking and Retrofit.

Android Annotation Processing Tutorial: Part 2: Project Structure

Android Annotation Processing Tutorial: Part 2: Project Structure
29th May 2018

In this tutorial, we will build a project as a complete library implementation. The reader will be able to develop his own library similar to ButterKnife, Room etc.

Android Annotation Processing Tutorial: Part 4: Use The Generated Code

Android Annotation Processing Tutorial: Part 4: Use The Generated Code
29th May 2018

In this final part of the tutorial we will see the usage of the generated code while annotation processing.

Android Annotation Processing Tutorial: Part 3: Generate Java Source Code

Android Annotation Processing Tutorial: Part 3: Generate Java Source Code
29th May 2018

Our library will generate a wrapper class that will help to map the views and clicks listeners for an activity.

Android Annotation Processing Tutorial: Part 1: A practical approach

Android Annotation Processing Tutorial: Part 1: A practical approach
29th May 2018

Annotation processing has become one of the most important language features in the modern Java programming. Java supports annotation processing from its release of Java 5. It generates files during the compile time.

Powerful Android ORM: greenDAO 3 Tutorial

Powerful Android ORM: greenDAO 3 Tutorial
13th February 2017

greenDAO is an open source Android ORM making development for SQLite databases easy. It relieves developers from dealing with low-level database requirements while saving development time.

Learners From Our Courses Work At
logo googlelogo facebooklogo microsoftlogo gojeklogo directilogo uberlogo olalogo zomatologo paytmlogo hikelogo rakutenlogo zolandologo swiggylogo makemytrip