首先新建一个空网站,添加一个webservice服务。然后在UserWebService.cs类里编写对外服务的方法

[WebMethod]
public string IsCorret(string userName , string userPassWord) {
if (userName.Equals("cjx") && userPassWord.Equals(""))
{
return "True";
}
else
{
return "False";
}
}

在浏览器中运行下,判断服务是否可以正常使用。确保可以正常使用后,在xamarin项目中WebReferences文件夹项右击添加Web引用

在Activity类里编写如下代码,下面主要是在一个button事件中添加对webservice的调用

TextView tvUser = null;
TextView tvPassWord = null;
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
SetContentView(Resource.Layout.Login); Button button = FindViewById<Button>(Resource.Id.into);
button.Click += (sender, e) => {
UserService.UserWebService us = new UserService.UserWebService();
//webservice调用完成后触发
us.IsCorretCompleted += new UserService.IsCorretCompletedEventHandler(us_IsCorretCompleted); tvUser = FindViewById<TextView>(Resource.Id.accountNumber1);
tvPassWord = FindViewById<TextView>(Resource.Id.password);
us.IsCorretAsync(tvUser.Text, tvPassWord.Text);
};
}

当webservice方法执行完成的时候会触发如下事件

void us_IsCorretCompleted(object sender, UserService.IsCorretCompletedEventArgs e)
{
if (e.Result.Equals("True"))
{
//设置一个意图
var intent = new Intent(this, typeof(MainActivity));
StartActivity(intent);
}
else {
Toast.MakeText(this, "登录失败!", ToastLength.Short).Show();
}
}

不过这样子还是会出错的,这里要感谢这篇文章的博主!

http://www.codeproject.com/Articles/641570/MonoAndroid-Using-dotnet-webservice-ASMX

通过这里的讲解因为该项目是在android模拟器下运行的本地地址而是windows上的地址。于是不能使用localhost,而是要使用10.0.2.2

10.0.2.2 (Special alias to your host loopback interface (i.e., 127.0.0.1 on your development machine))

于是打开自动生产的类,修改下ip地址为10.0.2.2即可

xamarin for android webservice的更多相关文章

  1. C#使用Xamarin开发Android应用程序 -- 系列文章

    Xamarin开发Android应用程序 利用Xamaria构建Android应用-公交发车信息屏 Xamarin版的C# SVG路径解析器 C#使用Xamarin开发可移植移动应用(1.入门与Xam ...

  2. Xamarin开发Android应用打包apk

    Visual Studio中用Xamarin开发Android应用,生成apk文件有3种方法 1.debug时,代码目录下bin\Debug中会自动生成调试用***-Signed.apk文件,但是文件 ...

  3. Xamarin +vs2015 Android 开发GPS loaction 返回 null 小结

    最近公司要开发android 所以研究了一下Xamarin  to android 中个GPS 废话不多说,说重点. 想获取手机上的gps信息必不可少的就是要使用 LocationManager Lo ...

  4. Xamarin Android教程如何使用Xamarin开发Android应用

    Xamarin Android教程如何使用Xamarin开发Android应用 在了解了Xamarin和Andriod系统之后,下面我们需要了解一下如何使用这些工具和系统来开发我们的应用程序. And ...

  5. Android webservice的用法详细讲解

    Android webservice的用法详细讲解 看到有很多朋友对WebService还不是很了解,在此就详细的讲讲WebService,争取说得明白吧.此文章采用的项目是我毕业设计的webserv ...

  6. Xamarin开发Android笔记:背景操作

    使用Xamarin开发Android UI的时可能会遇到一些场景背景的问题,虽然可以利用多层或直接使用图片背景来完成,但这样会增加不少的资源消耗,最终导致内存溢出的情况.最好的方法还是利用内部方法或代 ...

  7. 【Xamarin开发 Android 系列 13】 应用打包部署

    原文:[Xamarin开发 Android 系列 13] 应用打包部署 开始倒叙咯................ 先更新大宝部署吧,这个章节比较的Easy,童鞋们不用费脑筋.点解?从界面上填写几个参 ...

  8. 【Xamarin开发 Android 系列 7】 Android 结构基础(下)

    原文:[Xamarin开发 Android 系列 7] Android 结构基础(下) *******前期我们不打算进行太深入的东西,省的吓跑刚进门的,感觉门槛高,so,我们一开始就是跑马灯一样,向前 ...

  9. 【Xamarin开发 Android 系列 5】 Xamarin 的破解

    原文:[Xamarin开发 Android 系列 5] Xamarin 的破解 有关这个话题,十分敏感,公司开发还是支持下商业版权吧,毕竟一帮猴子辛辛苦苦没日没夜的干活,不说开宝马奔驰,吃饭还是必须的 ...

随机推荐

  1. RAD Studio Demo Code和几个国外FMX网站 good

    FireMonkey X –  Amazing overview of FireMonkey FMX Feeds – All your FireMonkey news in one place FMX ...

  2. Java == 和 equals 比较

    在初学Java时,可能会经常碰到下面的代码: 1 String str1 = new String("hello"); 2 String str2 = new String(&qu ...

  3. [LeetCode 题解]: Insertion Sort List

    Sort a linked list using insertion sort. 题目要求:链表的插入排序,由于没有时间复杂度的要求,可以直接循环操作. /** * Definition for si ...

  4. 微软2014实习生招聘笔试第2题 the k-th string

    Time Limit: 10000msCase Time Limit: 1000msMemory Limit: 256MB Description Consider a string set that ...

  5. 在ie6下将png24图片透明

    没想到IETester中IE6和IE6真实版本不一样...之前一直没有实现png图片的透明度,现在发现原来是版本不一样惹的祸.总之,我将解决方法以demo的方式显示出来,以供再次利用. <!DO ...

  6. [Erlang08] 使用Erlang application有什么好处?

    问题: 当我们把一个项目中所有的supervision tree通过一个简单的函数game: start(),会发现这个树结构特别复杂,只能有一个根节点,然后一直扩展. 那么有时,我们会需要:有些功能 ...

  7. Exception has been thrown by the target of an invocation

    I'd suggest checking for an inner exception. If there isn't one, check your logs for the exception t ...

  8. SQL存储过程编写,包含临时表

    create proc R_ProductUse_M(@id1 int,@id2 int,@id3 int) as begin ---临时表1 select a.id1,b.id2,c.id3 int ...

  9. 「HNOI 2014」 江南乐

    \(Description\) \(n\)堆石子,每堆石子有\(s_i\)个,两个人轮流操作,每次可以将一对不少于\(F\)的石子尽量平均分成\(m\)堆,\(m\)每次自选,不能操作者输.共有\(T ...

  10. Mysql内置功能《六》流程控制

    一 流程控制 delimiter // CREATE PROCEDURE proc_if () BEGIN declare i int default 0; if i = 1 THEN SELECT ...