如何在Android Web浏览器中存储历史记录[关闭]

问题描述 投票:0回答:3

我写了一个简单的Web浏览器,它接受网址并呈现网页。如何存储过去页面视图的历史记录。有人建议一个简单的解决方案?

java android browser-history
3个回答
0
投票

也许你可以看看像Zirco Browser这样的开源项目 - > https://code.google.com/p/zirco-browser/

像这样的一些代码> https://code.google.com/p/zirco-browser/source/browse/branches/tint-browser-old2/src/org/tint/controllers/BookmarksHistoryController.java

   /**
         * Get a Cursor the history, e.g. records wich have a visits count > 0. Sorted by last visited date.
         * @param currentActivity The parent activity.
         * @return A Cursor to history records.
         * @see Cursor
         */
        public Cursor getHistory(Activity currentActivity) {
                String whereClause = Browser.BookmarkColumns.VISITS + " > 0";
                String orderClause = Browser.BookmarkColumns.DATE + " DESC";

                return currentActivity.managedQuery(android.provider.Browser.BOOKMARKS_URI, Browser.HISTORY_PROJECTION, whereClause, null, orderClause);
        }

也许您可以复制一些代码并将其用于您的项目。


3
投票

您可以使用双向链接的LinkedList来维护历史记录,但WebView已经包含处理前进和后退历史记录的方法。

void     goBack()

回到这个WebView的历史。

void     goBackOrForward(int steps)

转到历史记录项目,即距离当前项目的步骤数。

void     goForward()

在这个WebView的历史中前进。

来自文档:https://developer.android.com/reference/android/webkit/WebView.html


1
投票
// put this in your xml file...

<WebView
    android:id="@+id/web_view"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" />

// then in your code

WebView webView = (WebView) findViewById(R.id.web_view);
webView.getSettings().setJavaScriptEnabled(true);
webView.setWebViewClient(new WebViewClient()
{
    // Links clicked will be shown on the webview
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url)
    {
        return super.shouldOverrideUrlLoading(view, url);
    }
}

// Then to load the webpage from edit text would be
webView.loadUrl(--Edit Text URL here);

// To go back to your previous page, call this method
webView.goBack();

// To go to your next page would be
webView.goForward();
© www.soinside.com 2019 - 2024. All rights reserved.