Android实现阅读进度记忆功能

本文实例为大家分享了Android控件WebView实现保存阅读进度的具体代码,供大家参考,具体内容如下

用户提了一个要求,要求保存他的阅读进度,然后在他下次阅读的时候可以继续阅读,然后动手实现了一下,是这样的。

我用的控件是WebView

public class WebViewClientEmb extends WebViewClient {    // 在WebView中而不是系统默认浏览器中显示页面    @Override    public boolean shouldOverrideUrlLoading(WebView view, String url) {      view.loadUrl(url);      System.out.println("Url---------->"+url);      return true;    }    // 页面载入前调用    @Override    public void onPageStarted(WebView view, String url, Bitmap favicon) {      super.onPageStarted(view, url, favicon);    }    // 页面载入完成后调用    @Override    public void onPageFinished(WebView webView, String url) {      int position = CacheUtils.getInt(Laws_DetailActivity.this,link, 0);      webView.scrollTo(0, position);//webview加载完成后直接定位到上次访问的位置      mLoadingDialog.dismiss();    }  }

这中间,link是我的加载网址

@Override  public void onPause() {    super.onPause();    if (webView != null) {      int scrollY = webView.getScrollY();      CacheUtils.putInt(this, link, scrollY);//保存访问的位置    }  }

最后贴出工具类

public class CacheUtils {  private static final String NAME = "";  private static SharedPreferences sp = null;  // 存Strings  public static void putString(Context context, String key, String value) {    if (sp == null) {      sp = context.getSharedPreferences(NAME,          Context.MODE_PRIVATE);    }    sp.edit().putString(key, value).commit();  }  // 取String  public static String getString(Context context, String key, String defValue) {    if (sp == null) {      sp = context.getSharedPreferences(NAME,          Context.MODE_PRIVATE);    }    return sp.getString(key, defValue);  }  //存Int值  public static void putInt(Context context, String key, int value) {    if (sp == null) {      sp = context.getSharedPreferences(NAME,          Context.MODE_PRIVATE);    }    sp.edit().putInt(key, value).commit();  }  //取int值  public static int getInt(Context context, String key, int defValue) {    if (sp == null) {      sp = context.getSharedPreferences(NAME,          Context.MODE_PRIVATE);    }    return sp.getInt(key, defValue);  }}

三步就完成了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

坚韧是成功的一大要素,只要在门上敲得够久够大声,终会把人唤醒的。

Android实现阅读进度记忆功能

相关文章:

你感兴趣的文章:

标签云: