【问题标题】:Handle Http connection with all exceptions and send and receive data using url in android处理所有异常的 Http 连接,并在 android 中使用 url 发送和接收数据
【发布时间】:2012-07-02 16:36:48
【问题描述】:

您好,我正在开发 android 中的 Web 服务应用程序。我需要一个类来处理所有异常并使用带参数的 URL 发送接收 json 数据。请帮助我举一个很好的例子。

【问题讨论】:

    标签: android


    【解决方案1】:

    这是我编写的用于通过 POST 发送数据的帮助程序类的 sn-p。

    List<NameValuePair> params = new ArrayList<NameValuePair>();
    
    params.add(new BasicNameValuePair("param1", param1));
    params.add(new BasicNameValuePair("param2", param2));
    
    DefaultHttpClient httpClient = new DefaultHttpClient();
    HttpPost httpPost = new HttpPost("http://www.blabla.com/posterome");
    httpPost.setEntity(new UrlEncodedFormEntity(params));
    

    为了得到响应……

    HttpResponse httpResponse = httpClient.execute(httpPost);
    

    在这个 sn-p 中使用的类在 org.apache.http.* 包中。

    对于 JSON,JSONObject 就足够了。 网络上到处都有关于如何正确使用它的示例。只是谷歌它。

    【讨论】:

    • 谢谢AljoshaBre,能否详细说明如何处理连接超时和套接字超时异常。
    • 在其他主机上是否超时?您是否验证了它是否特定于主机?也许你没有抓住正确的?你能包含一段简短的代码来捕获异常吗? LogCat 输出会很有用。我正在满足我的胃的路上。稍后我会尽力帮助您。
    • 我在其他主机上超时。
    • mHttpClient = new DefaultHttpClient();最终 HttpParams 参数 = mHttpClient.getParams(); ClientConnectionManager mgr=mHttpClient.getConnectionManager(); mHttpClient = new DefaultHttpClient(new ThreadSafeClientConnManager(params, mgr.getSchemeRegistry()),params); HttpConnectionParams.setConnectionTimeout(params, HTTP_TIMEOUT); HttpConnectionParams.setSoTimeout(params, HTTP_SOCKET_TIME_OUT); ConnManagerParams.setTimeout(params, HTTP_TIMEOUT);
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-02-05
    • 2012-11-08
    • 2017-02-19
    • 1970-01-01
    • 2011-10-22
    • 2011-10-24
    • 1970-01-01
    相关资源
    最近更新 更多