Skip to main content

Posts

Recent posts

Basics of Room Persistence Library in Android #RP1

Room is a library built on top of SQLite that provides a more convenient and structured way to manage your app's local database. It lets you work with your data as Kotlin objects (data classes) instead of manually formulating them using SQL queries, which itself is a tedious task prone to many errors.   It also simplifies interactions with the database with many great features like validating the queries, seamless integration with Kotlin Flow, paging, LiveData, and many more. These features make Room the most preferred option for offline-first apps, as it expedites the process and helps us to avoid issues early in the development cycle. Since Google has the best article for setting up, I will be skipping the setup Dependency setup: Official Guide on Setting up Room Dependencies and plugins   Please do ensure you follow the above guide and then sync and build your project successfully, as it will help you to try out the components yourself. In t...

KotlinBytes: The Spread(*) Operator

I have posted a similar article on a different style on linked-in which is a 2 min read, and it tries to cut to the point without any jibber jabbers ;) feel free to check it out ( here is the link ). Since you have taken the long path with interest to the full story lets dive in, The current item of the sprint at work was offline-implementation for the feature i am already working on, so i had an implementation already for bulk get call for the list screen, and i wanted is same exact implementation but this time for the detail screen so a single get call, Like most people i started to duplicate the function and modify the param and tweek the implementation to match the new requirement but then i kinda realised that i will have to modify this later as i  move further, so i kinda looked around the internet and couldn't find any right solution except passing it as a list with only one item, this felt really wrong.  I tried asking ChatGPT and she gave me complicated solutions whic...

Structure of TimeLineCard - BloomLog App Building #01

Bloomlog- an app to encourage gardening with a gamified journey. The structure we are building today is roughly as per the image below: There are quite a number of ways to do it, One is using a constrained layout or another using available layouts since I'm a bit lazy today I'm planning to implement it using the available layouts and vaguely the structure is going to as shown in in the below diagram: Me Implementing this ui with the above structure is available here: The code is available on my GitHub profile, if there was anything that i missed out on, please mention it below.

Search Textfield with options and clear button ideal for app TopBar- Jetpack Compose Component

In this blog post, we'll explore a simple yet effective implementation of a search bar in Jetpack Compose. The provided SearchTextField composable offers a basic text field with a placeholder, suitable for building the app top bar. Screen Shot of the Component from my Jot-app The following code can be used to your project directly and it should work as expected, the idea was to have a search bar for a top app which can also hst the buttons on either ends,do check the code below If you have any suggestions or improvements for the code, let's have a conversation below. Your feedback is valuable to me

Implementing In-app and pre-locale language selection in Android

Modern Android App Architecture One of the essential features for a globalized app is the ability to provide users with the option to choose their preferred language within the application. In this blog post, we will guide you through the process of implementing in-app language selection in an Android app. Step 1: Create Locale String Resource Create a string resource file for each respective locale by navigating to res > new > Android Resource File . Select Locale and create a string.xml file. Copy and paste the translations of your app content into these files. Step 2: Configure Locale Preferences In the res/xml folder, create a new file called locales_config.xml and specify the locales of your choice. for example look at the following code: <?xml version="1.0" encoding="utf-8"?> <locale-config xmlns:android="http://schemas.android.com/apk/res/android"> <locale andro...

Linked List in Java - Collections Framework- DSA

Gist: A Linked list is dynamic array where a group of object can be stored while following the insertion order and allow duplicates, the 2 type of linked list is singly and double linked lists, the default one is single linked list where the elements can be traversed only in forward direction this is because unlike array here the elements are stored at random locations and only the node of each element knows the address of the next element. A simple example would be our circut board here a point X may be connection to Y and Y connectioned to pont Z here the insertion order is preserved and we can know the next point only by following the signals from the previous point. Same as the example but in Linked list each element has 2 parts in singly linked list where 1 part is the node with the adress to the next node and the other which is the actua data of that element like a post letter the envelop has the address and inside the contents. but in doubly linked list there are 3 parts ...