国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

android調用webservice接口獲取信息

2020-02-21 17:22:36
字體:
來源:轉載
供稿:網友

android開發的時候有很多的接口,我們在調用WebService服務接口時,需要將cookies作為附加項傳遞,別著急,下面就讓武林技術頻道小編帶大家學習android調用webservice接口獲取信息吧!

1.在lib中放入ksoap2的jar包并導入

2.在xml 配置文件中加入:

<!-- 訪問網絡的權限 -->   <uses-permission android:name="android.permission.INTERNET" /> 

3.接下來就要通過代碼調用借口了

String WSDL_URI = "http://localhost:8080/WebService4/getNewIdPort?wsdl";//wsdl 的uriString namespace = "http://services.he.TSD/";//namespaceString methodName = "getNew";//要調用的方法名稱// 創建HttpTransportSE對象HttpTransportSE ht = new HttpTransportSE(WSDL_URI);ht.debug = true;// 使用soap1.1協議創建Envelop對象SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);// 實例化SoapObject對象SoapObject object = new SoapObject(namespace, methodName);// 設置參數object.addProperty("arg0", "hhh");// 將SoapObject對象設置為SoapSerializationEnvelope對象的傳出SOAP消息envelope.bodyOut = object;//由于是發送請求,所以是設置bodyOutenvelope.dotNet =false;envelope.setOutputSoapObject(object);try{ // 調用webService ht.call(null, envelope); System.out.println("回傳的值 :"+envelope.getResponse());}catch (Exception e) { e.printStackTrace(); String msg=e.getMessage(); System.out.println(msg);}

4.若webservice接收不到android傳來的值:

? (1)參數名不對

? (2).net的webservice要將envelope.dotNet =true,否則envelope.dotNet =false

5.由于是部署到tomcat上的,為了同處于一個網段,要手機和電腦連一個wifi。 ipv4查找用window+R,接著cmd,最后ipconfig 即可查到。?

6.要關閉windows防火墻

7.當時我還遇到了一個問題,就是當傳遞的信息復雜時,比如傳遞list型的一個自定義的類,會出現問題,當時我是重寫了ListAdapter類,如下所示:

?

package com.adapter;/** * Created by hexiaolu on 2017/4/13. */import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import android.app.Activity;import android.content.Context;import android.os.Bundle;import android.text.Editable;import android.text.TextWatcher;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.EditText;import android.widget.ListView;import android.widget.TextView;import com.example.administrator.stock2.R;public class ListAdapter extends BaseAdapter {  HashMap item = new HashMap();  private LayoutInflater mInflater;  //private List<Map<String, Object>> mData;// 存儲的EditText值  private ArrayList mData=new ArrayList();  //private ArrayList mDate = new ArrayList();  public Map<String, String> editorValue = new HashMap<String, String>();//  private TextView spendMoney;  public ListAdapter(Context context, ArrayList data,TextView spend) {    spendMoney=spend;    mData = data;    mInflater = LayoutInflater.from(context);    init();  }  // 初始化  private void init() {    editorValue.clear();  }  @Override  public int getCount() {    return mData.size();  }  @Override  public Object getItem(int position) {    return null;  }  @Override  public long getItemId(int position) {    return 0;  }  private Integer index = -1;  @Override  public View getView(int position, View convertView, ViewGroup parent) {    ViewHolder holder = null;    // convertView為null的時候初始化convertView。    if (convertView == null) {      holder = new ViewHolder();      convertView = mInflater.inflate(R.layout.list_item, null);      holder.goodsName = (TextView) convertView          .findViewById(R.id.list_item_goodsName);      holder.goodsSellPrice = (TextView) convertView          .findViewById(R.id.list_item_goodsSellPrice);      holder.goodsUnit = (TextView) convertView          .findViewById(R.id.list_item_goodsUnit);      holder.goodsSellNum = (EditText) convertView          .findViewById(R.id.list_item_goodsSellNum);      holder.goodsSellNum.setTag(position);      /*holder.goodsSellNum.setOnTouchListener(new OnTouchListener() {        @Override        public boolean onTouch(View v, MotionEvent event) {          if (event.getAction() == MotionEvent.ACTION_UP) {            index = (Integer) v.getTag();          }          return false;        }      });*/      class MyTextWatcher implements TextWatcher {        public MyTextWatcher(ViewHolder holder) {          mHolder = holder;        }        private ViewHolder mHolder;        @Override        public void onTextChanged(CharSequence s, int start,                     int before, int count) {        }        @Override        public void beforeTextChanged(CharSequence s, int start,                       int count, int after) {        }        @Override        public void afterTextChanged(Editable s) {          if (s != null && !"".equals(s.toString())) {            int position = (Integer) mHolder.goodsSellNum.getTag();            /*mData.get(position).put("goodsSellNum",s.toString());// 當EditText數據發生改變的時候存到data變量中*/            item=(HashMap)mData.get(position);            item.put("goodsSellNum",s.toString());            mData.set(position,item);            spendMoney.setText(String.valueOf(calculate()));//計算總價格          }        }      }      holder.goodsSellNum.addTextChangedListener(new MyTextWatcher(holder));      convertView.setTag(holder);    } else {      holder = (ViewHolder) convertView.getTag();      holder.goodsSellNum.setTag(position);    }    item=(HashMap)mData.get(position);    Object value=item.get("goodsName");    //Object value = mData.get(position).get("list_item_goodsName");    if (value != null) {      holder.goodsName.setText((String) value);    }    item=(HashMap)mData.get(position);    value=item.get("goodsSellPrice");    //value = mData.get(position).get("list_item_goodsSellPrice");    if (value != null) {      holder.goodsSellPrice.setText(value.toString());    }    item=(HashMap)mData.get(position);    value=item.get("goodsUnit");    //value = mData.get(position).get("list_item_goodsUnit");    if (value != null) {      holder.goodsUnit.setText(value.toString());    }    item=(HashMap)mData.get(position);    value=item.get("goodsSellNum");    //value = mData.get(position).get("list_item_goodsSellNum");    if (value != null && !"".equals(value)) {      holder.goodsSellNum.setText(value.toString());    }    holder.goodsSellNum.clearFocus();    if (index != -1 && index == position) {      holder.goodsSellNum.requestFocus();    }    return convertView;  }  public final class ViewHolder {    public TextView goodsName;    public TextView goodsSellPrice;    public EditText goodsSellNum;// ListView中的輸入    public TextView goodsUnit;// 用來定義的標志性主鍵,可不用關心  }  public float calculate() {    float money = 0;    for (int i = 0; i < mData.size(); i++) {      HashMap item = new HashMap();      item = (HashMap) mData.get(i);      float num = Float.parseFloat(item.get("goodsSellNum").toString());      float price = Float.parseFloat(item.get("goodsSellPrice").toString());      money = money + num * price;    }    return money;  }}

8.調如何用ListAdapter類

ListAdapter adapter = new ListAdapter(this, list,spendMoney); lv_goodsList.setAdapter(adapter);

以上就是武林技術頻道小編為大家介紹的android調用webservice接口獲取信息全部內容,希望對大家的學習有所幫助,武林技術頻道未來將繼續為大家提供更好的服務。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 临清市| 广汉市| 察雅县| 和林格尔县| 确山县| 宁南县| 江西省| 襄汾县| 白城市| 巴彦县| 唐河县| 河源市| 山东| 万山特区| 讷河市| 高尔夫| 巢湖市| 满洲里市| 泽普县| 肥西县| 瑞丽市| 鸡西市| 安化县| 芒康县| 稻城县| 收藏| 张北县| 太仆寺旗| 泰和县| 东莞市| 万源市| 碌曲县| 台南市| 永宁县| 晋宁县| 达尔| 平陆县| 手游| 沁水县| 萍乡市| 广平县|