открыть URL-адрес без помощи браузера Android в Android? - PullRequest
1 голос
/ 17 декабря 2011

Я занимаюсь разработкой приложения для Android, в котором я хочу получать новости с URL, не открывая браузер Android по умолчанию. Это означает, что я хочу получать только текстовое содержимое, только новости вместо полной HTML-страницы в браузере. Как я могу это сделать?

Ответы [ 4 ]

3 голосов
/ 17 декабря 2011

Если я правильно понимаю - нужно сделать запрос онлайн и получить взамен 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 голосов
/ 24 апреля 2014
HttpClient httpClient = new DefaultHttpClient();
HttpContext localContext = new BasicHttpContext();
HttpGet httpGet = new HttpGet("http://www.example.com/" + URL);
response = httpClient.execute(httpGet, localContext);
0 голосов
/ 11 октября 2012
    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 голосов
/ 17 декабря 2011

Вы имеете в виду, что вы хотите проанализировать фактическое содержание веб-страницы в вашем приложении?Когда я сделал это в одном из своих приложений, я проанализировал всю веб-страницу с помощью простого http://developer.android.com/reference/org/xmlpull/v1/XmlPullParser.html, а затем вынул те теги, которые были уместны.Однако для этого требуется довольно тяжелое динамическое программирование, выполняющееся в асинхронном режиме (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 лучше, если они "неопределимы".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...