簡體   English   中英

在沒有安卓android瀏覽器幫助的情況下打開網址?

[英]open a url without help of android browser in android?

我正在開發一個Android應用程序,我想在沒有打開android的默認瀏覽器的情況下從網址獲取新聞。 這意味着我只想獲取texutal內容,只獲取新聞而不是瀏覽器中的完整html頁面。 我怎樣才能做到這一點?

如果我理解正確 - 您需要在線提出請求並收到html代碼。 這樣做如下:

DefaultHttpClient client = new DefaultHttpClient();
HttpGet request = new HttpGet();
request.setURI(new URI(http://example.com/news));

HttpResponse response = client.execute(request);
BufferedReader in = new BufferedReader(new InputStreamReader(
response.getEntity().getContent()));
StringBuffer sb = new StringBuffer("");
String line;
while ((line = in.readLine()) != null) {
    sb.append(line);
}
in.close();

String html = sb.toString();
    Hi Yes You can implement this.Use This code which i mention below.



 - WebView webView = (WebView) findViewById(R.id.webview_btn);
   WebSettings settings = webView.getSettings();
   mProgress = ProgressDialog.show(this, "Loading", "Please wait for a moment...");

               settings.setJavaScriptEnabled(true);
               settings.setSupportZoom(true);
               settings.setBuiltInZoomControls(true);

               WebViewClient client = new WebViewClient() {
                @Override
                public boolean shouldOverrideUrlLoading(WebView view, String url) {
                    // TODO Auto-generated method stub
                    view.loadUrl(url);
                    mProgress.show();

                    return true;
                }
                   @Override
                   public void onPageFinished(WebView view, String url) {

                    if(mProgress.isShowing())
                    {
                        mProgress.dismiss();
                    }
                   }
               };
               webView.loadUrl(enter your url);
               webView.setWebViewClient(client);
HttpClient httpClient = new DefaultHttpClient();
HttpContext localContext = new BasicHttpContext();
HttpGet httpGet = new HttpGet("http://www.example.com/" + URL);
response = httpClient.execute(httpGet, localContext);

您是說要解析網頁的實際內容到您的應用程序嗎? 當我在我的一個應用程序中這樣做時,我用一個簡單的http://developer.android.com/reference/org/xmlpull/v1/XmlPullParser.html解析了整個網頁,然后我拿出那些相關的標簽。 然而,這需要在asynctask(http://developer.android.com/reference/android/os/AsyncTask.html)下運行一些非常繁重的動態編程。

URL url = new URL(XML_INIT_ADRESS);
XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
factory.setNamespaceAware(false);
XmlPullParser xpp = factory.newPullParser();
xpp.setInput(url.openStream(), null);

我個人還不太熟悉Android,並且仍在學習,但您應該可以通過這種方式解析網頁中的新聞。

編輯:這種方法幾乎需要對某些“新聞標簽”進行識別,如果它們是“無法定義的”,Antons的回答會更好。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM