使用 WCF Rest 服务通信 Android 应用程序

Posted

技术标签:

【中文标题】使用 WCF Rest 服务通信 Android 应用程序【英文标题】:Comunication Android App with WCF Rest Service 【发布时间】:2014-01-21 12:50:31 【问题描述】:

我正在尝试将我的 android 应用程序与 WCF REST 服务通信,但是当我运行 android 应用程序时,总是会出现一条消息,说不幸的是,android 应用程序已停止。

下面是我对服务的调用,当单击执行事件 LogarOnserver 时,我的应用程序只有一个具有 Button 的 Activity,如下所示。服务返回响应后,我将其放入 TextView (_myPassWord)。

package com.arduino.ligthautomation;

import java.io.IOException;

import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.ResponseHandler;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.BasicResponseHandler;
import org.apache.http.impl.client.DefaultHttpClient;


import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;


 public class RegisterActivity extends Activity  

EditText _myPassWord ;
EditText _myLogin;
private static final String URL_STRING =      "http://192.168.0.3:8080/lightautomationservice/1";

@Override

public void onCreate(Bundle savedInstanceState)

    super.onCreate(savedInstanceState);

    //mostrando tela de login
    setContentView(R.layout.login);

     _myPassWord = (EditText)  findViewById(R.id.editTextPassword);
     _myLogin = (EditText)  findViewById(R.id.editTextUsuario);






public void logarOnServer (View v) throws IOException

    try

         HttpClient httpclient = new DefaultHttpClient();
         HttpGet request = new HttpGet("http://192.168.0.3:8080/lightautomationservice/1");
         ResponseHandler<String> handler = new BasicResponseHandler();
         //you result will be String :
         String result = httpclient.execute(request, handler);

         _myLogin.setText(result);

            catch (ClientProtocolException e) 
           // TODO Auto-generated catch block
            e.printStackTrace();
            catch (IOException e) 
            // TODO Auto-generated catch block
             e.printStackTrace();
           



【问题讨论】:

这个错误是从哪里来的?发布整个堆栈跟踪。 【参考方案1】:

只是一个疯狂的猜测:您正在主(UI)线程上执行网络请求。一个很大的不。

查找AsyncTask

【讨论】:

以上是关于使用 WCF Rest 服务通信 Android 应用程序的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Android 使用 WCF Rest 服务

ASP.Net Web API 与 WCF - Web API 能否用于向单例 WCF 服务提供基于 REST 的通信?

Android将文件作为ByteArray上传到WCF REST服务

如何从 android 客户端调用 REST WCF 服务

WCF REST 服务 400 错误请求

如何在 REST 模式下使用 WCF 服务?