0

Android アプリケーションを介して JSON データをサーバーにプッシュしようとしていますが、問題を特定できません。サーバーは接続をまったく受信しませんが、クライアント側は問題を示していません。

public void getServerData() throws JSONException, ClientProtocolException, IOException {
    DefaultHttpClient httpClient = new DefaultHttpClient();
    ResponseHandler <String> resonseHandler = new BasicResponseHandler();
    HttpPost postMethod = new HttpPost("HTTP://URL_GOES_HERE/FOLDER");
    List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
    //Log.v("JSON being sent", json.toString());
    nameValuePairs.add(new BasicNameValuePair("jsonString", json.toString()));
    postMethod.setEntity(new UrlEncodedFormEntity(nameValuePairs));
    String response = httpClient.execute(postMethod,resonseHandler);

    JSONObject jsonResponse = new JSONObject(response);
    Log.v("beginresponse","beginresponse");
    Log.v("server response", jsonResponse.toString());
    Log.v("endresponse","endresponse");
    //Log.v("msg to server", json.toString());

}

ログ出力の例を次に示します。

10-20 11:31:09.195: I/APACHE HTTP (thCr=1) - NafHttpAuthStrategyDefault(25802): (thUse=1) NafHttpAuthStrategyDefault()
10-20 11:31:09.205: I/APACHE HTTP (thCr=1) - NafHttpAuthStrategyDefault(25802): (thUse=1)    cached value : gbaSupportIsPossible=null
10-20 11:31:09.205: I/APACHE HTTP (thCr=1) - NafHttpAuthStrategyDefault(25802): (thUse=1)    The current context is NOT a context of GBA service.
10-20 11:31:09.215: I/APACHE HTTP (thCr=1) - GbaSupportPermissionRequestCheckerImpl(25802): (thUse=1) isCurrentProcessRequestedGba()#finished   result=false
10-20 11:31:09.215: I/APACHE HTTP (thCr=1) - GbaSupportPermissionRequestCheckerImpl(25802): (thUse=1) isCurrentProcessAllowedToUseGba()#started   result=false
10-20 11:31:09.215: I/APACHE HTTP (thCr=1) - NafHttpAuthStrategyDefault(25802): (thUse=1)    The GBA permission wasn't requested for this process.
10-20 11:31:09.215: I/APACHE HTTP (thCr=1) - NafHttpAuthStrategyDefault(25802): (thUse=1) It is impossible to support GBA now (many possible reasons: no Android Context, current client is GBA service, etc.), then it will be just usual HTTP.
10-20 11:31:09.215: I/APACHE HTTP (thCr=1) - NafRequestExecutorWrapperRedirectionHandler(25802): (thUse=1)    It isn't GBA flow, redirection responses are not handled.
10-20 11:31:09.226: W/MediaRecorder(25802): mediarecorder went away with unhandled events
10-20 11:31:12.008: D/memalloc(25802): ion: Unmapping buffer  base:0x5ba42000 size:1536000
10-20 11:31:12.008: D/memalloc(25802): ion: Unmapping buffer  base:0x5bcb9000 size:1536000
10-20 11:31:12.008: D/memalloc(25802): ion: Unmapping buffer  base:0x5be30000 size:1536000
10-20 11:31:12.018: D/CLIPBOARD(25802): Hide Clipboard dialog at Starting input: finished by someone else... !
10-20 11:31:18.014: D/memalloc(25802): ion: Mapped buffer base:0x5ba42000 size:1536000 offset:0 fd:46
10-20 11:31:18.074: D/memalloc(25802): ion: Mapped buffer base:0x5bcb9000 size:1536000 offset:0 fd:53
10-20 11:31:23.439: D/memalloc(25802): ion: Mapped buffer base:0x5be30000 size:1536000 offset:0 fd:56
10-20 11:31:23.580: I/mic(25802): 1
10-20 11:31:23.580: I/path(25802): /mnt/sdcard/most-recent-recording.aac
4

1 に答える 1

1

はい、API 11以降、サーバー接続はUIスレッドでは機能しません。したがって、非同期タスクに入れてみてください。

于 2012-11-27T01:30:39.143 に答える