我正在编写一个使用WebView的应用程序,每次启动该应用程序时,它都会进入相同的loadUrl。这是我建立的WebView。其次是我希望WebView执行的所有其他操作。
myWebView = findViewById(R.id.myWebView);
WebSettings webSettings = myWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
myWebView.loadUrl(theUrlHere);
现在,可以说用户满足了特定条件,是否采取了某些措施,或者只是第二次启动应用程序,是否有可能使用SharedPreferences
来更改网址将在下次启动该应用程序时加载?
编辑:我可以举个例子来说明如何实现吗?预先感谢!
答案 0 :(得分:1)
共享首选项实施:
private SharedPreferences pref;
然后加载
pref = this.getSharedPreferences("myAppPref",MODE_PRIVATE);
现在,如果他满足您所说的关于保存newUrl的条件,请放上新网址
pref.edit().putString("url","my new url to be loaded").commit();
,并且当用户现在重新打开(或第一次打开)时,您必须从首选项中加载它:
String WebUrl= pref.getString("url","default url here");
myWebView.loadUrl(WebUrl); //this is ur webview
现在,如果该值为NULL(未找到),它将返回默认的url(这种情况是他第一次打开)
注意:,您应该在退出时清除缓存。
注意::如果用户清除了应用程序数据,此值将丢失。
答案 1 :(得分:0)
是的,您可以
首先,创建此类以处理SharedPreferencess
public class SharedPreferensessClass {
static SharedPreferensessClass Instance;
static SharedPreferences sharedPreferences;
static SharedPreferences.Editor editor;
Context context;
public SharedPreferensessClass(Context context) {
this.context = context;
}
public static SharedPreferensessClass getInstance(Context context) {
if (Instance == null) {
Instance = new SharedPreferensessClass(context);
}
init(context);
return Instance;
}
public static void init(Context context) {
if (sharedPreferences == null) {
sharedPreferences = context.getSharedPreferences("app_name", Context.MODE_PRIVATE);
}
if (editor == null) {
editor = sharedPreferences.edit();
}
}
public static void setFirstTimeFalse() {
editor.putBoolean("firstTime", false);
editor.commit();
}
public static boolean getFirstTime() {
return sharedPreferences.getBoolean("firstTime", true);
}
public static String getLink() {
return sharedPreferences.getString("mainUrl", "");
}
public void setLink(String name) {
editor.putString("mainUrl", name);
editor.commit();
}
}
然后使用此代码第一次保存链接
if (SharedPreferensessClass.getInstance(getBaseContext()).getFirstTime()) {
System.out.println("FIRSTTIMENOW");
SharedPreferensessClass.getInstance(getBaseContext()).setLink("http://your_link");
SharedPreferensessClass.getInstance(getBaseContext()).setFirstTimeFalse();
}
最后一步,使用此代码从SharePreferencess获取链接并将其放入webView
myWebView.loadUrl(SharedPreferensessClass.getInstance(context).getLink());
注意:即使用户清除了数据,该值也不会丢失,因为这将是第一次:D
编码愉快!