我在主线程中用onCreate
方法调用它。
StringBuilder content = new StringBuilder();
try
{
URL url = new URL("http://alvinalexander.com/blog/post/java/java-how-read-from-url-string-text");
URLConnection urlConnection = url.openConnection();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(urlConnection.getInputStream()));
String line;
while ((line = bufferedReader.readLine()) != null)
{
content.append(line + "\n");
}
bufferedReader.close();
}
catch(Exception e)
{
e.printStackTrace();
}
Log.d("rwj", content.toString());
答案 0 :(得分:0)
我在Asynctask
中尝试了很多代码并且它有效,我猜网络操作无法在主 UI线程中完成。
class RetrieveFeedTask extends AsyncTask<String, Void, String>
{
private Exception exception;
StringBuilder content = new StringBuilder();
protected String doInBackground(String... urls) {
try
{
// create a url object
URL url = new URL("http://samples.openweathermap.org/data/2.5/weather?q=London,uk&appid=b1b15e88fa797225412429c1c50c122a1");
// create a urlconnection object
URLConnection urlConnection = url.openConnection();
// wrap the urlconnection in a bufferedreader
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(urlConnection.getInputStream()));
String line;
// read from the urlconnection via the bufferedreader
while ((line = bufferedReader.readLine()) != null)
{
content.append(line + "\n");
}
bufferedReader.close();
}
catch(Exception e)
{
Log.d("myerr", e.toString());
}
return content.toString();
}
protected void onPostExecute(String result) {
Log.d("myresut", result.toString());
}
}