* Basically shared preference in android are used to save the state of an
activity or to save the important data within the scope of an
application means data will remain saved till the application is
installed in the devices. Shared Preference also works as Sessions which
are used for the automatic login process.
* A lightweight mechanism known as shared preferences to save small chunks of data.
* Using the SharedPreferences object, however, you save the data you want through the use of key/ value pairs — specify a key for the data you want to save, and then both it and its value will be saved automatically to an XML file for you.
* A lightweight mechanism known as shared preferences to save small chunks of data.
* Using the SharedPreferences object, however, you save the data you want through the use of key/ value pairs — specify a key for the data you want to save, and then both it and its value will be saved automatically to an XML file for you.
using getSharedpreferences()
To see how the SharedPreferences object works, the following Try It Out demonstrates how easy it is to save user data to an XML file, and then retrieve it easily via the same object.
Saving Data Using the SharedPreferences Object
1- Add the following statements in bold to the main.xml file:
<?xmlversion=”1.0”encoding=”utf-8”?>
<LinearLayoutxmlns:android=”http://schemas.android.com/apk/res/android” android:orientation=”vertical”
android:layout_width=”fill_parent”
android:layout_height=”fill_parent”>
<SeekBar android:id=”@+id/SeekBar01”
android:layout_width=”fill_parent”
android:layout_height=”wrap_content” />
<TextView android:id=”@+id/TextView01”
android:layout_width=”fill_parent”
android:layout_height=”wrap_content”
android:text=”@string/hello” />
<EditText android:id=”@+id/EditText01”
android:layout_width=”fill_parent”
android:layout_height=”wrap_content” />
<Button android:id=”@+id/btnSave”
android:text=”Save”
android:layout_width=”wrap_content”
android:layout_height=”wrap_content” />
</LinearLayout>
2 . Add the following statements in bold to the MainActivity.java file:
package com.emergingandroidtech.SharedPreferences;
import android.app.Activity;
import android.app.Activity;
import android.os.Bundle;
import android.content.SharedPreferences;
import android.content.SharedPreferences;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.SeekBar;
import android.widget.SeekBar.OnSeekBarChangeListener;
import android.widget.Toast;
public class MainActivity extends Activity
{
private SharedPreferences prefs;
private String prefName = “MyPref”;
private EditText editText;
private SeekBar seekBar;
private Button btn;
private static final String FONT_SIZE_KEY = “fontsize”;
private static final String FONT_SIZE_KEY = “fontsize”;
private static final String TEXT_VALUE_KEY = “textvalue”;
/**Calledwhentheactivityisfirstcreated.*/
@Override public void onCreate(BundlesavedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
editText = (EditText) findViewById(R.id.EditText01);
editText = (EditText) findViewById(R.id.EditText01);
seekBar = (SeekBar) findViewById(R.id.SeekBar01);
btn = (Button) findViewById(R.id.btnSave);
btn.setOnClickListener(new View.OnClickListener()
btn.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
//---get the SharedPreferences object---
prefs = getSharedPreferences(prefName, MODE_PRIVATE);
SharedPreferences.Editor editor = prefs.edit();
//---save the values in the EditText view to preferences---
editor.putFloat(FONT_SIZE_KEY, editText.getTextSize());
editor.putString(TEXT_VALUE_KEY, editText.getText().toString());
//---saves the values---
editor.commit();
//---display file saved message---
Toast.makeText(getBaseContext(), “Font size saved successfully!”, Toast.LENGTH_SHORT).show(); }
});
//---load the SharedPreferences object---
SharedPreferences prefs = getSharedPreferences(prefName, MODE_PRIVATE);
//---set the TextView font size to the previously saved values---
float fontSize = prefs.getFloat(FONT_SIZE_KEY, 12);
//---init the SeekBar and EditText---
seekBar.setProgress((int) fontSize);
editText.setText(prefs.getString(TEXT_VALUE_KEY, “”)); editText.setTextSize(seekBar.getProgress());
seekBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener()
seekBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener()
{
@Override public void onStopTrackingTouch(SeekBar seekBar) { }
@Override public void onStartTrackingTouch(SeekBar seekBar) { }
@Override public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
@Override public void onStartTrackingTouch(SeekBar seekBar) { }
@Override public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
//---change the font size of the EditText---
editText.setTextSize(progress);
}
});
}
}
3 . Enter some text into the EditText view and then change its font size by adjusting the SeekBar view Click Save.
4 . The application now displays the same text that you entered earlier using the same font size set earlier.
No comments:
Post a Comment