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 With ViewModel and LIveData

This is a simple calculator with basic mathematical operations. You can download full source code of this project from Github https://github.com/arunkfedex/SimpleCalculator We are using ViewModel and LiveData so we need to add those dependencies in build.gradle file. build.gradle plugins { id 'com.android.application' id 'kotlin-android' } android { compileSdk 30 defaultConfig { applicationId "com.arun.androidtutsforu.simplecalculator" minSdk 21 targetSdk 30 versionCode 1 versionName "1.0" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 ta...

How to Open Android Emulator form Command Line and install Apk in Emulator

  You can also view this on my youtube channel How to Open Android Emulator from Commad Line 1.Open Command line 2.Change working directory to android sdk directory    cd  appdata/local/android/sdk/emulator 3.List all available Android virtual devices     emulator -list-avds 4. All your avds will be shown choose the avd_name you want to open    emulator -avd avd_name   5.Your Android virtual device will open up How to install APk file to emulator Drag the APK to Android emulator it will install automatically

Android List View using Custom Adapter and SQLite

following is a simple applicaton to create ListView using  Custom adapter.screenshot of the application  is like this . ListView is not used in android Anymore . We use  RecyclerView  and  CardView   in Android RecyclerView Demo is available on the following link http://androidtuts4u.blogspot.in/2017/04/android-recyclerview-example.html RecyclerView with Cardview Example is available on the following link http://androidtuts4u.blogspot.in/2017/09/android-card-view-example.html The ListView below the submit button is populated using Custom Adapter.Data is stored and retrieved using SQLite databsase. you can download the source code of this project from  google drive   https://drive.google.com/folderview?id=0BySLpWhqmbbdUXE5aTNhazludjQ&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. To create a simple ...