スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

android 開発覚書

アンドロイドで 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() でコネクションを閉じる。
スポンサーサイト

コメント


管理者のみに表示

トラックバック

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。