日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android中调用webservice的工具类

發布時間:2023/12/19 Android 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android中调用webservice的工具类 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

最近學習WebService,感覺利用這個借口開發網站的Android客戶端方便及了,用到一個工具類,這里銘記一下。

public static final String WebServiceNamespace =""//地址 public static final String WebAddress = ""//地址

調用Webservice

public static Object callWebservice(String WebServiceUrl,String method,String[] params,Object[] values){Object result = null;SoapObject rpc = new SoapObject(WebServiceTool.WebServiceNamespace,method);if(params!=null){for(int i=0;i<params.length;i++)rpc.addProperty(params[i], values[i]);}SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);envelope.bodyOut = rpc; envelope.dotNet = true;envelope.setOutputSoapObject(rpc);HttpTransportSE ht = new HttpTransportSE(WebServiceUrl); ht.debug = true;String SOAP_ACTION = WebServiceTool.WebServiceNamespace + method;try{ht.call(SOAP_ACTION, envelope);result = envelope.getResponse();}catch (IOException e){e.printStackTrace();}catch (XmlPullParserException e){e.printStackTrace();} return result;}

將WebService調用獲得的對象轉換成對象

View Code public static Object toObject(Object obj,Class<?> cls){if(obj==null)return null;if(obj instanceof String)return obj;Object result = null ;if(!(obj instanceof SoapObject)) return null;try{result = cls.newInstance() ;SoapObject so = (SoapObject)obj;System.out.println(so.getNamespace());for(int i=0;i<so.getPropertyCount();i++){PropertyInfo pinfo = new PropertyInfo();so.getPropertyInfo(i, pinfo);System.out.println(pinfo.name);Object value = so.getProperty(i);if(value==null)continue;Object returnValue = value;Field field = null;try{field = cls.getField(pinfo.name);}catch(NoSuchFieldException e){continue;}String name = field.getType().getName();System.out.println(name);if(name.equals("int"))returnValue = Integer.valueOf(returnValue.toString());else if(name.equals("short"))returnValue = Short.valueOf(value.toString());else if(name.equals("long"))returnValue = Long.valueOf(value.toString());else if(name.equals("byte"))returnValue = Byte.valueOf(value.toString());else if(name.equals("float"))returnValue = Float.valueOf(value.toString());else if(name.equals("double"))returnValue = Double.valueOf(value.toString());else if(name.equals("BigInteger"))returnValue = new BigInteger(value.toString());else if(name.equals("boolean"))returnValue = Boolean.valueOf(value.toString());else if(name.equals("char"))returnValue = value.toString().charAt(0);else if(name.equals("java.util.Date"))returnValue = Date.parse(value.toString());else if(name.equals("java.lang.String"))returnValue = value.toString();cls.getField(pinfo.name).set(result,returnValue);}}catch (Exception e){e.printStackTrace();}return result;}

將WebService調用獲得的對象轉換成對象數組

public static Object[] toObjects(Object obj,Class<?> cls){if(obj==null)return null;if(!(obj instanceof SoapObject))return null;SoapObject so = (SoapObject)obj;int count = so.getPropertyCount(); Object[] objs = new Object[count];for(int i=0;i<count;i++){objs[i] = toObject(so.getProperty(i),cls);}return objs; } public static ArrayList<Object> toObjectList(Object obj,Class<?> cls){if(obj==null)return null;if(!(obj instanceof SoapObject))return null;SoapObject so = (SoapObject)obj;int count = so.getPropertyCount(); ArrayList<Object> objs = new ArrayList<Object>();for(int i=0;i<count;i++){objs.add(toObject(so.getProperty(i),cls));}return objs; }

?

轉載于:https://www.cnblogs.com/LIANQQ/archive/2013/01/04/2836855.html

總結

以上是生活随笔為你收集整理的Android中调用webservice的工具类的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。