Add the following dependency to your module-level build.gradle

implementation ""

The existing implementation of

The new implementation with EncryptedSharedPreferences

Add below methods to which transfers all the existing prefs to encrypted shared prefs.

Call migrateToEncryptedSharedPreferences() on app start to perform migration from SharedPreferences to EncryptedSharedPreferences.


Make sure once the migration is completed successfully keep some pref which will indicate whether migration is pending or completed in order to avoid executing migration each time app starts.

  1. Add Navigation Architecture Component & Material Design Dependencies
//navigation architecture component
implementation “androidx.navigation:navigation-fragment-ktx:2.3.0”
implementation “androidx.navigation:navigation-ui-ktx:2.3.0”
// material design
implementation ‘’

2. Create Menu Resource for Bottom Navigation View (res/menu/menu_bottom_sheet_main.xml)

<?xml version=”1.0" encoding=”utf-8"?>
<menu xmlns:android=”"
android:title=”Personal” />
android:title=”Transaction” />
android:title=”Promotional” />
<item android:id=”@+id/nav_blocked” android:icon=”@drawable/ic_blocked” android:title=”Blocked” /> </menu>…

Jay Patel

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store