Skip to main content

Android Shared Preference Tutorial


The sharedPreferernce provides a general framework that allows you to save and retrieve persistent key-value pairs of primitive data types. You can use sharedPreferences  to save any primitive data: booleans, floats, ints, longs, and strings. This data will persist across user sessions (even if your application is killed).

to know more about   Refer  sharedPreference

you can download the source code of this project from  google drive https://drive.google.com/folderview?id=0BySLpWhqmbbdRXZxd0ZveHllcG8&usp=sharing
click on the above link ->sign into  your  google account ->add this to your google drive -> open it in google drive and download it.

Following is the demo application using SharedPrefence. This application is just used to set and get name.Value that you set will be persistent even if you close the application. the value is saved in a xml file. you can view this file in eclipse . open  DDMS go to   FileExplore there is folder data. Open
data->data->yourAppPackage(com.arun.DemoSharedPreference)->shared_prefs-> yourAppPackage.xml(com.arun.DemoSharedPreference.xml)


First create a xml layout for  setting and getting name.

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <EditText
        android:id="@+id/editname_id"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />

    <Button
        android:id="@+id/setBtn_id"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Set Name" />

    <Button
        android:id="@+id/getBtn_id"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Get Name" />

    <EditText
        android:id="@+id/showname_id"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />

</LinearLayout>



Activity for setting and getting files



package com.arun.DemoSharedPreference;

import android.app.Activity;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;

public class MainaActivity extends Activity {
 SharedPreferences namePreferences;
 EditText ediName, showName;
 Button setBtn, getBtn;

 /** Called when the activity is first created. */
 @Override
 public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);
  namePreferences = PreferenceManager.getDefaultSharedPreferences(this);
  ediName = (EditText) findViewById(R.id.editname_id);
  showName = (EditText) findViewById(R.id.showname_id);
  setBtn = (Button) findViewById(R.id.setBtn_id);
  getBtn = (Button) findViewById(R.id.getBtn_id);
  setBtn.setOnClickListener(new OnClickListener() {

   @Override
   public void onClick(View v) {

    SharedPreferences.Editor nameEditor = namePreferences.edit();
    nameEditor.putString("name", ediName.getText().toString());
    nameEditor.commit();
   }

  });
  getBtn.setOnClickListener(new OnClickListener() {

   @Override
   public void onClick(View v) {

    String nameValue = namePreferences.getString("name", "");
    showName.setText(nameValue);
   }

  });

 }
}



following is the sharedPreference file of my appliction from DDMS


<?xml version='1.0' encoding='utf-8' standalone='yes' ?>

<map>

<string name="name">arun</string>

</map>


Here is the screen shot of my application



Comments

  1. Please can I have the source code??
    sanvittore72@gmail.com

    ReplyDelete
  2. This comment has been removed by the author.

    ReplyDelete

Post a Comment

Popular posts

Simple Calculator in Android

You can view new updated simple calculator with ViemModel and LiveData in my new blog    https://androidtuts4u.blogspot.com/2021/10/simple-calculator-with-viewmodel-and.html To create a calculator first  we need to create the layout of the calculator. Layout  is created  using XML file given below <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"     xmlns:tools="http://schemas.android.com/tools"     android:layout_width="match_parent"     android:layout_height="match_parent" >  <EditText     android:id="@+id/result_id"       android:layout_width="fill_parent"     android:layout_height="120dp"   />  <Button    android:id="@+id/Btn7_id"      android:layout_width="70dp"    android:layout_height="60dp"    android:layout_below="@id/result_id"   ...

ViewModel with Jetpack Compose

  Compose uses remember API to store object in memory. Stored value is returned during recomposition . remember helps us retain data across recompostion , but when configuration changes happen all stored values are lost . One way to overcome this is to use rememberSaveable . rememberSaveable saves any value that can be saved in a Bundle , so it will survive configuration changes.  But when we are using lot of data , for example a list we can cannot use a rememberSavble beacuse there is limit on amount of data that can be stored in Bundle . So we use ViweModel . ViewModel provide the ui state and access to the business logic located in other layers of the app. It also survives configuration changes. ViewModel handles events coming from the UI or other layers of the app and updates the state holder based on the events. We need to add the following dependency in our app level build.gradle to use ViewModel implementation "androidx.lifecycle:lifecycle-viewmodel-compose:2.4.1" F...

Enabling Sign-in APi in Google Developer console

We need to enable Sign-in Api for our application in google developers console to use google sign-in  in our application. 1 . first we need to create a project in google developers console     visit google developers  console        https://console.developers.google.com/project 2 .  Click on create project button you will see the below screen     3 .  Enter project name and click CREATE . Then we are directed to project home page  which will look like this 4 .  Next we need to add Google API to our project. click on library on left menu and search for google api 5 .  Configure  OAuth consent screen , click on 'OAuth consent screen '  6  .  Enter Application name and email id everything else is optional  and click save   7  . Configure Credentials        Google uses this to ensure that your application is not fake applicatio...