2011-12-17 16 views
1

アンドロイドの既定のブラウザを開かずにURLからニュースを取得したいアンドロイドアプリケーションを開発しています。これは、私はtexutalコンテンツだけを取得したい、つまり、ブラウザでは完全なhtmlページではなく、ニュースのみを取得したいということです。これどうやってするの?アンドロイドのアンドロイドブラウザの助けを借りずにURLを開きますか?

答えて

3

私が正しく理解していれば、オンラインでリクエストし、その代わりに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(); 
0

は、あなたがあなたのアプリケーションにWebページの実際のコンテンツを解析することを意味するか、次のように行われ ?私が私のアプリの中でそうしたとき、私は単純な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); 

私は個人的に非常にまだアンドロイドで経験していないと私はまだ学んでいるが、あなたはWebページからこの方法でニュースを解析することができるはずです。

編集:このアプローチでは、特定の「ニュースタグ」を識別する必要があります。アンソンズの答えは、「定義できない」方が良いでしょう。

0
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); 
0
HttpClient httpClient = new DefaultHttpClient(); 
HttpContext localContext = new BasicHttpContext(); 
HttpGet httpGet = new HttpGet("http://www.example.com/" + URL); 
response = httpClient.execute(httpGet, localContext); 
関連する問題