0

問題があります: Android 2 では以下のコードは正常に動作しますが、Android 4 では動作しません...

try {
    HttpParams params = new BasicHttpParams(); 
    HttpConnectionParams.setConnectionTimeout(params, 15000); 
    HttpClient client = new DefaultHttpClient(params);  
    String postURL = "http://web.lt/data.php";
    HttpPost post = new HttpPost(postURL);
    List<NameValuePair> paramss = new ArrayList<NameValuePair>();
    paramss.add(new BasicNameValuePair("X", "k"));
    paramss.add(new BasicNameValuePair("Y", "x"));
    paramss.add(new BasicNameValuePair("speed", "xyz"));
    UrlEncodedFormEntity ent = new UrlEncodedFormEntity(paramss,HTTP.UTF_8);
    post.setEntity(ent);
    HttpResponse responsePOST = client.execute(post);  
    HttpEntity resEntity = responsePOST.getEntity();

    if (resEntity != null) {    
        Log.i("RESPONSE",EntityUtils.toString(resEntity));
    }
} catch (Exception e) {
    e.printStackTrace();
}

https://code.google.com/p/httpclientandroidlib/をダウンロードして、プロジェクトを右クリックしてインストールしようとしました - >プロパティ - > Javaビルドパス - >ライブラリ - >外部JARを追加しましたが、変更すると:

inport org.apache.http

import ch.boye.httpclientandroidlib.HttpEntity;

... アプリがクラッシュします。

4

2 に答える 2

2

Android 2 以降では許可されていましたが、ハニカム以降では廃止されたメイン UI スレッドで接続を実行する必要があります。Android AsyncTaskを参照してください

于 2013-03-31T09:18:34.453 に答える