安卓,https方式发送xml文件到服务器,服务器返回一个xml文件,解析这个xml文件,解析得到信息决定是否更新版本
就是https方式发送,接受文件。不明白问题是?
public class MainActivity extends Activity {
private static String xml="<?xml version=\"1.0\" encoding=\"utf-8\"?>......"
+ "20140429113321"
+ " 用户名用户快钱会员号M001DADEQQWQW"
+ "DASASADASADGGDSLKMMSDLKL";
private static String TAG=MainActivity.class.getSimpleName();
private Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.mainactivity);
if (android.os.Build.VERSION.SDK_INT > 2.3) {
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
}
Log.d(TAG, "onCreate");
button=(Button)findViewById(R.id.update_button);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
try {
sendXmlReturnRespCode();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
}
protected String sendXmlReturnRespCode() throws Exception{
String url="https://XXXXXXXX";
byte[] data = xml.getBytes("UTF-8");
HttpsURLConnection conn=(HttpsURLConnection) new URL(url).openConnection();
conn.setRequestMethod("POST");
conn.setRequestProperty("Content-Type", "msgContent/xml:charset=UTF-8");
conn.setRequestProperty("Charset", "UTF-8");
conn.setRequestProperty("Content_length", String.valueOf(data.length));
conn.setDoOutput(true);
conn.setDoInput(true);
conn.connect();
OutputStream outStream= conn.getOutputStream();
outStream.write(data);
conn.getOutputStream().flush();
conn.getOutputStream().close();
int recode=conn.getResponseCode();
String responseCode="";
responseCode=String.valueOf(recode);
if(responseCode.equals("00")){
Log.d(TAG, "发送成功");
}
else {
Log.d(TAG, "发送失败");
}
BufferedReader br=new BufferedReader(new InputStreamReader(conn.getInputStream()));
String str=br.readLine();
Log.d(TAG, "返回码是"+str);
return str;
}
}
能帮忙看看哪儿出错了么
能帮忙看看是哪儿错了么