Skip to main content

Posts

Showing posts with the label Android

Implementing a Simple Room Database in Android

What is Room Persistence Library? Room is a library built on top of SQLite that provides a more convenient and structured way to manage your Android app's local database,lets you work with your data as Kotlin objects (data classes) instead of writing raw SQL queries this simplifies database interactions and also checks your SQL queries at compile time. This helps us to catch errors early in the development cycle. so kets get started. Dependencies dependencies { // Room implementation("androidx.room:room-runtime:2.5.0") implementation("androidx.room:room-ktx:2.5.0") kapt("androidx.room:room-compiler:2.5.0") } Key Components Entity @Entity(tableName = "word_table") data class Word( @PrimaryKey val word: String ) Entity is a Kotlin data class representing a single table in the database,each property of the class corresponds to a column in the table and each entity is annotates with

Delving Deeper into ViewModel - AndroidNotes

While building apps i have often incorporate ViewModels without fully grasping their intricacies. I made some common mistakes, like creating ViewModel instances within a remember block and such silly mistakes,but this journey has prompted me to dig a little deeper into understanding ViewModels and their internal workings. The primary questions we are going to address are as follows: What is a ViewModel? How to create a ViewModel? What is the difference between ViewModel and AndroidViewModel? What is a ViewModelFactory? What is viewModelScope? When is the ViewModel dropped by the ViewModelStore? What is onCleared() in the ViewModel ? lets begin our journey.... What is a ViewModel? ViewModel is a simple class that is part of the Android Architecture Components and its primary purpose is to store and manage UI-related data in a lifecycle-conscious manner caching its value during the lifecycle of the activity It helps us to avoid loading dat

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