Blog purpose for android basic example for android app developer. any query please my contact

Monday, 28 March 2022

Android studio Preferences Example

Android studio Preferences Example


Android shared preference is used to store and retrieve primitive information. In android, string, integer, long, number, etc. are considered primitive data types.


Android Shared preferences are used to store data in key and value pairs so that we can retrieve the value on the basis of a key.


It is widely used to get information from users such as in settings.



activity_main.xml:

<?xml version="1.0" encoding="utf-8"?>  

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"  

    xmlns:app="http://schemas.android.com/apk/res-auto"  

    xmlns:tools="http://schemas.android.com/tools"  

    android:layout_width="match_parent"  

    android:layout_height="match_parent"  

    tools:context="example.javatpoint.com.preferences.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>  



 MainActivity.java:


import android.content.Intent;  

import android.content.SharedPreferences;  

import android.preference.PreferenceManager;  

import android.support.v7.app.AppCompatActivity;  

import android.os.Bundle;  

import android.view.View;  

import android.widget.Button;  

import android.widget.TextView;  

  

public class MainActivity extends AppCompatActivity {  

    TextView textView;  

    @Override  

    protected 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(MainActivity.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(MainActivity.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());  

  

    }  

  

}  



 PrefsActivity.java:


import android.os.Bundle;  

import android.preference.PreferenceActivity;  

  

public class PrefsActivity extends PreferenceActivity {  

    @Override  

    protected void onCreate(Bundle savedInstanceState) {  

        super.onCreate(savedInstanceState);  

        addPreferencesFromResource(R.xml.prefs);  

    }  

}  



 AndroidManifest.xml:


<?xml version="1.0" encoding="utf-8"?>  

<manifest xmlns:android="http://schemas.android.com/apk/res/android"  

    package="example.javatpoint.com.preferences">  

  

    <application  

        android:allowBackup="true"  

        android:icon="@mipmap/ic_launcher"  

        android:label="@string/app_name"  

        android:roundIcon="@mipmap/ic_launcher_round"  

        android:supportsRtl="true"  

        android:theme="@style/AppTheme">  

        <activity android:name=".MainActivity">  

            <intent-filter>  

                <action android:name="android.intent.action.MAIN" />  

  

                <category android:name="android.intent.category.LAUNCHER" />  

            </intent-filter>  

        </activity>  

        <activity  android:name=".PrefsActivity"  

            android:theme="@android:style/Theme.Black.NoTitleBar" >  

        </activity>  

    </application>  

  

</manifest>  



No comments:

Post a Comment