JAVA网安卓中的URL。。新手问题
我是一名java新手,正在尝试安卓开发。下面的代码生成了malformedURLException。有人能帮我确定例外情况吗。 任何暗示都会非常有用
package com.example.hello安卓;
import 安卓.app.Activity;
//import 安卓.widget.TextView;
import 安卓.os.Bundle;
import java.net.*;
import java.io.*;
import 安卓.widget.TextView;
public class HelloAndroid extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TextView tv = new TextView(this);
String outdata = "";
URL url_g = new URL("http://www.google.com/");
URLConnection ukr = url_g.openConnection();
BufferedReader in = new BufferedReader(new InputStreamReader(ukr.getInputStream()));
String inputLine;
while ((inputLine = in.readLine()) != null)
outdata += inputLine;
in.close();
tv.setText(outdata);
setContentView(tv);
}
}
# 1 楼答案
关于OP代码需要注意的一点是,即使在添加了所需的异常处理之后,代码也不会运行,因为Android不允许在主线程中进行网络活动。您需要使用AsyncTask,如下所述:http://developer.android.com/resources/articles/painless-threading.html
# 2 楼答案
这是因为URL构造函数(新URL(“http://www.google.com/“”)引发选中的异常,在本例中为MalformedURLException,这意味着您必须捕获它或在方法中声明它
在onCreate方法中使用try/catch或throws子句
尝试/捕获解决方案:
抛出解决方案:
有关异常的更多信息,请选中此项
http://download.oracle.com/javase/tutorial/essential/exceptions/
# 3 楼答案
首先,您需要在try/catch方法中执行代码。试试看,让c知道你还有什么