Implement hive database in Flutter

Updated 20 December 2023


Hive is a fast, secure No SQL database implementation for flutter applications. The hive database in Flutter uses the Dart package Hive for storing data locally and manipulating the data on a targeted device.

It stands out as being very fast in performing CRUD operations in comparison to SQLite and shared preference. Hive not only supports primitives, lists, and maps but also any Dart object you like. You need to generate a type adapter before you can store objects.

An offline To-Do App is a good example where you can use the hive database. Let’s check how we can implement hive in Flutter.

Read more about our Flutter app development services.

  1. Create a new project and add these dependencies:

2. Hive can store data using dart primitive types, although, in production, we deal with model objects; to deal with objects, we need to generate TypeAdapter. ‘typeID’ is the identity of the object for the Hive to find it. HiveField must be annotated on the required field names, with their unique ID in the parameters.

3. Open the terminal and generate the file by entering the following: Flutter packages pub run build_runner build 

4. After your .g file is generated, we have to register the adapter to be able to work with the generated Type Adapter.


5. Open the HIve box: We need to open a data box so that we can add data to it.

6. Add data in the box.

7. Read the data you have added to the database.

8. You can also update data in the database by using the “putAt” function and providing data you want to add an index for where you want to add your data.

9. For deleting you need to call the delete function.

That’s how we perform CRUD operations in Hive.

Demo app source code:

Output :

Thanks for reading this article.

If I got something wrong, let me know in the comments. I would love to improve.

You can also read:

. . .

Leave a Comment

Your email address will not be published. Required fields are marked*

Be the first to comment.

Start a Project

    Message Sent!

    If you have more details or questions, you can reply to the received confirmation email.

    Back to Home