android 读取WEBSERVICE 中的令一种方式

来源:互联网 发布:淘宝图片视频在线制作 编辑:程序博客网 时间:2024/05/21 08:52
package com.ts.webservicedatasetdemo01;
import java.io.UnsupportedEncodingException;

import android.annotation.SuppressLint;
import android.annotation.TargetApi;
import android.app.Activity;
import android.os.Build;
import android.os.Bundle;
import android.os.Handler;
import android.os.HandlerThread;
import android.os.Message;
import android.os.StrictMode;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

import org.ksoap2.SoapEnvelope;
import org.ksoap2.SoapFault;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapSerializationEnvelope;
//import org.ksoap2.transport.AndroidHttpTransport;
import org.ksoap2.transport.HttpTransportSE;


public class TSMainActivity extends Activity 
{

    private Button okButton;

    private static final String NAMESPACE = "xrtd";
    
    private static String URL = "http://192.168.0.6/TangShuai.asmx";

    private static final String METHOD_NAME = "getdataset";

    private static String SOAP_ACTION = "xrtd/getdataset";


    private Object detail;
    
    private Handler handler = null;
    
    @Override

    public void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);    
        setContentView(R.layout.activity_tsmain);

    
    //    et1=(EditText)this.findViewById(R.id.ET01);
    //    v=(TextView)this.findViewById(R.id.textView2);
        okButton = (Button) this.findViewById(R.id.button1);
        okButton.setOnClickListener(new Button.OnClickListener() {
            @Override
            public void onClick(View v) {
                
                    HandlerThread handlerThread = new HandlerThread("myHandlerThread");  
                    handlerThread.start();  
                    handler = new Handler(handlerThread.getLooper());  
                    handler.post(new MyRunnable());    
            }

        });
    }

    private class MyRunnable implements Runnable {  
        public void run() {  
        
            try {  
                String sql="select * from dbo.procure";
                Thread.sleep(0);  
                mydata(sql);
            } catch (InterruptedException e) {        
                e.printStackTrace();  
            }  
        }  
    }  

    public void mydata(String sql)
    {    
            SoapObject rpc = new SoapObject(NAMESPACE, METHOD_NAME);
            System.out.println("rpc" + rpc);
             rpc.addProperty("str", sql);
            
            SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER10);
            envelope.bodyOut = rpc;
            envelope.dotNet = true;
            envelope.setOutputSoapObject(rpc);

            HttpTransportSE ht = new HttpTransportSE(URL);

        
            ht.debug = true;
            try
            {
            ht.call(SOAP_ACTION, envelope);

//这里是最关键的代码
//这样就不用把SoapObject写成Object了

    
            if(envelope.getResponse()!=null)
            {
                SoapObject soapobject=(SoapObject)envelope.bodyIn;
                for(int i=0;i<soapobject.getPropertyCount();i++)
                {
                    SoapObject soap1=(SoapObject)soapobject.getProperty(i);
                    for(int j=0;j<soap1.getPropertyCount();j++)
                    {                
                        Toast.makeText(this, soap1.getProperty(j).toString(), Toast.LENGTH_LONG).show();
                    }
                }
    
            }

        } 
            catch (Exception e) 
            {
            e.printStackTrace();
            }
    }

    
}
0 0
原创粉丝点击