android调用webservice解析Gson数据

来源:互联网 发布:欧莱雅男士洗面奶知乎 编辑:程序博客网 时间:2024/06/07 08:02

Android端代码:

public class CheckActivity extends ActionBarActivity implements View.OnClickListener{

final static String NAME_SPACE = "http://tempuri.org/";
final static String SERVICE_URL = "http://192.168.0.174:8013/Roadflow.asmx";
// 调用的方法
String methodName = "getTask";
String soapAction = "http://tempuri.org/getTask";
EditText edit_1,edit_2;
String on;
String wo;
ListView listView;
List<RoadFlowTaskBean> list;
MyAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getSupportActionBar().hide();
setContentView(R.layout.activity_check);

viewInit();
get();
}
private void viewInit() {
// TODO Auto-generated method stub
listView = (ListView) findViewById(R.id.listView1);
edit_1 = (EditText) findViewById(R.id.edit_1);
edit_2 = (EditText) findViewById(R.id.edit_2);
list = new ArrayList<RoadFlowTaskBean>();
adapter=new MyAdapter(CheckActivity.this, list);
listView.setAdapter(adapter);
TextView textView=(TextView) findViewById(R.id.button1);
textView.setOnClickListener(this);

}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
list.clear();
on = edit_1.getText().toString().trim();
wo = edit_2.getText().toString().trim();
get();
}


private void get() {


new AsyncTask<Void, Void, Void>() {


@Override
protected void onPreExecute() {
// TODO Auto-generated method stub
super.onPreExecute();
}


@Override
protected Void doInBackground(Void... params) {
// TODO Auto-generated method stub


// 使用soap1.1协议创建Envelop对象
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
SoapEnvelope.VER11);
// 实例化SoapObject对象
SoapObject request = new SoapObject(NAME_SPACE, methodName);
/**
* 设置参数,参数名不一定需要跟调用的服务器端的参数名相同,只需要对应的顺序相同即可
* */
request.addProperty("strID", on);
request.addProperty("strStatus", wo);
// 将SoapObject对象设置为SoapSerializationEnvelope对象的传出SOAP消息
envelope.dotNet = true;
envelope.bodyOut = request;
envelope.setOutputSoapObject(request);
new MarshalBase64().register(envelope);
// 创建httpTransportSE传输对象
HttpTransportSE ht = new HttpTransportSE(SERVICE_URL);
try {
// 调用webService
ht.call(soapAction, envelope);

if (envelope.getResponse() != null) {

/*************************************第一种解析*********************/

// Object result=(SoapPrimitive)envelope.getResponse();
// Object result=envelope.getResponse();
// String str=(String)result.toString();
// //ds父对象
// JSONArray jsonArray =new JSONObject(str).getJSONArray("RoadFlow_Task");
// int count=jsonArray.length();
//
//        for(int index=0;index<count;index++){
//                            RoadFlowTaskBean bean=new RoadFlowTaskBean();
//                            
//             String ID=jsonArray.optJSONObject(index).getString("ID").toString();//获得数组里的对象,再根据对象获得字段
//             String Title=jsonArray.optJSONObject(index).getString("Title").toString();//获得数组里的对象,再根据对象获得字段
//             String StepName=jsonArray.optJSONObject(index).getString("StepName").toString();//获得数组里的对象,再根据对象获得字段
//             String SenderName=jsonArray.optJSONObject(index).getString("SenderName").toString();//获得数组里的对象,再根据对象获得字段
//         
//            // String ID1=jsonArray.getJSONObject(index).getString("ID").toString();//获得数组里的对象,再根据对象获得字段
//             
//             bean.setID(ID);
//             bean.setTitle(Title);
//             bean.setStepName(StepName);
//             bean.setSenderName(SenderName);
//             list.add(bean);
//            
//             System.out.println("----------------------"+ID);
//         }
      

// } else {

/*************************************第二种解析*********************/

Object result=(SoapPrimitive)envelope.getResponse();
JSONObject obj = new JSONObject(result.toString());
JSONArray jsonArray = (JSONArray)obj.getJSONArray("RoadFlow_Task");

for (int i = 0; i < jsonArray.length(); i++) {
JSONObject json = jsonArray.getJSONObject(i);
TestDTO.RoadFlowTaskBean test= new TestDTO.RoadFlowTaskBean();
test.setID(json.getString("ID"));
test.setTitle(json.getString("Title"));
list.add(test);
}
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}


// 数据显示
@Override
protected void onPostExecute(Void result) {
// TODO Auto-generated method stub
super.onPostExecute(result);
adapter.notifyDataSetChanged();
}


}.execute();


}
}
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 皮革床头爆皮了怎么办 皮包用酒精擦了怎么办 床头靠背皮掉了怎么办 真皮床头爆皮了怎么办 半裙拉链往下滑怎么办 误用三氧化二砷怎么办 情侣之间感情淡了怎么办 雪纺布料刮坏了怎么办 棉麻布料坏了怎么办 主板针脚弯了怎么办?能修吗? 脸颊两侧毛孔大还有黑头怎么办 脸颊和鼻子粗毛孔大怎么办 十二时辰对照五脏养生在国外怎么办 在学校接吻怕被看到怎么办 楼房圈梁被破坏了怎么办 买了农村的房子怎么办 邻居建房不用共用墙怎么办 腿被蚂蚁咬了怎么办 火车订2票不挨着怎么办 手机全变成英文该怎么办 这些旧电脑该怎么办用英语翻译 落水已把人救出该怎么办 手机落水后已开过机怎么办? 车被洪水冲走了怎么办 感到生活无聊无事可干怎么办 邻居不除排水沟影响到自己怎么办 开过光的玉碎了怎么办 一脚刹车踩到底怎么办 p53基因型cc型该怎么办 人不小心掉进火山怎么办 奥林巴斯相机相片被锁了怎么办 文明53格外的奢侈品怎么办 答应了要请客钱不够怎么办 在家里面着急没办法干活怎么办 1岁宝宝脾气暴躁怎么办 档案不在中国海峡人才市场怎么办 海丰西中街吃鸡钱包给拿了怎么办? 朝鲜成为经济强国中国怎么办 窗户上有哈气水怎么办 阳台下水管声音好大怎么办 一开水龙头会响怎么办