如何在Android Studio中将网站内容(文本)下载到String

时间:2015-09-23 12:20:05

标签: android string tostring

我是Android开发的新手,并且已经启动了第一个真正的应用程序,需要从网站下载内容并将其转换为字符串(可以是源代码或其他东西,我将削减我需要的东西)。我已经搜索了stackoverflow和整个互联网3天但我的低技能不给我工作的应用程序,总是有些错误,缺少课程等, 这个链接不要说我: Get text from web page to string Android: get HTML from web page as String with HttpClient not working loading data from site as String(Android) Downloading a website to a string How do you Programmatically Download a Webpage in Java

--- EDIT

这是我现在正在使用的源代码,基于http://www.coderzheaven.com/2011/07/17/how-to-read-webpage-contents-as-a-string-in-android/

    package tm.tresura;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;

public class HttpUtils {

  public static String getContents(String url) {
        String contents ="";

  try {
        URLConnection conn = new URL(url).openConnection();

        InputStream in = conn.getInputStream();
        contents = convertStreamToString(in);
   } catch (MalformedURLException e) {
        Log.v("MALFORMED URL EXCEPTION");
   } catch (IOException e) {
        Log.e(e.getMessage(), e);
   }

  return contents;
}

private static String convertStreamToString(InputStream is) throws UnsupportedEncodingException {

      BufferedReader reader = new BufferedReader(new    
                              InputStreamReader(is, "UTF-8"));
        StringBuilder sb = new StringBuilder();
         String line = null;
         try {
                while ((line = reader.readLine()) != null) {
                        sb.append(line + "n");
                }
           } catch (IOException e) {
                e.printStackTrace();
           } finally {
                try {
                        is.close();
                } catch (IOException e) {
                        e.printStackTrace();
                }
            }
        return sb.toString();
  }
}

和错误:

Error:(76, 16) error: no suitable method found for v(String)
method Log.v(String,String,Throwable) is not applicable
(actual and formal argument lists differ in length)
method Log.v(String,String) is not applicable
(actual and formal argument lists differ in length)

Error:(78, 16) error: no suitable method found for e(String,IOException)
method Log.e(String,String,Throwable) is not applicable
(actual and formal argument lists differ in length)
method Log.e(String,String) is not applicable
(actual argument IOException cannot be converted to String by method invocation conversion)

Error:Execution failed for task ':app:compileDebugJavaWithJavac'.
> Compilation failed; see the compiler error output for details.

2 个答案:

答案 0 :(得分:1)

Log.v("MALFORMED URL EXCEPTION");

afaik v()有不同的签名,此方法需要两个参数 - 标记和一些正文,尝试添加额外的String参数

Log.v("TAG","MALFORMED URL EXCEPTION");

答案 1 :(得分:1)

感谢您的帮助,也许这对您来说很明显,但对我而言,我缺乏知识。现在编译器工作正常,但app"意外退出"。我在这工作。