0

我有一个使用代理浏览 url 连接的应用程序。但是我使用的代理主机、端口、用户名和密码使用的是硬编码。我已经做到了。但现在我想用一个引用数据的对象替换那个硬代码。所以用户可以输入他们想要的代理,并可以使用他们的用户名和密码。这是我的流程的样子。

在此处输入图像描述

因此,第一个用户可以输入他们想要的连接名称、主机、端口等。然后“保存”它。然后在下一个活动中,它将读取该连接的数据,如果存在,用户只需单击并浏览它。如果没有,他们可以创建连接。如果要创建它(它将返回创建连接表单)。

谢谢,

4

1 回答 1

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();
于 2013-05-30T09:51:47.877 回答