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();
}
}
}
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();
}
}
}