android调用WCF(多参数传递)
来源:互联网 发布:js window.onload之类 编辑:程序博客网 时间:2024/04/29 05:20
1,使用的交互方式是json格式,返回与提交参数都是json字符串。
2,对于多个参数的提交注意点:必须封装在一个jsonobject内如:{"param1":{"id":1,"name":"kee"},"param2":{"id":2,"name":"temp"}},此处提交的参数对应的函数
形式fun(Person param1,Person param2)。封装的key值,是函数参数的名称。这也是摸搜了好久,验证成功的啦。
在.net WCF端接口函数
GetPersonInfoDetailByStudent(ServiceRequest serviceRequest,Student student1,Student student2)
下面是Android端简单的测试代码:
package com.kee.first;import java.io.InputStream;import java.io.InputStreamReader;import org.apache.http.HttpResponse;import org.apache.http.client.methods.HttpPost;import org.apache.http.entity.StringEntity;import org.apache.http.impl.client.DefaultHttpClient;import org.json.JSONObject;import android.annotation.SuppressLint;import android.app.Activity;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.util.Log;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.TextView;public class MainActivity extends Activity {// String SERVICE_URIString SERVICE_URI = "http://xx.214.21.xx:9123/PatrolTerminalServiceAD/GetPersonInfoDetailByStudent";TextView result;@SuppressLint("HandlerLeak")Handler handler = new Handler() {public void handleMessage(android.os.Message msg) {result.setText(msg.obj.toString());};};@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);result = (TextView) findViewById(R.id.btn_result);Button btn = (Button) findViewById(R.id.btn);btn.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {new Thread() {public void run() {Log.d("kee", "run...");MainActivity.this.onBtnClick();}}.start();}});}public void onBtnClick() {try {Log.d("kee", "onSave...");boolean isValid = true;// Data validation goes hereif (isValid) {// POST request to <service>/SaveVehicleHttpPost request = new HttpPost(SERVICE_URI);JSONObject obj = new JSONObject();// obj.put("str1", "aaa");// obj.put("str2","bbb");// HttpGet request = new HttpGet(SERVICE_URI);request.setHeader("Accept", "application/json");request.setHeader("Content-type", "application/json");JSONObject stu = new JSONObject();stu.put("Id", "111");stu.put("Number", 3333);JSONObject sRequest = new JSONObject();sRequest.put("IdentifyHash", 111);sRequest.put("RequesterID","4255C27C-A444-4D65-8FFB-B04379321B35");sRequest.put("RequesterIP", "");sRequest.put("ValidationIP", "");sRequest.put("Exclusive", "");obj.put("serviceRequest", sRequest);obj.put("student1", stu);obj.put("student2", stu);StringEntity entity = new StringEntity(obj.toString());Log.d("kee", obj.toString());request.setEntity(entity);// Send request to WCF serviceDefaultHttpClient httpClient = new DefaultHttpClient();HttpResponse response = httpClient.execute(request);// response.getStatusLine().getStatusCode()// response.getLog.d("kee", response.getStatusLine().getStatusCode() + "");// String result = response.getEntity().toString();char[] buffer = new char[(int) response.getEntity().getContentLength()];InputStream stream = response.getEntity().getContent();InputStreamReader reader = new InputStreamReader(stream);reader.read(buffer);stream.close();Message msg = handler.obtainMessage();String result = new String(buffer, 0, buffer.length);Log.d("kee result", result);msg.obj = result;msg.sendToTarget();// Reload plate numbers// refreshVehicles();}} catch (Exception e) {e.printStackTrace();}}}
0 0
- android调用WCF(多参数传递)
- jQuery调用WCF服务时如何传递对象参数
- ksoap调用wcf服务并传递类参数
- 关于安卓调用wcf传递复杂参数的问题
- Android访问WCF服务(使用json实现参数传递)
- Android访问WCF服务(使用json实现参数传递)
- Android调用WCF
- Android调用WCF
- Android 调用WCF
- Android调用WCF
- Android调用WCF服务
- @selector 调用方法 传递多参数
- 调用参数的传递
- 调用者传递参数
- jQuery调用WCF服务传递JSON对象
- ExtJS调用WCF-----实现JSON传递
- WinPhone7使用调用WCF传递对象
- jQuery调用WCF服务传递JSON对象
- android硬件加速器及其问题小结
- 输出完数
- 贪财的大富翁
- rr
- 【数据库】PowerDesigner使用教程
- android调用WCF(多参数传递)
- 【置换群】【bzoj 1004】: [HNOI2008]Cards
- Python标准库:内置函数frozenset([iterable])
- Erlang笔记(01) - Erlang IDE (erlide)
- 数据绑定中的两类模型 POJO AND JAVABEAN
- Google浏览器Chrome正式发布
- 最小公倍数 Plus
- Android Studio 1.0 千呼萬喚終於出來了!
- Android 动画系列三:Propety Animation