当前位置:编程学习 > C#/ASP.NET >>

一步一步将你的C#程序部署到Android.......

--------------------编程问答-------------------- 感谢分享,非常适合新手。
另外,感叹一句,原生java的android开发跟mono for android,虽然是两种不同的语言,但是风格几乎一致。 --------------------编程问答--------------------
引用 1 楼 guwei4037 的回复:
感谢分享,非常适合新手。
另外,感叹一句,原生java的android开发跟mono for android,虽然是两种不同的语言,但是风格几乎一致。


使用C#这么些年, 跨平台做应用还是第一次,今天折腾了一天,还算顺利,比想象中的更简单,更好玩。

虽然两种不同语言,但本身C#与Java也很类似。

虽然以前的大学很反感我们去做比较,但我还是想说C#就是Java优秀, 比如范型,Linq,lamada表达式,是Java所无法相比的 --------------------编程问答-------------------- Android平台又多了一门开发语言 --------------------编程问答-------------------- --------------------编程问答-------------------- 除 --------------------编程问答-------------------- 不错,支持一下啊, --------------------编程问答-------------------- 除 --------------------编程问答-------------------- 好东西!!!!!!!! --------------------编程问答-------------------- Nice~~ --------------------编程问答-------------------- 不支持设计试图 --------------------编程问答--------------------

好货! --------------------编程问答-------------------- 正想学习呢。先收藏着。 --------------------编程问答-------------------- 感谢分享! --------------------编程问答-------------------- 给顶一个! 另外想问,使用Mono for Android写出来的程序部署在手机上面需要安装运行库不? --------------------编程问答-------------------- 除 --------------------编程问答-------------------- 有时间也玩玩~ --------------------编程问答-------------------- --------------------编程问答--------------------
引用 14 楼 vb763305825 的回复:
给顶一个! 另外想问,使用Mono for Android写出来的程序部署在手机上面需要安装运行库不?


如果按照Debug模式来编译,那么你需要手机上部署有mono运行时调试库。这在vs连上手机时会自动部署(然后它才会把.apk文件部署上去)。

而使用Release模式来编译,产生的.apk文件可以独立地拷贝到手机上运行,直接就安装,无需什么运行时调试库支持。 --------------------编程问答-------------------- 学习借助一个开发平台开发,我们往往要越过一道“坎”。就是我们最初总是喜欢弄一些超级简单的例子、设计非常简单(甚至用户体验和“恶心”)的交互界面、功能及其平凡的操作、完全不需要动脑筋的设计创意,这样的例子。

越过了这道坎,其实我们才重新考虑如何进行产品设计问题。那个时候你才真正了解了技术。越不过这道坎,你可能将来就不得不放弃这种“玩一玩而已”的尝试。 --------------------编程问答-------------------- 我不使用“d. 调试及部署”这里的做法,因为我觉得虚拟机慢得令人无法忍受。

随便弄一个安卓手机,用数据线连在电脑上,开启你的手机的“允许调试开发”选项,那么你就可以直接在运行设备列表上看到你的手机。然后你就可以直接在vs上调试了,而程序是直接运行在真机上!我都是直接用真机来调试开发,从来不用虚拟机。

给自己找例子来“试探着”学习,尽量找那种同样只有很少的代码、但是界面设计比较现代(比如说有基本产品级的滑动列表控件)的比较接近“性感UI”的例子,不要弄出只有程序员才能容忍的那种很差劲的UI设计的例子。 --------------------编程问答-------------------- 除 --------------------编程问答-------------------- mark一下,真好用到 --------------------编程问答-------------------- 不错,不错,先留个点。
--------------------编程问答-------------------- 不错,很不错的技术,学习中! --------------------编程问答--------------------
引用 10 楼 lobtao 的回复:
不支持设计试图


Vs 2012是支持的,选择xaml文件的打开方式为  Android Designer,设计视力与WPF的设计视图很类似。
--------------------编程问答--------------------
引用 20 楼 sp1234 的回复:
给自己找例子来“试探着”学习,尽量找那种同样只有很少的代码、但是界面设计比较现代(比如说有基本产品级的滑动列表控件)的比较接近“性感UI”的例子,不要弄出只有程序员才能容忍的那种很差劲的UI设计的例子。


支持补丁大大,Android的ui 与Winform的UI差异比较大,这也是Android成功的原因之一,他们的设计师仔细考虑过在手机上应该使用什么样的UI.....  --------------------编程问答--------------------
引用 14 楼 vb763305825 的回复:
给顶一个! 另外想问,使用Mono for Android写出来的程序部署在手机上面需要安装运行库不?


不需要的。
前提是你必须使用Release模式编译出来的Apk --------------------编程问答-------------------- 据说实际产品开发中会有些问题。 --------------------编程问答-------------------- 菜鸟路过,谢谢提供 --------------------编程问答--------------------     支持C# running anywhere! --------------------编程问答--------------------
引用 28 楼 findcaiyzh 的回复:
据说实际产品开发中会有些问题。


Mono框架本身是比较稳定的,虽然有些小BUG,尽量绕开他。
我身边也有一些朋友用C#开发Android App , 放到AppStore。 --------------------编程问答-------------------- --------------------编程问答-------------------- 看来c#越来越强大了 --------------------编程问答-------------------- 这种写法同使用java写好象没有区别。干嘛不用java反而要用c#呢? --------------------编程问答-------------------- 除 --------------------编程问答--------------------
引用 34 楼 zanfeng 的回复:
这种写法同使用java写好象没有区别。干嘛不用java反而要用c#呢?


因为C#很多语法用习惯了, Java里面没有,比如delegate , Linq , Lamada, 
另外Visual Studio也比Eclipse好用太多了。 
如果C#与Java都可以完美地跨平台了,我想大多数都会选择C#吧。 --------------------编程问答--------------------
引用 33 楼 xiaoxiangqing 的回复:
看来c#越来越强大了


C#本身就很强大,他的设计初衷就是为了能够跨平台,没有任何技术问题, 但会涉及到其他产品的利益,所以官方没有给出跨平台的解决方案, 有了Mono之后,感觉C#就相当完美了。 --------------------编程问答-------------------- 你丫的狗屎网站 --------------------编程问答-------------------- 注册并下载了XamarinInstaller.exe,然后运行就没有反应了??? --------------------编程问答-------------------- 建议楼主把破解的相关步骤变成购买的相关步骤。

--------------------编程问答-------------------- 除 --------------------编程问答--------------------
引用 39 楼 mindsky 的回复:
注册并下载了XamarinInstaller.exe,然后运行就没有反应了???

同问! --------------------编程问答-------------------- 这个是好东西啊,不过就是不知道怎么引用外部的一些现有的jar扩展,例如zxing这种二维码扫描等扩展库 --------------------编程问答--------------------
引用 2 楼 hyblusea 的回复:
虽然以前的大学很反感我们去做比较,但我还是想说C#就是Java优秀, 比如范型,Linq,lamada表达式,是Java所无法相比的

http://developer.51cto.com/art/201304/388411.htm
Java 8 将会包含很多新特性,有如 Lambdas, Jigsaw 模块化等等 --------------------编程问答-------------------- 就是现在文档有点少 --------------------编程问答-------------------- 接口跟ANDROID上的基本上一样的,这个好处是可以参考android的代码,但是问题也是接口不是基本一致,所以写起来没有android基础的话,还是比较郁闷。。。。。而且monodroid在国内外的文档、例子都非常少啊。。。

另外,现在已经有几个框架可以用了,monocross(mvc的), mvvmcross(这个还在进行中,但是很期待,不知道是不是能直接撇开android的界面开发呢?)


还有自己的一点感受,用mono来开发实在是太不能忍受了,各种慢,唉~~~~

还忘记了一个东西,就是monodroid的插件是要收费的,如果实际产品应用的话,会有版权问题,希望大家慎重使用。。。。 --------------------编程问答--------------------
引用 14 楼 vb763305825 的回复:
给顶一个! 另外想问,使用Mono for Android写出来的程序部署在手机上面需要安装运行库不?


在编译的时候,可以选择“共享运行库”,如果不选择的话,就会把.net的模拟器打包到apk中,但是有7M之多,烦~~~~ --------------------编程问答--------------------
引用 19 楼 sp1234 的回复:
学习借助一个开发平台开发,我们往往要越过一道“坎”。就是我们最初总是喜欢弄一些超级简单的例子、设计非常简单(甚至用户体验和“恶心”)的交互界面、功能及其平凡的操作、完全不需要动脑筋的设计创意,这样的例子。

越过了这道坎,其实我们才重新考虑如何进行产品设计问题。那个时候你才真正了解了技术。越不过这道坎,你可能将来就不得不放弃这种“玩一玩而已”的尝试。


是啊,可是这不相当于每学习一门新的语言都先学习一句"Hello,World"一样吗?不过确实原先很多感兴趣的东西,到手经过一段时间后都变成了一种"玩一玩而已的尝试", sp说的这道坎,具体指的是什么? 该如何去越? --------------------编程问答--------------------
引用 39 楼 mindsky 的回复:
注册并下载了XamarinInstaller.exe,然后运行就没有反应了???


界面出现可能稍微有些慢吧。 --------------------编程问答-------------------- 周末试试

--------------------编程问答--------------------
引用 47 楼 hudsonhuang 的回复:
Quote: 引用 14 楼 vb763305825 的回复:

给顶一个! 另外想问,使用Mono for Android写出来的程序部署在手机上面需要安装运行库不?


在编译的时候,可以选择“共享运行库”,如果不选择的话,就会把.net的模拟器打包到apk中,但是有7M之多,烦~~~~


我的apk体积是 3.9M, 体积对于现在的手机存储来讲已经不是问题了。7M, 70M都影响不大  --------------------编程问答-------------------- 好文章,必頂 --------------------编程问答--------------------
引用 40 楼 cuit 的回复:
建议楼主把破解的相关步骤变成购买的相关步骤。


感谢您的建议, 希望正版的普及率能够提高,使mono 形成一个更好氛围的生态圈 --------------------编程问答-------------------- 不错,大神啊~~ --------------------编程问答--------------------
引用 51 楼 hyblusea 的回复:
Quote: 引用 47 楼 hudsonhuang 的回复:

Quote: 引用 14 楼 vb763305825 的回复:

给顶一个! 另外想问,使用Mono for Android写出来的程序部署在手机上面需要安装运行库不?


在编译的时候,可以选择“共享运行库”,如果不选择的话,就会把.net的模拟器打包到apk中,但是有7M之多,烦~~~~


我的apk体积是 3.9M, 体积对于现在的手机存储来讲已经不是问题了。7M, 70M都影响不大 


你的apk在手机上实验过了么?
我不加运行库的时候,才几百K,但是打不开的
问题倒不是什么问题,主要是自己写个小软件,还要搞这么大不爽而已。
--------------------编程问答--------------------
引用 55 楼 hudsonhuang 的回复:
Quote: 引用 51 楼 hyblusea 的回复:

Quote: 引用 47 楼 hudsonhuang 的回复:

Quote: 引用 14 楼 vb763305825 的回复:

给顶一个! 另外想问,使用Mono for Android写出来的程序部署在手机上面需要安装运行库不?


在编译的时候,可以选择“共享运行库”,如果不选择的话,就会把.net的模拟器打包到apk中,但是有7M之多,烦~~~~


我的apk体积是 3.9M, 体积对于现在的手机存储来讲已经不是问题了。7M, 70M都影响不大 


你的apk在手机上实验过了么?
我不加运行库的时候,才几百K,但是打不开的
问题倒不是什么问题,主要是自己写个小软件,还要搞这么大不爽而已。


试过的, apk的平均体积在4M左右 。搞惯了大项目, 感觉apk体积好小噢,Winform项目, 用了Devexpress控件,一个项目一堆 Dll, 平均都在100M以上。 --------------------编程问答-------------------- 感谢分享,不过想问一下这样的做法有没有局限性? --------------------编程问答--------------------
引用 56 楼 hyblusea 的回复:
试过的, apk的平均体积在4M左右 。搞惯了大项目, 感觉apk体积好小噢,Winform项目, 用了Devexpress控件,一个项目一堆 Dll, 平均都在100M以上。


是不是android版本的问题呢?
我用的是2.1的。。

弊司的程序,基本上不用第三方的,项目都差不多100M。。。。。。拿电脑跟手机,还是不太合适吧。。。 --------------------编程问答-------------------- 收藏有空试下 --------------------编程问答--------------------
引用 57 楼 sjyforg 的回复:
感谢分享,不过想问一下这样的做法有没有局限性?


目前没有发现有局限性噢,C#的控件有点少而已,因为与Java开发Android的架构基本上相同,所以Java可以做的,C#都能实现。 --------------------编程问答-------------------- 感谢分享 --------------------编程问答-------------------- 谢谢分享~
这个可能要用到 --------------------编程问答-------------------- mark,晚上试试 --------------------编程问答-------------------- 想学学,但没看懂那串代码啥意思。 --------------------编程问答-------------------- 2.破解
网上找的破解:http://download.csdn.net/detail/flydoos/5820325
解压缩后,将文件覆盖到指定位置即可。 --------------------编程问答-------------------- 记录下,以后可能用到。 --------------------编程问答-------------------- 破解补丁提示有毒 --------------------编程问答--------------------
引用 67 楼 maolixian 的回复:
破解补丁提示有毒


目测大多数的破解都会被暴病毒,信得过就用吧,信不过就删掉他,小心为妙,毕竟来自于网络 。 --------------------编程问答--------------------
引用 64 楼 u011561202 的回复:
想学学,但没看懂那串代码啥意思。


都是C#啊, 哪里不懂呢? --------------------编程问答-------------------- 除了开发语言变成了c#,其它的跟java的基本无区别。。。 --------------------编程问答-------------------- 我想知道性能上有没有什么区别? --------------------编程问答-------------------- 很好
2013年07月31日→星座:狮子座
癸巳〖蛇〗己未月戊戌日庚申时
二〇一三年六月廿四
今属:土;五行:水火土金;缺:木;
纳音五行:长流水。 --------------------编程问答-------------------- 记下来。应该有用 --------------------编程问答-------------------- 就冲vs来的。 --------------------编程问答--------------------
引用 71 楼 fate1987 的回复:
我想知道性能上有没有什么区别?


性能应该不会差,理论上C#的性能比Java更高 --------------------编程问答-------------------- 这奇葩东西。。。代码看着也和JAVA差不多 --------------------编程问答-------------------- 代码看着也和JAVA差不多  --------------------编程问答-------------------- 这个居然也出破解了,以前用虚拟机玩过一次,没深入研究过,而现在更是没时间玩它。 --------------------编程问答-------------------- --------------------编程问答-------------------- 有时间也玩玩~ --------------------编程问答-------------------- 学习。知道这种方法。 --------------------编程问答-------------------- Mark先标记一下,有时间试试 --------------------编程问答--------------------
引用 78 楼 qldsrx 的回复:
这个居然也出破解了,以前用虚拟机玩过一次,没深入研究过,而现在更是没时间玩它。


高手在民间啊, 嘿嘿 --------------------编程问答-------------------- C#
也可以玩这个啊,,之前搞java ,android模拟器拖得机器好慢,,,不知道这个会不会快很多 --------------------编程问答--------------------
引用 84 楼 likofans 的回复:
C#
也可以玩这个啊,,之前搞java ,android模拟器拖得机器好慢,,,不知道这个会不会快很多


模拟器确实慢,所以要么提高硬件配置,要么直接用手机调试。
听说还有一款模拟器叫 Genymotion,速度比这快不少。 --------------------编程问答-------------------- 虽然我的主语言也是C#,但是既然开发Android应用,我建议还是去使用java来开发。
使用Mono这种,我认为是走偏门,在项目上,到时候出些Mono带来的BUG就麻烦了。
另外Mono是要收费的。而使用Eclipse开发就没这些问题了。
目前本人也是在学习用java在Eclipse下开发Android应用。 --------------------编程问答--------------------
引用 72 楼 xianfajushi 的回复:
很好
2013年07月31日→星座:狮子座
癸巳〖蛇〗己未月戊戌日庚申时
二〇一三年六月廿四
今属:土;五行:水火土金;缺:木;
纳音五行:长流水。

为啥经常看到这些天干地支、五行之类的内容?… --------------------编程问答-------------------- 好东西,值得收藏 --------------------编程问答-------------------- 原来还可以这样子啊,那不是可以直接做安卓端,但.net framework怎办?会自动打包吗,这环境可以吗? --------------------编程问答-------------------- 好东西,值得收藏 --------------------编程问答--------------------
引用 86 楼 yeqi3000 的回复:
虽然我的主语言也是C#,但是既然开发Android应用,我建议还是去使用java来开发。
使用Mono这种,我认为是走偏门,在项目上,到时候出些Mono带来的BUG就麻烦了。
另外Mono是要收费的。而使用Eclipse开发就没这些问题了。
目前本人也是在学习用java在Eclipse下开发Android应用。


Mono 是开源的啊, 兄弟。 是Mono的开发环境,也就是IDE收费,当然也有免费的IDE。
另外这个绝对不是偏门,微软早些年就已经将C# 贡献了给了ECMA,但是微软比较低调,并且一直处于制定标准绝对领先地位,一直带领着C#前进。
既然C#微软开放出来了,那么任何设备上都可以免费无条件地使用C# ,那么反过来,Java能做到么?Andoird使用Java不是被Oracle告上了法庭,刺果查的讽刺。 --------------------编程问答--------------------
引用 76 楼 sinom 的回复:
这奇葩东西。。。代码看着也和JAVA差不多


Java 一直模仿未曾超越。。。。谁是奇葩自交给历史吧。
C#有了Linq, Java也想搞一个, C#有范型,Java就弄了一个伪范型,C#有lambda,Java也想山寨一个, 哈哈。 --------------------编程问答--------------------
引用 89 楼 fsone 的回复:
原来还可以这样子啊,那不是可以直接做安卓端,但.net framework怎办?会自动打包吗,这环境可以吗?


可以将运行库一起打入APK,体积大约有4M左右 。 --------------------编程问答-------------------- 一起打入APK,体积大约有4M左右 。 --------------------编程问答-------------------- 除 --------------------编程问答-------------------- 值得尝试一下,最近还在犹豫到底跟着哪家公司走呢?看来还是要跟着微软走了
一直觉得微软的产品好用方便 --------------------编程问答-------------------- 顶一个,谢谢楼主分享
--------------------编程问答-------------------- 额。还是老老实实java来的好多了。一整套开发环境都不超过1G --------------------编程问答-------------------- 除 --------------------编程问答-------------------- 2.破解
网上找的破解:http://download.csdn.net/detail/flydoos/5820325

这个没人点击吗?网页打不开

引用 楼主 hyblusea 的回复:
C#是一种优秀的编程语言,语法之优雅,代码之简洁使得众多软粉多年来对她不离不弃。 但是如何将C#程序部署到Linux, Android等平台,这当然是得依靠众所周知的Mono。

本文Demo程序比较简单,实现了通过HttpRequest 查询天气,最终效果如下:



1. 下载并安装 Xamarin
http://xamarin.com/download
注册Xamarin账号, Role 选择 Academic(学者)即可;
运行 XamarinInstaller.exe在线安装程序,需要一个良好的网络环境,所需的安装程序体积大约 1.44G ,安装过程一路默认即可。

2.破解
网上找的破解:http://download.csdn.net/detail/flydoos/5820325
解压缩后,将文件覆盖到指定位置即可。

3.开发
开发Mono Android程序可以使用Xamarin Studio,也可以使用Visual Studio,建议使用VS,因为Xamarin对VS提供有强大的插件 再配合VS本身强大的功能,会使开发工作如鱼得水,另外Xamarin Studio目前还不够完善,比如添加引用 之后,需要重启。 

a.创建 Android项目 ,如下图:


b.项目文件结构,如下图:


c.页面文件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:id="@+id/linearLayout1"
        android:layout_marginBottom="5dip"
        android:layout_marginLeft="5dip"
        android:layout_marginRight="5dip"
        android:layout_marginTop="5dip">
        <TextView
            android:id="@+id/LblCity"
            android:text="@string/PressCity"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1" />
        <EditText
            android:id="@+id/TxtWeather"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:lines="1" />
    </LinearLayout>

    我们可以看出,所有的控件均放在LinearLayout中,这是一个部局控件,LinearLayout又分为水平布局和垂直布局,比如一行中需要放置多个控件,这时候就需要用到水平布局。
d. cs文件
    我们所熟悉的C#,将在这里大展拳脚,一切看上去都是那么亲切。

using System;

using Android.App;
using Android.Content;
using Android.Runtime;
using Android.Views;
using Android.Widget;
using Android.OS;
using System.IO;


namespace AndroidHelloWorld
{
[Activity(Label = "EasyWeather", MainLauncher = true, Icon = "@drawable/icon")]
public class Activity1 : Activity
{
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);

// Set our view from the "main" layout resource
SetContentView(Resource.Layout.Main);

// Get our button from the layout resource,
// and attach an event to it
Button button = FindViewById<Button>(Resource.Id.MyButton);
EditText txtWeather = FindViewById<EditText>(Resource.Id.TxtWeather);

            // 天气查询结果
            TextView lblCity = FindViewById<TextView>(Resource.Id.LblCityRst);                  // 城市 
            TextView lblCurTmp = FindViewById<TextView>(Resource.Id.LabCurTempRst);             // 当前温度  
            TextView lblWeather = FindViewById<TextView>(Resource.Id.LabWeatherRst);            // 天气
            TextView lblRange = FindViewById<TextView>(Resource.Id.LabRangeRst);                // 范围
            TextView lblUptTime = FindViewById<TextView>(Resource.Id.LabUptTimeRst);            // 更新时间


button.Click += (sender, e) => {
HttpHelper helper = new HttpHelper();

string sUrl = String.Format(@"http://cgi.appx.qq.com/cgi/qqweb/weather/wth/weather.do?
retype=1&city={0}&t={1}", 
Uri.EscapeDataString(txtWeather.Text), 
DateTime.Now.ToFileTime().ToString());

                try
                {
                    var v = helper.HttpGetRequest(sUrl, null, 10000, null);
                    var rst = new StreamReader(v.GetResponseStream(), System.Text.Encoding.GetEncoding(v.CharacterSet));


                    var vWeather = Newtonsoft.Json.JsonConvert.DeserializeObject<EtWeather>(rst.ReadToEnd());
                    //var vWeather = jss.Deserialize<EtWeather>(rst.ReadToEnd());

                    lblCity.Text = vWeather.city;
                    lblCurTmp.Text = vWeather.now_temperature;
                    lblWeather.Text = vWeather.now_pic_name;
                    lblRange.Text = vWeather.temperature_range;
                    lblUptTime.Text = vWeather.update_time;
                }
                catch (Exception Err)
                {
                    var builder = new AlertDialog.Builder(this);
                    builder.SetMessage(Err.Message);
                    builder.SetCancelable(false);
                    builder.SetPositiveButton("OK", delegate { });
                    var dialog = builder.Create();
                    dialog.Show();

                }

};
}
}
}

    需要注意的是,我们怎样使用前台页面所定义的控件?目前我知道的这种方法,比较繁琐,不知道是否还有更直接一点的方式:
TextView lblCity = FindViewById<TextView>(Resource.Id.LblCityRst);
   

    然后编写HttpHelper类:

public class HttpHelper
{
private readonly string DefaultUserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)";

public HttpWebResponse HttpGetRequest(string url, string referer, int? timeout, CookieCollection cookies)
{
HttpWebRequest request = null;  

if (url.StartsWith("https", StringComparison.OrdinalIgnoreCase))
{
ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(CheckValidationResult);
request = WebRequest.Create(url) as HttpWebRequest;
request.ProtocolVersion = HttpVersion.Version10;
}
else
request = WebRequest.Create(url) as HttpWebRequest;

request.Method = "GET";
request.ContentType = "application/x-www-form-urlencoded";
request.UserAgent = DefaultUserAgent;
request.CookieContainer = new System.Net.CookieContainer();

if (!string.IsNullOrEmpty(referer))
request.Referer = referer;

if (timeout.HasValue)
request.Timeout = timeout.Value;
else
request.Timeout = 25000;

if (cookies != null)
{
request.CookieContainer = new CookieContainer();
request.CookieContainer.Add(cookies);
}

return request.GetResponse() as HttpWebResponse;  
}

private  bool CheckValidationResult(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors)
{
return true;
}

    接下来就是如何将Web Api返回的Json还原为对象,这里需要用到 Newtonsoft.Json,添加引用的方法如下:  1,右击解决方案中的Components文件夹,选择view datails, 2.找到 jons.Net ,3.点击 Add to Projct(需要账号验证,使用注册的学者账号即可)。

d. 调试及部署
    按F5运行, 第一次需要创建一个Android模拟器,这里只需要稍微注意一下你所选择Android系统版本,推荐使用2.2, 因为Mono For Android项目默认情况下使用的是2.2 的API。 


    Mono框架没有JIT(个人对这个没有研究,可能表达得不准确,欢迎拍砖),因此在断点调试的时候你会发现与平时调试C#略有不同,无法拖动断点,无法修改代码。
    关于部署,必须使用Release进行编译,将并生成的APK文件传到手机安装后即可运行,UI与速度与Java开发的应用无差。

Mono for Android, Android开发我是新手中的新手,向大家学习,让C# running anywhere.
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,