2011-07-13 11 views
0

--Update--
私を助けてくれたことのおかげで、これはEclipseのデバッガの問題です。私が間違っていると思った後、私は変数を見るために2つのSystem.out.printlnを置いた。それらに応じて彼らは変更されており、デバッガは何らかの理由で古い情報を表示していただけだった。なぜそれが起こっているのか分かりませんが、重要なことは、コードが明らかに実際に動作することです。Android用JavaのHttpURLConnectionクラスで複数の問題が発生しました

私は、Androidアプリケーション用のTwitterと共有する方法に取り組んでおり、HttpURLConnectionを設定するときにエラーが発生しています。私はいつものように接続オブジェクトを作成し、URLのopenconnection関数を使用してHttpURLConnectionにキャストします。その後、接続にSetRequestMethod( "POST")を実行すると、絶対に何もしません。デバッガのコードを行ごとに実行すると、その行を通過するときにリクエストメソッドがデフォルト( "GET")のままになります。なぜこれが起こっているのか、誰でも知っていますか? setDoOutput(true)と同じ問題が発生していますが、何も変更していません。ただし、依頼プロパティを追加しても機能します。私はこの問題に関して何かを見つけることができず、これらの問題を報告している他の人もいませんでした。

+0

コードを投稿できますか? setrequestmethod( "post")エリアのように。 – Otra

+0

まあ、私はEclipseがちょうど私に嘘をついているかもしれないと思っていましたが、System.out.printlnを使って、これらの2つの機能が実際に考慮されていましたが、デバッガは私に古い情報を表示していました。 – Justin

答えて

0

ここではHttpURLConnectionを使用するかどうかはわかりません。

次の方法を試しましたか?

// Building the POST request 
final BasicNameValuePair message = new BasicNameValuePair("yourField", "yourContent"); 
final List<NameValuePair> list  = new ArrayList<NameValuePair>(1); 

list.add(message); 

final HttpPost httppost = createHttpPost(UrlEncodedFormEntity(list)); 

// Building the HTTP client 
final HttpParams httpParameters = new BasicHttpParams(); 

HttpConnectionParams.setConnectionTimeout(httpParameters, YOUR_CHOSEN_CONN_TIMEOUT); 
HttpConnectionParams.setSoTimeout  (httpParameters, YOUR_CHOSEN_SO_TIMEOUT); 

final HttpClient httpClient = new DefaultHttpClient(httpParameters); 

// Execution of the POST request 
final HttpResponse response = httpClient.execute(httppost); 

これは何の問題もなく、私は通常のやり方です。

[編集:04-25-2014] ApacheのHttpClientは、Froyoと以前のバージョンのための最良の方法でした。今、Android Developers Blogのthis article(このQ & Aの後に書かれています)によれば、URLConnectionを使用する方が良いです。

関連する問題