我有一个使用代理浏览 url 连接的应用程序。但是我使用的代理主机、端口、用户名和密码使用的是硬编码。我已经做到了。但现在我想用一个引用数据的对象替换那个硬代码。所以用户可以输入他们想要的代理,并可以使用他们的用户名和密码。这是我的流程的样子。
因此,第一个用户可以输入他们想要的连接名称、主机、端口等。然后“保存”它。然后在下一个活动中,它将读取该连接的数据,如果存在,用户只需单击并浏览它。如果没有,他们可以创建连接。如果要创建它(它将返回创建连接表单)。
谢谢,
我有一个使用代理浏览 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();