Skip to main content

onBackPressed() method is deprecated, you are looking for an alternative? Here It is the Latest Solution in android | Kotlin

How to Insert Multiple rows in a single db transaction in Android Room Database? | Android | Room DB

 



To insert multiple rows into a Room database in Android, you can follow these steps:


1. Set up Room Database:

First, make sure you have set up your Room database correctly in your Android project. Define your Entity class, create a Database class that extends RoomDatabase, and set up your DAO (Data Access Object) interface.


2. Create Entity Class:

Define an Entity class that represents the data you want to insert into the database. For example:


1
2
3
4
5
6
7
8
9
@Entity(tableName = "my_table")
public class MyEntity {
    @PrimaryKey(autoGenerate = true)
    public int id;

    public String name;
    public int age;
    // Add other fields and getters/setters as needed
}




Create DAO:
Create a DAO interface with a method to insert multiple rows. For example:

1
2
3
4
5
@Dao
public interface MyEntityDao {
    @Insert
    void insertAll(List<MyEntity> entities);
}




Initialise Database and DAO:
In your application code, create an instance of your Room database and get an instance of the DAO:

1
2
MyDatabase database = Room.databaseBuilder(context, MyDatabase.class, "my_database").build();
MyEntityDao dao = database.myEntityDao();



Insert Multiple Rows:
You can insert multiple rows into the database by calling the insertAll method on the DAO with a list of MyEntity objects. For example:

1
2
3
4
5
6
List<MyEntity> entities = new ArrayList<>();
entities.add(new MyEntity("John", 25));
entities.add(new MyEntity("Alice", 30));
entities.add(new MyEntity("Bob", 28));

dao.insertAll(entities);

Make sure to wrap the database operations in a background thread or use Kotlin coroutines or RxJava to perform them asynchronously to avoid blocking the main UI thread.

That's it! You have inserted multiple rows into a Room database in Android. Remember to handle database transactions and error handling as needed for your application.


















Comments

Post a Comment

Popular posts from this blog

Recycler View Like Google Play Store App | How to use SnapHelper Android, Kotlin

 If we see the google play store android app, we can see that the app list in horizontal recycler view hold a property that the first property hold always full visible or not visible, but a portion visible is not seeing. This property is snap property. In this article I show you how to use it in our own application. Basically we use two type of snap. Center Snap and start snap. I show you both here. So read full article here. The Key Moment code is here- For center snap you need to write 2 lines code- //center Snap val snapHelper = LinearSnapHelper() snapHelper.attachToRecyclerView(recyclerView1) For start snap, create a class in kotlin say StartSnapHelper.kt package com.example.snaphelpersampleapp import android.view.View import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearSnapHelper import androidx.recyclerview.widget.OrientationHelper import androidx.recyclerview.widget.RecyclerView class StartSnapHelpe

How to fetch Latitude, Longitude from address and vice-versa(address from Latitude, Longitude) using Google Geo coder SDK in android| Kotlin

 In this Android development related article, you will get a simple solution that, how to get address using Latitude, Longitude and vice-versa. i.e latitude, longitude from an address text. It is very easy and simple. Read full article and carefully follow all the steps. Here we use google Geocoder SDK. Okay, first we create an android project in kotlin and create an Activity say MainActivity.kt. Use the below code- Function get Latitude, Longitude from Address- fun getLatLngFromAddress (context: Context, mAddress: String): String { val coder = Geocoder(context) lateinit var address: List<Address> try { address = coder.getFromLocationName(mAddress, 5 ) if (address == null ) { return "Fail to find Lat,Lng" } val location = address[ 0 ] return " Latitude: ${location.latitude}\n Longitude: ${location.longitude}" } catch (e: Exception