Implement Shared Preferences In Android Applications

Introduction

Android is one of the most popular operating systems for mobile. Shared preference has the responsibility for framework or file can be private or shared and, it stores the key value set. So, I will show you how to implement shared preference in your Android application using Android studio. Android is a kernel based operating system. It allows the user to modify the GUI components and source code.

Requirements

Steps should be followed

Carefully follow my steps to implement shared preference in your Android application using Android studio and I have  included the source code below.

Step 1

Open Android studio start the new project.

Android

Step 2

Put the application name and company domain. If you wish to use c++ for coding the project , mark the Included c++ support then click next.

Android

Step 3

Select the Android minimum SDK. After you choose the minimum SDK it will show the approximate percentage of people using that sdk then click next.

Android

Step 4

Choose the basic activity then click next.

Android

Step 5

Put the activity name and layout name. Android studio basically takes the java class name as what you provide for the activity name and click finish.

Android

Step 6

Go to activity_main.xml then click the text bottom. This xml file contains the designing code for android apps. Into the activity_main.xml copy and paste the below code.

Activity_main.xml code

  1. <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  2.     xmlns:app="http://schemas.android.com/apk/res-auto"  
  3.     xmlns:tools="http://schemas.android.com/tools"  
  4.     android:layout_width="match_parent"  
  5.     android:layout_height="match_parent"  
  6.     tools:context=".MainActivity">  
  7.   
  8.     <TextView  
  9.         android:layout_width="wrap_content"  
  10.         android:layout_height="wrap_content"  
  11.         android:textAppearance="?android:attr/textAppearanceLarge"  
  12.         android:text="@string/user_name"  
  13.         android:id="@+id/textView"  
  14.         tools:ignore="RtlHardcoded"  
  15.         tools:layout_constraintTop_creator="1"  
  16.         android:layout_marginStart="16dp"  
  17.         android:layout_marginTop="62dp"  
  18.         tools:layout_constraintLeft_creator="1"  
  19.         app:layout_constraintLeft_toLeftOf="parent"  
  20.         app:layout_constraintTop_toTopOf="parent" />  
  21.   
  22.     <TextView  
  23.         android:layout_width="wrap_content"  
  24.         android:layout_height="wrap_content"  
  25.         android:textAppearance="?android:attr/textAppearanceLarge"  
  26.         android:text="@string/password"  
  27.         android:id="@+id/textView2"  
  28.         tools:ignore="RtlHardcoded"  
  29.         tools:layout_constraintTop_creator="1"  
  30.         tools:layout_constraintBottom_creator="1"  
  31.         app:layout_constraintBottom_toTopOf="@+id/dataTextView"  
  32.         android:layout_marginStart="16dp"  
  33.         android:layout_marginTop="157dp"  
  34.         tools:layout_constraintLeft_creator="1"  
  35.         android:layout_marginBottom="157dp"  
  36.         app:layout_constraintLeft_toLeftOf="parent"  
  37.         app:layout_constraintTop_toTopOf="parent" />  
  38.   
  39.     <EditText  
  40.         android:layout_width="wrap_content"  
  41.         android:layout_height="wrap_content"  
  42.         android:id="@+id/passwordInput"  
  43.         android:width="200dp"  
  44.         tools:layout_constraintTop_creator="1"  
  45.         tools:layout_constraintRight_creator="1"  
  46.         app:layout_constraintRight_toRightOf="@+id/userNameInput"  
  47.         android:layout_marginTop="53dp"  
  48.         app:layout_constraintTop_toBottomOf="@+id/userNameInput"  
  49.         tools:layout_constraintLeft_creator="1"  
  50.         app:layout_constraintLeft_toLeftOf="@+id/userNameInput" />  
  51.   
  52.     <EditText  
  53.         android:layout_width="wrap_content"  
  54.         android:layout_height="wrap_content"  
  55.         android:id="@+id/userNameInput"  
  56.         android:width="200dp"  
  57.         tools:layout_constraintTop_creator="1"  
  58.         android:layout_marginStart="43dp"  
  59.         android:layout_marginTop="45dp"  
  60.         tools:layout_constraintLeft_creator="1"  
  61.         app:layout_constraintTop_toTopOf="parent"  
  62.         app:layout_constraintLeft_toRightOf="@+id/textView" />  
  63.   
  64.     <Button  
  65.         android:layout_width="wrap_content"  
  66.         android:layout_height="wrap_content"  
  67.         android:text="Save Info"  
  68.         android:id="@+id/saveButton"  
  69.         android:onClick="saveData"  
  70.         tools:ignore="HardcodedText"  
  71.         tools:layout_constraintBottom_creator="1"  
  72.         android:layout_marginStart="16dp"  
  73.         app:layout_constraintBottom_toBottomOf="parent"  
  74.         tools:layout_constraintLeft_creator="1"  
  75.         android:layout_marginBottom="200dp"  
  76.         app:layout_constraintLeft_toLeftOf="parent" />  
  77.   
  78.     <Button  
  79.         android:layout_width="wrap_content"  
  80.         android:layout_height="wrap_content"  
  81.         android:text="@string/display_info"  
  82.         android:id="@+id/displayButton"  
  83.         android:onClick="getData"  
  84.         tools:layout_constraintTop_creator="1"  
  85.         tools:layout_constraintRight_creator="1"  
  86.         tools:layout_constraintBottom_creator="1"  
  87.         app:layout_constraintBottom_toBottomOf="@+id/saveButton"  
  88.         android:layout_marginEnd="1dp"  
  89.         app:layout_constraintRight_toRightOf="@+id/passwordInput"  
  90.         app:layout_constraintTop_toTopOf="@+id/saveButton" />  
  91.   
  92.     <TextView  
  93.         android:layout_width="wrap_content"  
  94.         android:layout_height="wrap_content"  
  95.         android:textAppearance="?android:attr/textAppearanceMedium"  
  96.         android:id="@+id/dataTextView"  
  97.         tools:layout_constraintTop_creator="1"  
  98.         android:layout_marginTop="61dp"  
  99.         app:layout_constraintTop_toBottomOf="@+id/displayButton"  
  100.         tools:layout_constraintLeft_creator="1"  
  101.         app:layout_constraintLeft_toLeftOf="@+id/displayButton" />  
  102.   
  103. </android.support.constraint.ConstraintLayout>  

 

User interface

Android

Step 7

Into the MainActivity.java copy and paste the below code.java programming is the backend language for Android. Do not replace your package name otherwise the app will not run.

MainActivity.java code

  1. package ganeshannt.sharedpref;  
  2.   
  3. import android.content.Context;  
  4. import android.content.SharedPreferences;  
  5. import android.support.v7.app.AppCompatActivity;  
  6. import android.os.Bundle;  
  7. import android.view.View;  
  8. import android.widget.EditText;  
  9. import android.widget.TextView;  
  10. import android.widget.Toast;  
  11.   
  12.   
  13. public class MainActivity extends AppCompatActivity {  
  14.     EditText userName;  
  15.     EditText password;  
  16.     TextView dataView;  
  17.   
  18.     @Override  
  19.     protected void onCreate(Bundle savedInstanceState) {  
  20.         super.onCreate(savedInstanceState);  
  21.         setContentView(R.layout.activity_main);  
  22.   
  23.         userName = (EditText) findViewById(R.id.userNameInput);  
  24.         password = (EditText) findViewById(R.id.passwordInput);  
  25.         dataView = (TextView) findViewById(R.id.dataTextView);  
  26.   
  27.     }  
  28.     // Lesson 64  
  29.     //Save login info  
  30.     public void saveData(View view){  
  31.         SharedPreferences loginData = getSharedPreferences("userInfo", Context.MODE_PRIVATE);  
  32.         SharedPreferences.Editor editor = loginData.edit();  
  33.         editor.putString("userName", userName.getText().toString());  
  34.         editor.putString("password", password.getText().toString());  
  35.         editor.apply();  
  36.   
  37.         Toast.makeText(this,"Saved",Toast.LENGTH_LONG).show();  
  38.     }  
  39.   
  40.     public void getData(View view){  
  41.         SharedPreferences loginData = getSharedPreferences("userInfo", Context.MODE_PRIVATE);  
  42.         String name = loginData.getString("userName""");  
  43.         String pw = loginData.getString("password","");  
  44.         String msg = "Saved User Name: " + name + "\nSaved Password: " + pw;  
  45.         dataView.setText(msg);  
  46.     }  
  47. }  

 

Step 8

Click the make project option and run.

Android

Step 9

Run the application then choose the virtual machine then click ok.

Android

Deliverables

Here we have  successfully implemented shared preference in the created and executed android app 

Type the username and password

Android

Click save button

Android

Click the displayinfo button then it will show the data because that time it saved username and data information was shared to that onclick method by the help of shared preference

Android

Don’t forgot to like and follow me. If you have any doubts just commend below.