-3
HttpURLConnectionを使用してGoogleに簡単なGTTP GETコマンドを送信しようとしていますが、urlConnection.connect()で 'null'例外がスローされます。私はマニフェストにインターネットとACCESS_NETWORK_STATEの両方の権限を持っています。なぜ私は接続を確立できないのですか?HttpURLConnectionはHTTP GETの接続を確立できません。例外:null
public class MainActivity extends AppCompatActivity {
TextView textView;
private URL url;
byte[] answer;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView = (TextView) findViewById(R.id.textID);
Log.i("Trace", "A");
try{
url = new URL("http", "www.google.com", 80, "index.html");
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
Log.i("Trace", "B");
urlConnection.setDoOutput(true);
urlConnection.setRequestMethod("GET");
urlConnection.setAllowUserInteraction(true);
urlConnection.setDoInput(true);
urlConnection.setDoOutput(true);
Log.i("Trace", "C");
//urlConnection.setInstanceFollowRedirects(false);
urlConnection.connect(); //BREAKS HERE
Log.i("Trace", "D");
InputStream in = urlConnection.getInputStream();
Log.i("Trace", "E");
byte[] b = new byte[10];
in.read(b);
textView.setText(b.toString());
}
catch (Exception e){
Log.i("Trace", "Exception: " + e.getMessage());
}
}
}
HTTPコールをAsynctaskに入れ、バックグラウンドタスクとして呼び出します。それは動作するはずです。 –
ヒント:[Use Volley](https://developer.android.com/training/volley/request.html) –
そして、私はそれが 'ヌル'エクスプローションではないと思います。 NetworkOnMainThread例外である必要があります。 –