我有一个使用代理浏览网址连接的应用。但我使用的代理主机,端口,用户名和密码都使用硬编码。我已经做到了。但现在我想用一个引用数据的对象替换该硬编码。因此用户可以输入他们想要的代理,并可以使用他们的用户名和密码。这就是我的流程。
因此,第一个用户可以输入他们想要的连接,主机,端口等的名称。然后“拯救”它。然后在下一个活动中,它将读取该连接的数据,如果存在,用户只需单击并浏览即可。如果不这样做,他们可以创建连接。如果想要创建它(它将返回创建连接表单)。
谢谢,
答案 0 :(得分:1)
如果您只想将数据发送到下一个活动,则可以使用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();