网站建设资讯

NEWS

网站建设资讯

Xamarin只言片语2——Xamarin下的webapi操作

在很多时候,我们是希望手机app是要和服务端关联,并获取服务端的数据的,本篇博文我们看一下在xmarin下,怎么和用web api的方式与服务端连接并获取数据。

创新互联专注为客户提供全方位的互联网综合服务,包含不限于成都网站设计、网站建设、深泽网络推广、重庆小程序开发、深泽网络营销、深泽企业策划、深泽品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联为所有大学生创业者提供深泽建站搭建服务,24小时服务热线:18982081108,官方网址:www.cdcxhl.com

首先看web api的开发,本实例是用Visual Studio 2013 with update 4开发

Xamarin只言片语2——Xamarin下的web api操作

Xamarin只言片语2——Xamarin下的web api操作

然后创建一个实体类City

public class City

 {

     public int Code

     { get; set; }

     public string Name

     { get; set; }

 }

再创建一个WebApiController

    [RoutePrefix("api")]

public class TestController : ApiController

{

    [HttpGet]

    [Route("citys")]//通过路由设计为citys

    public IHttpActionResult GetCitys()

    {

        var citys = new List() {

        new City(){ Code=1,Name="北京"},

        new City(){Code=2,Name="天津"}

        };

        return Json(citys);//通过Json方式返回数据

    }

 

    [HttpPost]//设定请求方式为get请求

    [Route("login")]//通过路由设计为citys

    public IHttpActionResult SaveUser(string UserName, string Password)

    {

        if (UserName == "aaa" && Password == "bbb")

        {

            return Ok(1);

        }

        else

        {

            return Ok(0);

        }

    }

}

并键一点是要把webapi项目布署到IIS上,本例访问地址是:http://192.168.1.106/api

Android端

创建一个Android的空项目。

Xamarin只言片语2——Xamarin下的web api操作

右击项目,“管理Nuget程序包”,查Restsharp for Android,并安装

Xamarin只言片语2——Xamarin下的web api操作

Xamarin只言片语2——Xamarin下的web api操作

新建一个窗体,axml如下:

    android:orientation="vertical"

    android:layout_width="fill_parent"

    android:layout_height="fill_parent">

    

        android:text="确定"

        android:layout_width="match_parent"

        android:layout_height="wrap_content"

        android:id="@+id/But1" />

    

        android:inputType="textMultiLine"

        android:layout_width="match_parent"

        android:layout_height="wrap_content"

        android:id="@+id/username" />

    

        android:inputType="textMultiLine"

        android:layout_width="match_parent"

        android:layout_height="wrap_content"

        android:id="@+id/password" />

    

        android:text="确定"

        android:layout_width="match_parent"

        android:layout_height="wrap_content"

        android:id="@+id/But2" />

后端代码如下:

using System;

using Android.App;

using Android.Content;

using Android.Runtime;

using Android.Views;

using Android.Widget;

using Android.OS;

using RestSharp;

using System.Net;

using System.Collections.Generic; 

namespace WebApiAndroid

{

    [Activity(Label = "WebApiAndroid", MainLauncher = true, Icon = "@drawable/icon")]

    public class MainActivity : Activity

    {

        protected override void OnCreate(Bundle bundle)

        {

            base.OnCreate(bundle); 

            SetContentView(Resource.Layout.Main); 

            Button but1 = FindViewById