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