Java Android:解析webview的内容而不重新加载和发布

Java Android:解析webview的内容而不重新加载和发布,java,android,post,webview,webviewclient,Java,Android,Post,Webview,Webviewclient,我有一个问题,我的实际android工作集,我不知道如何处理它。我希望在这里能得到帮助;) 我想从一个网站上获取内容(这是我的)。我必须解析一个html标记,该标记与以下源代码完美配合: WebView webview = new WebView(getApplicationContext()); webview.getSettings().setJavaScriptEnabled(true); webview.addJavascriptInterface(new JIFace(), "HTML

我有一个问题,我的实际android工作集,我不知道如何处理它。我希望在这里能得到帮助;)

我想从一个网站上获取内容(这是我的)。我必须解析一个html标记,该标记与以下源代码完美配合:

WebView webview = new WebView(getApplicationContext());
webview.getSettings().setJavaScriptEnabled(true);
webview.addJavascriptInterface(new JIFace(), "HTMLOUT");
webview.setWebViewClient(new BasicWebViewClient());
webview.loadUrl("http://webaldo.at/blabla.php");
我的Webviewclient如下所示:

private class BasicWebViewClient extends WebViewClient {
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        view.loadUrl(url);
        return true;
    }

    @Override
    public void onReceivedError(WebView view, int errorCode,
            String description, String failingUrl) {
        progressRingDialog.dismiss();
        doErrorDialog("Webservice Offline", "Der Webserver kann nicht erreicht werden. Bitte versuche es später nochmal.");

    }

    @Override
    public void onPageFinished(WebView view, String url) {
        super.onPageFinished(view, url);
        if( progressRingDialog != null ) {
            progressRingDialog.dismiss();
        }
        if( alertDialog != null ) {
            alertDialog.dismiss();
        }
        progressRingDialog = ProgressDialog.show(Login.this, getString(R.string.progress_title), "Passwort wird überprüft", true);
        TextView textView = (TextView)findViewById(R.id.statuslabel);
        textView.setText("Benutzername wird geprüft");
        webview.setWebViewClient(new ExtendedWebViewClient());
        webview.loadUrl("javascript:window.HTMLOUT.showHTML(document.getElementsByTagName('x')[0].innerHTML);");
    }

    @Override
    public void onPageStarted(WebView view, String url, Bitmap favicon) {
        super.onPageStarted(view, url, favicon);
    }
}
是的,我的标签,我要解析的是

<x></x>
因为我必须使用此方法向页面发送POST参数:

webview.postUrl("http://webaldo.at/blabla.php", EncodingUtils.getBytes("username="+username+"&password="+password, "BASE64"));
在这种情况下,我的JSF接口中没有数据

你们中有没有人有类似的问题,或者知道一种更好或更简单的方法来处理我的用户名/密码自动验证问题

我期待着好的答案

问候

顺便说一句:URL不是以这种方式存在的,但这不重要。我的Web服务器不支持REST服务,因此我必须以这种方式进行修复。

您可以使用连接到站点并解析数据,然后使用webview的方法发送数据

下面是一个如何使用Jsoup连接到特定页面的示例:

Document doc = Jsoup.connect("http://en.wikipedia.org/").get();
Elements newsHeadlines = doc.select("#mp-itn b a");

希望这能有所帮助。

以及如何将其与网络视图相结合。你有一个匹配这些的例子吗?为什么你需要合并它?也许我有点困惑。我的想法是使用Jsoup解析网站上的用户名和密码,然后使用webview.postrl()。只有通过POST发送用户名和密码,我才能从网站上获取数据。用户名和密码存储在我的应用程序中
Document doc = Jsoup.connect("http://en.wikipedia.org/").get();
Elements newsHeadlines = doc.select("#mp-itn b a");