【问题标题】:How to send data on server through XML, And getting Response in android如何通过 XML 在服务器上发送数据,并在 android 中获取响应
【发布时间】:2011-07-13 07:50:42
【问题描述】:

我正在使用 XML 文件向服务器发送一些请求。我应该得到相应的回应。但我在 URL 中发现文件未找到异常。我的代码在这里。

public InputStream testPost(String xmlString,URL url)
{
    try
    {
        httpClient = new DefaultHttpClient();
        connection = (HttpURLConnection)url.openConnection();
        connection.setDoInput(true);
        connection.setDoOutput(true);
        connection.setUseCaches(false);
        connection.setRequestMethod("POST");
        connection.setRequestProperty("Content-Type", "text/xml");
        DataOutputStream outputStream = new DataOutputStream(connection.getOutputStream());
        outputStream.writeBytes(xmlString);
        outputStream.flush();
        isResponse = (InputStream) connection.getInputStream();
    }
    catch(UnknownHostException e)
    {
        Log.e("Failure","Network Failure"+e.toString());
    }       
    catch(SocketException e)
    {
        Log.e("Failure--","Network Failure"+e.toString());
    }
    catch(Exception e)
    {
        e.printStackTrace();
    }
    return isResponse;
}



public void addLocation()
{
    try
    {
        String strAddLocation = "<useraccount>" +
        "<id>"+1+"</id>" +"<location>"+
        "<geocode>"+77.254188+","+28.692365+"</geocode>" +
        "<address>3523 16th street</address>" +
        "<city>Hyd</city>" +
        "<state>NY</state>" +
        "<zip>"+11006+"</zip>" +
        "<country>USA</country>" +
        "<is_primary>"+false+"</is_primary>" +
        "</location>"+"</useraccount>";

        Log.i("this", strAddLocation);

        urlPost = new UrlPost();

        addLocationInputStream= urlPost.testPost(strAddLocation, new URL(AppConstants.HOST_URL+AppConstants.ADD_LOCATION+1));
       if(addLocationInputStream!= null)
       {
           Log.i("the output is coming hare", "add location");
       }
         InputStreamReader reader = new InputStreamReader(addLocationInputStream );
         StringBuilder buf = new StringBuilder();
         char[] cbuf = new char[ 2048 ];
         int num;
         while ( -1 != (num=reader.read( cbuf )))
         {
             buf.append( cbuf, 0, num );
         }
         String result = buf.toString();
            System.err.println( "\nResponse from server after delete = " + result );
         reader.close();
            Log.i("reponce","\nResponse from server after delete = " + result);
    }

        catch(Exception ee)
        {
        Log.i("the error is here", ee.toString());
        }

}

【问题讨论】:

    标签: android http httpclient


    【解决方案1】:

    你添加了吗

    <uses-permission android:name="android.permission.INTERNET" />
    

    在 AndroidMainfest.xml 文件的清单标签内和应用程序标签外?

    【讨论】:

    • 是的..我已将所有权限添加到 Mainfest.xml 文件中。
    猜你喜欢
    • 2013-06-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多