Android 具有SharedReferences的WebView

Android 具有SharedReferences的WebView,android,webview,sharedpreferences,Android,Webview,Sharedpreferences,我存储我的SharedReference,但我不知道如何在webview中使用它。 事实上,我想解决这个问题,根据webview中存储的内容,它会发出一个类似的请求。因此,我希望将http://myurlsharedpreference添加到/mypage中,并且所有内容都显示一个webview,这是可能的,如果是,我的变量如何存储: 公共类设置扩展活动实现OnClickListener{ CheckBox checkBox; EditText editText; Button button;

我存储我的SharedReference,但我不知道如何在webview中使用它。 事实上,我想解决这个问题,根据webview中存储的内容,它会发出一个类似的请求。因此,我希望将http://myurlsharedpreference添加到/mypage中,并且所有内容都显示一个webview,这是可能的,如果是,我的变量如何存储:

公共类设置扩展活动实现OnClickListener{

CheckBox checkBox;
EditText editText;
Button button;

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.settings);

    checkBox = (CheckBox) findViewById(R.id.checkBox1);
    editText = (EditText) findViewById(R.id.editText1);
    button = (Button) findViewById(R.id.button1);
    button.setOnClickListener(this);
    loadSavedPreferences();
}

private void loadSavedPreferences() {
    SharedPreferences sharedPreferences = PreferenceManager
            .getDefaultSharedPreferences(this);
    boolean checkBoxValue = sharedPreferences.getBoolean("CheckBox_Value", false);
    String name = sharedPreferences.getString("storedName", "YourName");
    if (checkBoxValue) {
        checkBox.setChecked(true);
    } else {
        checkBox.setChecked(false);
    }

    editText.setText(name);
}

private void savePreferences(String key, boolean value) {
    SharedPreferences sharedPreferences = PreferenceManager
            .getDefaultSharedPreferences(this);
    Editor editor = sharedPreferences.edit();
    editor.putBoolean(key, value);
    editor.commit();
}

private void savePreferences(String key, String value) {
    SharedPreferences sharedPreferences = PreferenceManager
            .getDefaultSharedPreferences(this);
    Editor editor = sharedPreferences.edit();
    editor.putString(key, value);
    editor.commit();
}

@Override
public void onClick(View v) {
    // TODO Auto-generated method stub
    savePreferences("CheckBox_Value", checkBox.isChecked());
    if (checkBox.isChecked())
        savePreferences("storedName", editText.getText().toString());

    finish();
}
}

Second活动(单击按钮时所需的位置)

试试这个:

WebView myWebView = (WebView) findViewById(R.id.webview);
String UsersURL = [taken from shared preferences];
String UsersURL = UsersURL+"/mypage";
myWebView.loadUrl(UsersURL);
编辑:

在您的第一个活动中: 您将数据存储在SharedReferences中,然后打开名为SecondActivity的新活动(例如)。 假设您存储了一个名为:MyData的字符串,其值为“Hello”

如果要从存储在SharedReferences中的FirstActivity检索SecondActivity中的值,请执行以下操作:

您需要像这样调用SharedReference,例如:

public String GetData(String dataname, String defaultValue){
    SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
    String name = sharedPreferences.getString(dataname, defaultValue);
    return name;
    }

Now within your second activity you call:
GetData(“MyData”,“无值集”)


这将返回您以前存储的数据字符串

等等,如果我理解正确:您想从SharedReferences加载url并将其加载到url add:/mypage的末尾吗?然后将此URL应用于WebView?是的,我想这样做我已经尝试过了,但是在这个活动中,SharedReference不是call。。。我的代码在第二个活动中,所以我编辑了我的第一个postWait,是什么阻止你在第二个活动中获取SharedReference?我不明白,我必须再说一遍SharedReference?当我测试你的代码时,它突然给了我很多错误,我想肯定是遗漏了很多东西。这对我来说很难理解,你能编辑我的代码吗?例如,请,我会更好地理解你在第二个活动中检索共享偏好变量吗?
public String GetData(String dataname, String defaultValue){
    SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
    String name = sharedPreferences.getString(dataname, defaultValue);
    return name;
    }

Now within your second activity you call: