Java 与服务器的Android连接未被识别或引发错误。我做错了什么?

Java 与服务器的Android连接未被识别或引发错误。我做错了什么?,java,android,apache,networking,Java,Android,Apache,Networking,我试图通过android应用程序将JSON数据推送到服务器,但无法隔离问题。服务器根本没有收到连接,但是客户端没有指出任何问题 public void getServerData() throws JSONException, ClientProtocolException, IOException { DefaultHttpClient httpClient = new DefaultHttpClient(); ResponseHandler <String> re

我试图通过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());

是的,从API 11开始,服务器连接在UI线程上不起作用。所以,试着把它放到异步任务中。

您应该学习tcpdump并进行分析这里有很多学习tcpdump的教程,但是如果您使用的是emulator,您不一定可以尝试,如果您可以访问服务器,您可以在服务器上运行tcpdump我的朋友和我现在相信这是因为android API不允许在主线程中进行服务器连接。等我弄清楚这噪音我会跟进的。
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