Android Preferences Tutorial with Example




Android shared inclination is utilized to store and recover primitive data. In android, string, whole number, long, number and so on are considered as primitive information sort.

Android Shared inclinations are utilized to store information in key and esteem match with the goal that we can recover the quality on the premise of key.

It is broadly used to get data from client, for example, in settings.

Android Preferences Example
preference-directory

activity_main.xml

<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"  
    tools:context=".MainActivity" >  
  
    <TextView  
        android:id="@+id/txtPrefs"  
        android:layout_width="wrap_content"  
        android:layout_height="wrap_content"  
        android:layout_centerVertical="true"  
        android:text="Data:" />  
  
    <Button  
        android:id="@+id/storeinformation"  
        android:layout_width="wrap_content"  
        android:layout_height="wrap_content"  
        android:layout_below="@+id/showinformation"  
        android:layout_centerHorizontal="true"  
        android:layout_marginTop="18dp"  
        android:text="Store Information" />  
  
    <Button  
        android:id="@+id/showinformation"  
        android:layout_width="wrap_content"  
        android:layout_height="wrap_content"  
        android:layout_alignParentTop="true"  
        android:layout_centerHorizontal="true"  
        android:layout_marginTop="17dp"  
        android:text="Show Information" />  
      
</RelativeLayout>

array.xml

<?xml version="1.0" encoding="utf-8"?>  
 <resources>  
   <string-array name="listOptions">  
     <item>English</item>  
     <item>Hindi</item>  
     <item>Other</item>  
     </string-array>  
  
   <string-array name="listValues">  
     <item>English Language</item>  
     <item>Hindi Language</item>  
     <item>Other Language</item>  
   </string-array>  
     
 </resources>

prefs.xml

<?xml version="1.0" encoding="utf-8"?>  
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >  
  
   <PreferenceCategory  
   android:summary="Username and password information"  
   android:title="Login information" >  
  <EditTextPreference  
     android:key="username"  
     android:summary="Please enter your login username"  
     android:title="Username" />  
  <EditTextPreference  
     android:key="password"  
     android:summary="Enter your password"  
     android:title="Password" />  
 </PreferenceCategory>  
  
 <PreferenceCategory  
   android:summary="Username and password information"  
   android:title="Settings" >  
  <CheckBoxPreference  
     android:key="checkBox"  
     android:summary="On/Off"  
     android:title="Keep me logged in" />  
  
  <ListPreference  
     android:entries="@array/listOptions"  
     android:entryValues="@array/listValues"  
     android:key="listpref"  
     android:summary="List preference example"  
     android:title="List preference" />  
 </PreferenceCategory>  
</PreferenceScreen>

File: PreferenceDemoActivity.java

package com.codebind.preferences;  
  
import android.os.Bundle;  
import android.preference.PreferenceManager;  
import android.app.Activity;  
import android.content.Intent;  
import android.content.SharedPreferences;  
import android.view.Menu;  
import android.view.View;  
import android.widget.Button;  
import android.widget.TextView;  
  
public class PreferenceDemoActivity extends Activity {  
        TextView textView;  
        @Override  
        public void onCreate(Bundle savedInstanceState) {  
           super.onCreate(savedInstanceState);  
           setContentView(R.layout.activity_main);  
      
           Button storeinformation = (Button) findViewById(R.id.storeinformation);  
           Button showinformation = (Button) findViewById(R.id.showinformation);  
           textView = (TextView) findViewById(R.id.txtPrefs);  
             
           View.OnClickListener listener = new View.OnClickListener() {  
           @Override  
           public void onClick(View v) {  
           switch (v.getId()) {  
            case R.id.storeinformation:  
            Intent intent = new Intent(PreferenceDemoActivity.this,PrefsActivity.class);  
            startActivity(intent);  
           break;  
           case R.id.showinformation:  
              displaySharedPreferences();  
              break;  
           default:  
             break;  
           }  
           }  
           };  
           storeinformation.setOnClickListener(listener);  
           showinformation.setOnClickListener(listener);  
        }  
   
  
        private void displaySharedPreferences() {  
           SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(PreferenceDemoActivity.this);  
           String username = prefs.getString("username", "Default NickName");  
           String passw = prefs.getString("password", "Default Password");  
           boolean checkBox = prefs.getBoolean("checkBox", false);  
           String listPrefs = prefs.getString("listpref", "Default list prefs");  
  
           
           StringBuilder builder = new StringBuilder();  
           builder.append("Username: " + username + "\n");  
           builder.append("Password: " + passw + "\n");  
           builder.append("Keep me logged in: " + String.valueOf(checkBox) + "\n");  
           builder.append("List preference: " + listPrefs);  
           textView.setText(builder.toString());  
      
        }  
    @Override  
    public boolean onCreateOptionsMenu(Menu menu) {  
        // Inflate the menu; this adds items to the action bar if it is present.  
        getMenuInflater().inflate(R.menu.activity_main, menu);  
        return true;  
    }  
  
}

Partner Sites

VideoToGifs.com

EasyOnlineConverter.com

SqliteTutorials.com





Be the first to comment

Leave a Reply

Your email address will not be published.


*