Android實現(xiàn)閱讀進度記憶功能
本文實例為大家分享了Android控件WebView實現(xiàn)保存閱讀進度的具體代碼,供大家參考,具體內(nèi)容如下
用戶提了一個要求,要求保存他的閱讀進度,然后在他下次閱讀的時候可以繼續(xù)閱讀,然后動手實現(xiàn)了一下,是這樣的。
我用的控件是WebView
public class WebViewClientEmb extends WebViewClient {
// 在WebView中而不是系統(tǒng)默認瀏覽器中顯示頁面
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
System.out.println("Url---------->"+url);
return true;
}
// 頁面載入前調(diào)用
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
super.onPageStarted(view, url, favicon);
}
// 頁面載入完成后調(diào)用
@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是我的加載網(wǎng)址
@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);
}
}
三步就完成了。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Android WebView如何判定網(wǎng)頁加載的錯誤
- Android webView字體突然變小的原因及解決
- Android 解決WebView多進程崩潰的方法
- Android 中 WebView 的基本用法詳解
- 在Android環(huán)境下WebView中攔截所有請求并替換URL示例詳解
- 解決Android webview設(shè)置cookie和cookie丟失的問題
- Android 如何從零開始寫一款書籍閱讀器的示例
- android閱讀器長按選擇文字功能實現(xiàn)代碼
- android仿新聞閱讀器菜單彈出效果實例(附源碼DEMO下載)
- Android實現(xiàn)閱讀APP平移翻頁效果
- Android編程實現(xiàn)小說閱讀器滑動效果的方法
- Android使用WebView實現(xiàn)離線閱讀功能
相關(guān)文章
android中使用Activity實現(xiàn)監(jiān)聽手指上下左右滑動
這篇文章主要介紹了android中使用Activity實現(xiàn)監(jiān)聽手指上下左右滑動,本文使用了Activity的ontouchEvent方法監(jiān)聽手指點擊事件,并給出代碼實例,需要的朋友可以參考下2015-05-05
Android webview加載https鏈接錯誤或無響應(yīng)的解決
這篇文章主要介紹了Android webview加載https鏈接錯誤或無響應(yīng)的解決,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03
ionic App 解決android端在真機上tab處于頂部的問題
這篇文章主要介紹了ionic App 解決android端在真機上tab處于頂部的問題的相關(guān)資料,需要的朋友可以參考下2017-06-06
Android Handler runWithScissors 梳理流程解析
這篇文章主要為大家介紹了Android Handler runWithScissors 梳理流程解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-10-10
Android開發(fā)之多媒體文件獲取工具類實例【音頻,視頻,圖片等】
這篇文章主要介紹了Android開發(fā)之多媒體文件獲取工具類,結(jié)合實例形式分析了Android獲取音頻,視頻及圖片等多媒體資源的相關(guān)操作技巧,需要的朋友可以參考下2017-10-10
Android Studio 3.6中使用視圖綁定替代 findViewById的方法
從 Android Studio 3.6 開始,視圖綁定能夠通過生成綁定對象來替代 findViewById,從而可以幫您簡化代碼、移除 bug,并且從 findViewById 的模版代碼中解脫出來,今天通過本文給大家介紹使用視圖綁定替代 findViewById的方法,感興趣的朋友一起看看吧2020-03-03

