您好我有一个班级(MyCustomForm.xml
)我用作LoginForm
用户。
现在我想使用EditText
从LoginForm
保存并加载用户名(SharedPreferences
)中的值,但我不知道如何设置{{1}保存的用户名值进入SharedPreferences
中的EditText
。
我正在考虑将LoginForm(MyCustomForm.xml
中的值保存在我的Main.xml中,并通过OnPause
类中的OnCreate
加载值
通常我想使用MyCustomForm.xml
全球。
这看起来怎么样? 有人可以帮助我走上正轨吗?
正在考虑这样的事情SharedPreferences
:
Main.xml
代码public class AndroidLogin extends Activity implements OnClickListener {
@Override
protected void onPause() {
super.onPause();
Editor e = mPrefs.edit();
e.putString(USERNM, username);
e.commit();
}
}
):
MyCustomForm (LoginForm
答案 0 :(得分:10)
您可以这样做:
SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(YouActivity.this);
String servername = settings.getString("sharedPreferencesKey", "defaultValue");
server.setText(servername); // EditText
您存储的数据如下:
SharedPreferences.Editor editor = settings.edit();
editor.putString("server", "serverName");
编辑:
这段代码可以帮到你:
SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(context.getApplicationContext());
String servername = settings.getString("sharedPreferencesKey", "defaultValue");
答案 1 :(得分:2)
你需要使用Prefs&编辑
SharedPreferences spOptions;
SharedPreferences.Editor spOptionEditor;
spOptions = getSharedPreferences("yourKey", 0);
spOptionEditor = spOptions.edit();
string username = spOptions.getString("USERNM", null)
如果您还没有存储任何内容,null表示默认值
您存储的数据如下:
spOptionEditor.putString("USERNM", txtUsername.getText().toString());
spOptionEditor.commit();
答案 2 :(得分:1)
通常我建议您将用户名保存在有效的登录名上,而不是任何生命周期方法中。 然后将myForm更改为:
public class MyCustomForm extends Dialog {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(com.sencide.R.layout.inlogdialog);
String s = getContext().getSharedPreferences("prefName", Mode.PRIVATE).getString(USERNM);
EditText userTest = (EditText)findViewById(R.id.txtUserName);
userTest.setText(s);
}
}
答案 3 :(得分:0)
只需创建一个名为preferences的文件...并使用不同的方法将值存储到它。
使用人们建议的方法来从中获取数据......
public class Settings extends PreferenceActivity implements
OnSharedPreferenceChangeListener{
public static final String PREFS_PRIVATE = "PREFS_PRIVATE";
public static final String MASTERKEY = "!@#$%^&*";
public static final String KEYA = "KEYA";
public static final String KEYB = "KEYB";
public static final String KEYC = "KEYC";
--- the create and get methods for getting and sharing data in the prefs... .....
public static void createPreference(Context context){
getPrefs(context).edit().putString(KEYA, "Default");
getPrefs(context).edit().putInt(KEYB, 0);
getPrefs(context).edit().putLong(KEYC, 0);
getPrefs(context).edit().putBoolean(KEYD, false);
getPrefs(context).edit().commit();
}
public static SharedPreferences getPrefs(Context context) {
return context.getSharedPreferences(PREFS_PRIVATE, 0);
}
public static String getUsername(Context context) {
getPrefs(context).getString(USERNAME, "default");
}
public static void setUsername(Context context, String value) {
getPrefs(context).edit().putString(USERNAME, value).commit();
}
}
.....等等.....如果您发现任何疑问或任何您需要的更具体的事情,请立即实施,请告诉我。
答案 4 :(得分:0)
public void sharedPrefernces() {
sh_Pref = getSharedPreferences("Login Credentials", MODE_PRIVATE);
toEdit = sh_Pref.edit();
toEdit.putString("Username", username);
toEdit.putString("Password", password);
toEdit.commit();
}
了解详情:http://mrbool.com/how-to-implement-shared-preferences-in-android/28370#ixzz34ymRp6mN