android - How do I save and display String using SharedPreference? -
i have following code application force closes before opening. have edittext, button , textview. clicking button should save string edittext sharedpreference , sharedpreference string should displayed in textview. doing wrong here.
package com.jainchiranjeev.arduinoremote.newcomponents; import android.content.sharedpreferences; import android.support.v7.app.actionbaractivity; import android.os.bundle; import android.support.v7.app.appcompatactivity; import android.view.menu; import android.view.menuitem; import android.view.view; import android.widget.button; import android.widget.edittext; import android.widget.textview; public class mainactivity extends appcompatactivity { edittext edittext; button confirm; textview text; public static final string name = "myprefs"; sharedpreferences.editor editor = getsharedpreferences(name, mode_world_writeable).edit(); @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); confirm.setonclicklistener(new view.onclicklistener() { @override public void onclick(view v) { editor.putstring("name", string.valueof(edittext.gettext())); editor.commit(); } }); sharedpreferences prefs = getsharedpreferences(name, mode_world_readable); string restoredtext = prefs.getstring("name","your name appears here"); text.settext(restoredtext); } @override public boolean oncreateoptionsmenu(menu menu) { // inflate menu; adds items action bar if present. getmenuinflater().inflate(r.menu.menu_main, menu); return true; } @override public boolean onoptionsitemselected(menuitem item) { // handle action bar item clicks here. action bar // automatically handle clicks on home/up button, long // specify parent activity in androidmanifest.xml. int id = item.getitemid(); //noinspection simplifiableifstatement if (id == r.id.action_settings) { return true; } return super.onoptionsitemselected(item); } }
get shared preferences in oncreatemethod , dont initialize editor field of class.
sharedpreferences.editor editor = context.getsharedpreferences( preferences_name, context.mode_multi_process | context.mode_private).edit(); editor.putstring(setting, value); editor.apply(); also take trainning http://developer.android.com/training/basics/data-storage/shared-preferences.html
Comments
Post a Comment