0

ユーザーが入力する Web ページのソース コードを取得したい。ボタンを押すと、ソースが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 にはメッセージが必要です。

これはビデオチュートリアルからのものであるため、何が問題なのかわかりません。私は<uses-permission android:name="android.permission.INTERNET"/>マニフェストに書いたので、すべて大丈夫なはずです。

4

2 に答える 2

0
    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がネットワークで利用可能かどうかも確認してください

于 2012-10-06T11:45:10.397 に答える
0

これを試して。

url = new URL("http://www.stackoverflow.com");

それが機能する場合は、isValidUrl()のように検証を設定する必要がありますか?

ユーザーが間違ったURLを入力した可能性があるため。

于 2012-10-06T11:44:18.190 に答える