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

Keytool is not recognized as internal or extenal command / Adding PATH in system variable

If you are running a keytool command  keytool -list -v -keystore C:\Users\arun\.android\debug.keystore -alias androiddebugkey -storepass android    and getting an error   'keytool' is not recognized as an internal or external command  If you are using any other commad like java,javac , etc.. and getting an error " is not recognized as an internal or external command"  you can also use this same steps  you are getting this error because keytool.exe , executable file which exists in the bin directory of your JDK  is not added to Path in your Environmental variables. To resolve this issue 1 .first we need to find the bin Directory of our jdk    Usually this will be in  C:\Program Files\Java\jre1.8.0_221\bin (jre1.8.0_221 - change this to your latest version , ). you can see keytool.exe file in the bin directory . (If you installed jdk in a different directory Find your Jdk installation folder and  use that path....

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"   ...

Android CardView And SQLite example

SQLite Database Android provides several options to save persistent application data. SQlite database is ideal for saving repeating and structured data . Using Sqlite we can save structured data in a private database.  This is a simple application showing use of Sqlite database in android . This example shows how to perform Insert , select , update and delete operation in  SQlite database Screenshots of our sample application                                                                                                                      This is a Registration app. New user can register by clicking registration button . Registered  users are shown in car...