20 May 2022 Java | Service Provider Interface Service provider interface (SPI) enables developers to extend applications functionalities by adding services implementation, e.g. Jar files, to classpath without modifying the application code base.
18 May 2022 Java | Constructors vs Static Factory Methods While using constructors is the default way of creating new objects, using static methods might bring more advantages according to Joshua Block's Effective Java Item-1.
27 Feb 2021 Spring Global Exception Handling Using @ControllerAdvice Annotation Spring provides a global exception handling mechanism that can be implemented across the whole application using @ControllerAdvice annotation
25 Apr 2020 Java | Simple Jasper Report Example JasperReports library is an open source reporting library written in Java. The library can export documents in different formats e.g. PDF, HTML, CSV...etc. This post shows a simple example of how to export PDF document using JasperReports.
20 Dec 2019 Android | Sending & Receiving Simple Data Between Apps Intent is a messaging object that can be used to start app components such activity within an app or to interact with other apps. Explicit intent is used to launch a specific app component while implicit intent specifies an action that can invoke other apps able to perform the action. Here we will see how to use intent to send and receive simple data between apps.
15 Dec 2019 Kotlin | Function Type, Lambda and Higher-Order Functions Functions in Kotlin can be stored in variables, passed as arguments to other functions and returned from other functions. However, since Kotlin is statically typed language, functions should have a type. In this post we will see how to declare the type of a function, how to use lambda to define a function and how to define a higher order function.
10 Dec 2019 Android | Handling Click Events Kotlin's Way Listening to a button clicks is a common task in application development. A listener is set to listen and act upon click events. OnClickListener is an interface used to listen to click events of a button or any other components of type View.