アンドロイドで HTTPのごくごく簡単な通信でつまづく
通信の方法は色々あるみたいで
http://y-anz-m.blogspot.jp/2011/10/androidapache-http-client.html
基本的には、 DefaultHttpClientと HttpURLConnection
ではじめに、
DefaultHttpClientで通信を行っていたのだが
HttpGet request = new HttpGet(requrl);
DefaultHttpClient client = new DefaultHttpClient();
HttpResponse res = client.execute(request);
これでつまづく
client.execute(request)で強制的に try囲いされるわけだが
Android2.3上では時折通信エラーを吐くが通信ができる。
しかし、Android4.2上では、エミュも実機も全く通信ができない。
プロでもないから解析できないので、
パラメータが不正なのかと
HttpParams params = new BasicHttpParams();
params.setParameter("http.useragent", "hogehoge");
HttpProtocolParams.setVersion(params, HttpVersion.HTTP_1_1);
HttpProtocolParams.setContentCharset(params, HTTP.UTF_8);
HttpConnectionParams.setConnectionTimeout(params, 5000);
HttpConnectionParams.setSoTimeout(params, 10000);
DefaultHttpClient client = new DefaultHttpClient(params);
みたいなことをしてみるが変わらずダメ。
コンパイラを4.2から2.3にしてみてもダメ。
結局、HttpURLConnectionで作り直すとどちらも全く問題ない。
これはなんなんだ?
忘れちゃならないこと
・マニュフェストに
追加
・DefaultHttpClientの場合は
client.getConnectionManager().shutdown() でコネクションを閉じる。
通信の方法は色々あるみたいで
http://y-anz-m.blogspot.jp/2011/10/androidapache-http-client.html
基本的には、 DefaultHttpClientと HttpURLConnection
ではじめに、
DefaultHttpClientで通信を行っていたのだが
HttpGet request = new HttpGet(requrl);
DefaultHttpClient client = new DefaultHttpClient();
HttpResponse res = client.execute(request);
これでつまづく
client.execute(request)で強制的に try囲いされるわけだが
Android2.3上では時折通信エラーを吐くが通信ができる。
しかし、Android4.2上では、エミュも実機も全く通信ができない。
プロでもないから解析できないので、
パラメータが不正なのかと
HttpParams params = new BasicHttpParams();
params.setParameter("http.useragent", "hogehoge");
HttpProtocolParams.setVersion(params, HttpVersion.HTTP_1_1);
HttpProtocolParams.setContentCharset(params, HTTP.UTF_8);
HttpConnectionParams.setConnectionTimeout(params, 5000);
HttpConnectionParams.setSoTimeout(params, 10000);
DefaultHttpClient client = new DefaultHttpClient(params);
みたいなことをしてみるが変わらずダメ。
コンパイラを4.2から2.3にしてみてもダメ。
結局、HttpURLConnectionで作り直すとどちらも全く問題ない。
これはなんなんだ?
忘れちゃならないこと
・マニュフェストに
・DefaultHttpClientの場合は
client.getConnectionManager().shutdown() でコネクションを閉じる。
※コメント投稿者のブログIDはブログ作成者のみに通知されます