加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

Ksoap2+WebService+BaseAdapter 实现android对WebService的调用

发布时间:2020-12-17 00:18:43 所属栏目:安全 来源:网络整理
导读:1.主Activity package com.nantian.app;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.AdapterView;import android.widget.AdapterView.OnItemClickList
1.主Activity
package com.nantian.app;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListView;
import android.widget.Toast;

public class Tel3Activity extends Activity implements OnClickListener,OnItemClickListener{
    /** Called when the activity is first created. */
	private Button submit;
	private ListView list;
	private ShowAdapter adapter;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        adapter = new ShowAdapter(this);
        submit = (Button) findViewById(R.id.submit);
        list = (ListView) findViewById(R.id.list);
        list.setOnItemClickListener(this);
        submit.setOnClickListener(this);
    }

	@Override
	public void onClick(View v) {
		// TODO Auto-generated method stub
		//Toast.makeText(this,"===",Toast.LENGTH_LONG).show();
		String[] str = {"11","22","33"};
			ArrayAdapter a = new ArrayAdapter(this,android.R.layout.simple_expandable_list_item_1,str);
		list.setAdapter(adapter);
		
	}

	@Override
	public void onItemClick(AdapterView<?> arg0,View arg1,int arg2,long arg3) {
		// TODO Auto-generated method stub
		Toast.makeText(this,"hi,thank for u click!",Toast.LENGTH_LONG).show();
	}	
}

2.BaseAdapter

package com.nantian.app;


import java.io.IOException;
import java.util.Vector;

import org.ksoap2.SoapEnvelope;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.HttpTransportSE;
import org.xmlpull.v1.XmlPullParserException;

import android.content.Context;
import android.graphics.Color;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;

public class ShowAdapter extends BaseAdapter {
	private Context c;
	private LayoutInflater inflater;
	private TextView test ;
	Object result = null;
    SoapObject soapObject = null;
    Vector<SoapObject> o;
	/**
	 * 调用WebService
	 */
	
	public ShowAdapter(Context context) {
		super();
		this.c = context;
		this.inflater = LayoutInflater.from(context);
		SoapObject request = new SoapObject("http://service.workSituation.wsCommon.zcpt.nantian.com","queryWcbSlcminByNm");
        //request.addProperty("ennm","永昌退水闸");
        SoapSerializationEnvelope envelop = new SoapSerializationEnvelope(SoapEnvelope.VER11);
        envelop.bodyOut = request;
        HttpTransportSE ht = new HttpTransportSE("http://10.64.8.27/CommonService/services/SluiceSituationService?wsdl");   
        try {
			ht.call(null,envelop);
			if(envelop.getResponse()!=null){
				o = (Vector<SoapObject>) envelop.getResponse();
				//soapObject = (SoapObject) envelop.getResponse();
				//result = (Object) soapObject.getProperty("ennm");
			}
			
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (XmlPullParserException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

	public ShowAdapter() {
		super();
	}

	@Override
	public int getCount() {
		// TODO Auto-generated method stub
		return o.size();
	}

	@Override
	public Object getItem(int position) {
		// TODO Auto-generated method stub
		return 0;
	}

	@Override
	public long getItemId(int position) {
		// TODO Auto-generated method stub
		return 0;
	}

	@Override
	public View getView(int position,View convertView,ViewGroup parent) {
		// TODO Auto-generated method stub
		Model model = new Model();
		if(convertView == null){
			inflater = LayoutInflater.from(c);
			convertView = inflater.inflate(R.layout.item,null);
			model.test = (TextView) convertView.findViewById(R.id.item0);
			model.ennm = (TextView) convertView.findViewById(R.id.item1);
			model.ennmcd = (TextView) convertView.findViewById(R.id.item2);
			model.bldt = (TextView) convertView.findViewById(R.id.item3);
		}else{
			model = (Model) convertView.getTag();
		}
		if(position%2==0){
			convertView.setBackgroundColor(Color.BLUE);
		}
			model.test.setText("-----"+o.get(position).getProperty("ennm")+"站点基本信息"+"-----");
			model.ennm.setText("站名:"+o.get(position).getProperty("ennm"));
			model.ennmcd.setText("站号:"+o.get(position).getProperty("ennmcd"));
			model.bldt.setText("其他信息:"+o.get(position).getProperty("gatsiz"));
		
		//model.ennm.setText("站名:"+soapObject.getProperty("ennm").toString());
		//model.ennmcd.setText("站号:"+soapObject.getProperty("ennmcd").toString());
		//model.bldt.setText("统计日期:"+soapObject.getProperty("bldt").toString());
		//model.bldt.setText("统计日期:"+"2012-1-1");
		//model.ennm.setText("xyz");
			
		convertView.setTag(model);
		return convertView;
	}
	public class Model{ 
		TextView test,ennm,bldt,ennmcd;
	}

}

3.main.xml文件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<TextView  
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="显示数据"
    />
    <Button 
    android:id="@+id/submit"
     android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="提交数据"
    android:layout_gravity="right"
    />
    <ListView 
    android:id="@+id/list"
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    ></ListView>
</LinearLayout>

4.item.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="vertical"
  android:layout_width="match_parent"
  android:layout_height="match_parent">
  <TextView 
    android:id="@+id/item0"
     android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    />
    <TextView 
    android:id="@+id/item1"
     android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    />
    <TextView 
    android:id="@+id/item2"
     android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    />
    <TextView 
    android:id="@+id/item3"
     android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    
    />
</LinearLayout>

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="vertical"
  android:layout_width="match_parent"
  android:layout_height="match_parent">
  <TextView 
    android:id="@+id/item0"
     android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    />
    <TextView 
    android:id="@+id/item1"
     android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    />
    <TextView 
    android:id="@+id/item2"
     android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    />
    <TextView 
    android:id="@+id/item3"
     android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    
    />
</LinearLayout>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读