我想得到一个网页的源代码,用户输入。当他按下按钮时,他应该会看到TextView中的源文件。这是我的代码:
final Button b = (Button) findViewById(R.id.button1);
b.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
try {
URL url = null;
url = new URL(myEditText.getText().toString());
URLConnection conn = url.openConnection();
BufferedReader reader = new BufferedReader(
new InputStreamReader(conn.getInputStream()));
String line = "";
while ((line = reader.readLine()) != null) {
myTextView.append(line);
}
} catch (Exception e) {
Log.e("ERR",e.getMessage());
}
}
});当我运行它的时候,我得到了一个NullPointerException
BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream())); .-->Println需要消息。
我不知道哪里出了问题,因为这是一个视频教程。我已经在Manifest中写了<uses-permission android:name="android.permission.INTERNET"/>,所以,一切都会好起来的。
发布于 2012-10-06 19:44:18
尝尝这个。
url = new URL("http://www.stackoverflow.com");如果它有效,那么您需要设置验证,如isValidUrl()?
因为用户可能输入了错误的URL。
发布于 2012-10-06 19:45:10
if(!TextUtils.isEmpty(myEditText.getText()))
url = new URL(myEditText.getText().toString());
else
url="";或者,如果您使用的是最新版本,请检查StrictMode并将其删除
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);还要检查android的网络是否可用
https://stackoverflow.com/questions/12759336
复制相似问题