{"id":2516,"date":"2017-05-04T19:12:37","date_gmt":"2017-05-04T19:12:37","guid":{"rendered":"http:\/\/webartdevelopers.com\/?p=2516"},"modified":"2017-05-05T09:04:45","modified_gmt":"2017-05-05T09:04:45","slug":"how-to-store-data-in-shared-preference-in-android","status":"publish","type":"post","link":"https:\/\/webartdevelopers.com\/blog\/how-to-store-data-in-shared-preference-in-android\/","title":{"rendered":"How to Store Data in Shared Preference in Android"},"content":{"rendered":"<p>In this tutorial how to store data in Shared Preference\u00a0in an Android Application is shown.<\/p>\n<p>By using Shared Preference, we can store the data in pair of key &amp; values.<\/p>\n<p>By using Shared Preference, we can store the small collection of data.<\/p>\n<p>A SharedPreference object points to a file containing key &amp; value pairs and it provides a simple method to read and write.<\/p>\n<p>The SharedPreference file is accessed by calling getSharedPreference() method and getPreference() method.<\/p>\n<p>The getSharedPreference() method will access the multiple shared preferences where as getPreference() method will access only one shared preference.<\/p>\n<p>It is widely used to get information from user such as in settings.<\/p>\n<p>For ex. Synchronised Gmail Account.<\/p>\n<p>Point to Remember:<\/p>\n<ul>\n<li>If you want to see where your Application&#8217;s Shared Preferences are stored follow the below mentioned steps:\n<ol>\n<li>Click the DDMS button on the top<\/li>\n<li>Open the File Explorer<\/li>\n<li>Open Data folder<\/li>\n<li>Again open the Data folder<\/li>\n<li>Open your package name folder, for ex. com.example.demo<\/li>\n<li>Open shared_prefs folder<\/li>\n<li>Your Shared Preferences are stored in the file present inside the \u00a0shared_prefs folder<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n<p>Code:<\/p>\n<p>activity_main.xml<\/p>\n<p>&lt;RelativeLayout xmlns:android=&#8221;http:\/\/schemas.android.com\/apk\/res\/android&#8221;<br \/>\nxmlns:tools=&#8221;http:\/\/schemas.android.com\/tools&#8221;<br \/>\nandroid:layout_width=&#8221;match_parent&#8221;<br \/>\nandroid:layout_height=&#8221;match_parent&#8221;<br \/>\nandroid:paddingBottom=&#8221;@dimen\/activity_vertical_margin&#8221;<br \/>\nandroid:paddingLeft=&#8221;@dimen\/activity_horizontal_margin&#8221;<br \/>\nandroid:paddingRight=&#8221;@dimen\/activity_horizontal_margin&#8221;<br \/>\nandroid:paddingTop=&#8221;@dimen\/activity_vertical_margin&#8221;<br \/>\ntools:context=&#8221;.MainActivity&#8221; &gt;<\/p>\n<p>&lt;TextView<br \/>\nandroid:id=&#8221;@+id\/textPrefs&#8221;<br \/>\nandroid:layout_width=&#8221;wrap_content&#8221;<br \/>\nandroid:layout_height=&#8221;wrap_content&#8221;<br \/>\nandroid:layout_below=&#8221;@+id\/showinfo&#8221;<br \/>\nandroid:layout_centerHorizontal=&#8221;true&#8221;<br \/>\nandroid:layout_marginTop=&#8221;54dp&#8221; \/&gt;<\/p>\n<p>&lt;TextView<br \/>\nandroid:id=&#8221;@+id\/textView2&#8243;<br \/>\nandroid:layout_width=&#8221;wrap_content&#8221;<br \/>\nandroid:layout_height=&#8221;wrap_content&#8221;<br \/>\nandroid:layout_alignBottom=&#8221;@+id\/storeinfo&#8221;<br \/>\nandroid:layout_centerHorizontal=&#8221;true&#8221;<br \/>\nandroid:layout_marginBottom=&#8221;78dp&#8221;<br \/>\nandroid:text=&#8221;Data Preference Example&#8221; \/&gt;<\/p>\n<p>&lt;Button<br \/>\nandroid:id=&#8221;@+id\/storeinfo&#8221;<br \/>\nandroid:layout_width=&#8221;wrap_content&#8221;<br \/>\nandroid:layout_height=&#8221;wrap_content&#8221;<br \/>\nandroid:layout_alignParentTop=&#8221;true&#8221;<br \/>\nandroid:layout_alignRight=&#8221;@+id\/textView2&#8243;<br \/>\nandroid:layout_marginTop=&#8221;139dp&#8221;<br \/>\nandroid:text=&#8221;Store Information&#8221; \/&gt;<\/p>\n<p>&lt;Button<br \/>\nandroid:id=&#8221;@+id\/showinfo&#8221;<br \/>\nandroid:layout_width=&#8221;wrap_content&#8221;<br \/>\nandroid:layout_height=&#8221;wrap_content&#8221;<br \/>\nandroid:layout_alignRight=&#8221;@+id\/storeinfo&#8221;<br \/>\nandroid:layout_below=&#8221;@+id\/textView2&#8243;<br \/>\nandroid:layout_marginTop=&#8221;47dp&#8221;<br \/>\nandroid:text=&#8221;Show Information&#8221; \/&gt;<\/p>\n<p>&lt;\/RelativeLayout&gt;<\/p>\n<p>res\/xml\/prefs.xml<\/p>\n<p>&lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;utf-8&#8243;?&gt;<br \/>\n&lt;PreferenceScreen xmlns:android=&#8221;http:\/\/schemas.android.com\/apk\/res\/android&#8221; &gt;<br \/>\n&lt;PreferenceCategory<br \/>\nandroid:summary=&#8221;Username and Password Information&#8221;<br \/>\nandroid:title=&#8221;Login Information&#8221;&gt;<br \/>\n&lt;EditTextPreference<br \/>\nandroid:key=&#8221;username&#8221;<br \/>\nandroid:summary=&#8221;Enter your username&#8221;<br \/>\nandroid:title=&#8221;Username&#8221;&gt;&lt;\/EditTextPreference&gt;<br \/>\n&lt;EditTextPreference<br \/>\nandroid:key=&#8221;password&#8221;<br \/>\nandroid:summary=&#8221;Enter your password&#8221;<br \/>\nandroid:title=&#8221;Password&#8221;&gt;&lt;\/EditTextPreference&gt;<br \/>\n&lt;\/PreferenceCategory&gt;<br \/>\n&lt;PreferenceCategory<br \/>\nandroid:summary=&#8221;Username and Password Information&#8221;<br \/>\nandroid:title=&#8221;Settings&#8221;&gt;<br \/>\n&lt;CheckBoxPreference<br \/>\nandroid:key=&#8221;checkBox&#8221;<br \/>\nandroid:summary=&#8221;On\/Off&#8221;<br \/>\nandroid:title=&#8221;Keep me logged in&#8221;\/&gt;<br \/>\n&lt;ListPreference<br \/>\nandroid:entries=&#8221;@array\/listOptions&#8221;<br \/>\nandroid:entryValues=&#8221;@array\/listValues&#8221;<br \/>\nandroid:key=&#8221;listpref&#8221;<br \/>\nandroid:summary=&#8221;List Preference Example&#8221;<br \/>\nandroid:title=&#8221;List Preference&#8221;\/&gt;<br \/>\n&lt;\/PreferenceCategory&gt;<\/p>\n<p>&lt;\/PreferenceScreen&gt;<\/p>\n<p>res\/values\/array.xml<\/p>\n<p>&lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;utf-8&#8243;?&gt;<br \/>\n&lt;resources&gt;<br \/>\n&lt;string-array name=&#8221;listOptions&#8221;&gt;<br \/>\n&lt;item&gt;English&lt;\/item&gt;<br \/>\n&lt;item&gt;French&lt;\/item&gt;<br \/>\n&lt;item&gt;German&lt;\/item&gt;<br \/>\n&lt;item&gt;Arabic&lt;\/item&gt;<br \/>\n&lt;item&gt;Hindi&lt;\/item&gt;<br \/>\n&lt;item&gt;Other&lt;\/item&gt;<br \/>\n&lt;\/string-array&gt;<br \/>\n&lt;string-array name=&#8221;listValues&#8221;&gt;<br \/>\n&lt;item&gt;English Language&lt;\/item&gt;<br \/>\n&lt;item&gt;French Language&lt;\/item&gt;<br \/>\n&lt;item&gt;German Language&lt;\/item&gt;<br \/>\n&lt;item&gt;Arabic Language&lt;\/item&gt;<br \/>\n&lt;item&gt;Hindi Language&lt;\/item&gt;<br \/>\n&lt;item&gt;Other Language&lt;\/item&gt;<br \/>\n&lt;\/string-array&gt;<\/p>\n<p>&lt;\/resources&gt;<\/p>\n<p>MainActivity.java<\/p>\n<p>package com.example.demo;<\/p>\n<p>import android.os.Bundle;<br \/>\nimport android.preference.PreferenceManager;<br \/>\nimport android.app.Activity;<br \/>\nimport android.content.Intent;<br \/>\nimport android.content.SharedPreferences;<br \/>\nimport android.view.Menu;<br \/>\nimport android.view.View;<br \/>\nimport android.widget.Button;<br \/>\nimport android.widget.TextView;<\/p>\n<p>public class MainActivity extends Activity{<\/p>\n<p>TextView tv;<\/p>\n<p>@Override<br \/>\nprotected void onCreate(Bundle savedInstanceState) {<br \/>\nsuper.onCreate(savedInstanceState);<br \/>\nsetContentView(R.layout.activity_main);<br \/>\nButton storeinfo=(Button)findViewById(R.id.storeinfo);<br \/>\nButton showinfo=(Button)findViewById(R.id.showinfo);<br \/>\ntv=(TextView)findViewById(R.id.textPrefs);<\/p>\n<p>View.OnClickListener listener=new View.OnClickListener() {<\/p>\n<p>@Override<br \/>\npublic void onClick(View v) {<br \/>\n\/\/ TODO Auto-generated method stub<br \/>\nswitch(v.getId())<br \/>\n{<br \/>\ncase R.id.storeinfo:<br \/>\nIntent intent=new Intent(MainActivity.this,PrefsActivity.class);<br \/>\nstartActivity(intent);<br \/>\nbreak;<br \/>\ncase R.id.showinfo:<br \/>\ndisplaySharedPreferences();<br \/>\nbreak;<br \/>\ndefault:<br \/>\nbreak;<br \/>\n}<br \/>\n}<br \/>\n};<br \/>\nstoreinfo.setOnClickListener(listener);<br \/>\nshowinfo.setOnClickListener(listener);<br \/>\n}<\/p>\n<p>private void displaySharedPreferences(){<br \/>\nSharedPreferences prefs=PreferenceManager.getDefaultSharedPreferences(MainActivity.this);<br \/>\nString username=prefs.getString(&#8220;username&#8221;, &#8220;Default Username&#8221;);<br \/>\nString password=prefs.getString(&#8220;password&#8221;, &#8220;Default Password&#8221;);<br \/>\nboolean checkBox=prefs.getBoolean(&#8220;checkBox&#8221;, false);<br \/>\nString listPrefs=prefs.getString(&#8220;listpref&#8221;,&#8221;Default list prefs&#8221;);<br \/>\nStringBuilder builder=new StringBuilder();<br \/>\nbuilder.append(&#8220;Username: &#8220;+username+&#8221;\\n&#8221;);<br \/>\nbuilder.append(&#8220;Password: &#8220;+password+&#8221;\\n&#8221;);<br \/>\nbuilder.append(&#8220;Keep me logged in: &#8220;+String.valueOf(checkBox)+&#8221;\\n&#8221;);<br \/>\nbuilder.append(&#8220;List Preference: &#8220;+listPrefs);<br \/>\ntv.setText(builder.toString());<br \/>\n}<\/p>\n<p>@Override<br \/>\npublic boolean onCreateOptionsMenu(Menu menu) {<br \/>\n\/\/Inflate the menu; this adds items to the action bar if it is present.<br \/>\ngetMenuInflater().inflate(R.menu.main, menu);<br \/>\nreturn true;<br \/>\n}<br \/>\n}<\/p>\n<p>PrefsActivity.java<\/p>\n<p>package com.example.demo;<\/p>\n<p>import android.os.Bundle;<br \/>\nimport android.preference.PreferenceActivity;<\/p>\n<p>public class PrefsActivity extends PreferenceActivity{<br \/>\n@Override<br \/>\nprotected void onCreate(Bundle savedInstanceState) {<br \/>\nsuper.onCreate(savedInstanceState);<br \/>\naddPreferencesFromResource(R.xml.prefs);<br \/>\n}<\/p>\n<p>}<\/p>\n<p>AndroidManifest.xml<\/p>\n<p>&lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;utf-8&#8243;?&gt;<br \/>\n&lt;manifest xmlns:android=&#8221;http:\/\/schemas.android.com\/apk\/res\/android&#8221;<br \/>\npackage=&#8221;com.example.demo&#8221;<br \/>\nandroid:versionCode=&#8221;1&#8243;<br \/>\nandroid:versionName=&#8221;1.0&#8243; &gt;<\/p>\n<p>&lt;uses-sdk<br \/>\nandroid:minSdkVersion=&#8221;8&#8243;<br \/>\nandroid:targetSdkVersion=&#8221;17&#8243; \/&gt;<\/p>\n<p>&lt;application<br \/>\nandroid:allowBackup=&#8221;true&#8221;<br \/>\nandroid:icon=&#8221;@drawable\/ic_launcher&#8221;<br \/>\nandroid:label=&#8221;@string\/app_name&#8221;<br \/>\nandroid:theme=&#8221;@style\/AppTheme&#8221; &gt;<br \/>\n&lt;activity<br \/>\nandroid:name=&#8221;com.example.demo.MainActivity&#8221;<br \/>\nandroid:label=&#8221;@string\/app_name&#8221; &gt;<br \/>\n&lt;intent-filter&gt;<br \/>\n&lt;action android:name=&#8221;android.intent.action.MAIN&#8221; \/&gt;<\/p>\n<p>&lt;category android:name=&#8221;android.intent.category.LAUNCHER&#8221; \/&gt;<br \/>\n&lt;\/intent-filter&gt;<br \/>\n&lt;\/activity&gt;<br \/>\n&lt;activity android:name=&#8221;.PrefsActivity&#8221;&gt;&lt;\/activity&gt;<\/p>\n<p>&lt;\/application&gt;<\/p>\n<p>&lt;\/manifest&gt;<\/p>\n<p><a href=\"https:\/\/youtu.be\/7ALiv_zfokE\">https:\/\/youtu.be\/7ALiv_zfokE<\/a><\/p>\n<!-- AddThis Advanced Settings generic via filter on the_content -->","protected":false},"excerpt":{"rendered":"In this tutorial how to store data in Shared Preference\u00a0in an Android Application is shown. By using Shared Preference, we can store the data in pair of key &amp; values. By using Shared Preference, we can store the small collection of data. A SharedPreference object points to a file containing key &amp; value pairs and it provides a simple method to read and write. The SharedPreference file is accessed by calling getSharedPreference() method and getPreference() method. The getSharedPreference() method will access the multiple shared preferences where as getPreference() method will access only one shared preference. It is widely used to get information from user such as in settings. For ex. Synchronised Gmail Account. Point to Remember: If you want to <!-- AddThis Advanced Settings generic via filter on get_the_excerpt -->","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[62],"tags":[106,107],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/webartdevelopers.com\/blog\/wp-json\/wp\/v2\/posts\/2516"}],"collection":[{"href":"https:\/\/webartdevelopers.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/webartdevelopers.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/webartdevelopers.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/webartdevelopers.com\/blog\/wp-json\/wp\/v2\/comments?post=2516"}],"version-history":[{"count":3,"href":"https:\/\/webartdevelopers.com\/blog\/wp-json\/wp\/v2\/posts\/2516\/revisions"}],"predecessor-version":[{"id":2520,"href":"https:\/\/webartdevelopers.com\/blog\/wp-json\/wp\/v2\/posts\/2516\/revisions\/2520"}],"wp:attachment":[{"href":"https:\/\/webartdevelopers.com\/blog\/wp-json\/wp\/v2\/media?parent=2516"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/webartdevelopers.com\/blog\/wp-json\/wp\/v2\/categories?post=2516"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/webartdevelopers.com\/blog\/wp-json\/wp\/v2\/tags?post=2516"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}