在Android中保存和读取数据的最佳方法
作者:互联网
我有一个使用代理浏览URL连接的应用程序.但是我使用的代理主机,端口,用户名和密码正在使用硬代码.我已经做到了.但是现在我想只用一个引用数据的对象替换该硬代码.因此用户可以输入所需的代理,并可以使用其用户名和密码.这是我的流程.
因此,第一个用户可以输入所需的连接,主机,端口等名称.然后“保存”它.然后在下一个活动中,它将读取该连接的数据,如果存在该数据,则用户只需单击并浏览它即可.如果没有,他们可以创建连接.如果要创建它(它将返回到创建连接表单).
谢谢,
解决方法:
如果您只是想将数据发送到下一个活动,则可以使用intent.putExtra();.然后在下一个活动中调用getIntent().getStringExtras();
如果要保存数据直到下次用户更改它,则可以使用SharedPrefrance,因为您的数据量很少.
如果您的数据敏感(希望提供更高的安全性),则可以放入数据库或加密并放入数据库
在处理用户名和密码时,应使用sqlite数据库.否则,SharedPrefrance最好.
这是我的首选课程:
public class GreetingCardData {
public static final String SHARED_PREF_FILE = "greetingCardData";
public static final String KEY_DO_NOT_SHOW = "doNotShow";
public static final String KEY_CATEGORIES_JSON = "categoriesJson";
private SharedPreferences sharedPrefs;
private Editor prefsEditor;
public GreetingCardData(Context context) {
this.sharedPrefs = context.getSharedPreferences(SHARED_PREF_FILE, 0);
this.prefsEditor = sharedPrefs.edit();
}
public void setDoNotShowFlag ( boolean flag ){
prefsEditor.putBoolean( KEY_DO_NOT_SHOW, flag );
prefsEditor.commit();
}
public boolean getDoNotShowFlag(){
return sharedPrefs.getBoolean( KEY_DO_NOT_SHOW, false );
}
public void setGreetingcardJson( String jsonString ){
prefsEditor.putString( KEY_CATEGORIES_JSON, jsonString );
prefsEditor.commit();
}
public String getGreetingcardJsonString(){
return sharedPrefs.getString(KEY_CATEGORIES_JSON, "");
}
}
来自活动的致电:
保存数据:
new GreetingCardData(ActivityMain.this).setDoNotShowFlag(flag);
获取数据:
boolean flag = new GreetingCardData(ActivityMain.this).getDoNotShowFlag();
标签:android,database,sharedpreferences,save,android-sqlite 来源: https://codeday.me/bug/20191009/1883130.html