package com.souba.service; import java.io.ByteArrayInputStream; import java.io.DataInputStream; import java.io.IOException; import java.util.ArrayList; import java.util.List; import java.util.Map; import org.apache.http.HttpResponse; import org.apache.http.NameValuePair; import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.HttpPost; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.message.BasicNameValuePair; import org.apache.http.util.EntityUtils; import org.xmlpull.v1.XmlPullParser; import org.xmlpull.v1.XmlPullParserException; import android.util.Log; import android.util.Xml; public class HttpUtilService { /** * 登录时发送参数 请求WEB应用 * @param path 请求路径 * @param params 请求参数 * @param encoding 请求编码 * @return 请求成功 true 失败 false * @throws Exception */ public boolean sendParamsPost(String path,Map<String, String>params,String encoding) throws Exception { boolean bool = false; List<NameValuePair> parm = new ArrayList<NameValuePair>(); if(params!=null && !params.isEmpty()) { for(Map.Entry<String, String> entry:params.entrySet()) { parm.add(new BasicNameValuePair(entry.getKey(), entry.getValue())); } } UrlEncodedFormEntity entity=new UrlEncodedFormEntity(parm,encoding); HttpPost post=new HttpPost(path); post.setEntity(entity); DefaultHttpClient client=new DefaultHttpClient(); HttpResponse response=client.execute(post); if(response.getStatusLine().getStatusCode()==200) { byte[] data=new byte[1024]; data=EntityUtils.toByteArray(response.getEntity());//把服务器端传来的数据转化为字节数组 ByteArrayInputStream bais=new ByteArrayInputStream(data);//绑定字节流和数据包装流 DataInputStream dataInputStream=new DataInputStream(bais); bool=parseXML(dataInputStream); Log.i("sendParamsPost",bool+""); } return bool; } /** * 解析服务端返回的XML数据 true 登录成功 * @param dataInputStream 从response获得的输入流 * @return boolean * @throws XmlPullParserException * @throws IOException */ public boolean parseXML(DataInputStream dataInputStream) throws XmlPullParserException, IOException { XmlPullParser parser=Xml.newPullParser(); parser.setInput(dataInputStream,"UTF-8"); int event=parser.getEventType(); String flag=""; while(event!=XmlPullParser.END_DOCUMENT) { switch (event) { case XmlPullParser.START_TAG: if("result".equals(parser.getName())) { flag=parser.nextText(); Log.i("parseXML",flag); } break; } event=parser.next(); } if("false".equals(flag)) { return false; } return true; } }

更多相关文章

  1. android之bundle传递数据--两个activities之间
  2. Android Network数据存储
  3. Android中JSON数据格式的简单使用
  4. android 数据库操作
  5. 通过Intent在Activity|Service之间传递数据
  6. android读取usb设备数据
  7. Android SharedPreferences数据存储
  8. Android使用HttpURLConnection获取数据
  9. android 读取网络 xml 数据

随机推荐

  1. 如何引入一个example到eclipse
  2. Android添加多语言
  3. Android超简单的进度条源码
  4. Android(安卓)自动化测试—robotium(七)Ant
  5. FileProvider
  6. [置顶] Android(安卓)SimpleAdapter,Simpl
  7. Android(安卓)IBinder机制简单介绍
  8. android真机调试 INSTALL_FAILED_MEDIA_U
  9. mac下启动adb并安装apk
  10. 转:iPhone Android(安卓)Web开发(概要)