转发自

最近偶然在QQ技术群里见到有人提起用C#开发Android,当时我感觉到很诧异:Android不是只能用Java开发吗?何时可以使用C#了?那个群友便告知我:mono。

   百度一下吧!搜到了mono的官方网站:http://xamarin.com/(英文网站,看这个够头大的了)

   根据我仅有的点英语知识,好得看懂了些:

    Mono是用C#和.Net在VS环境下开发多个平台手机应用程序。意思就是说通过Mono,可以开发多个平台的手机应用程序(即iOS和Android)。听起来好像不错,但它是商业程序,因此是要收费的。幸运的是,它有免费的应用版本,并且永不过期,唯一不足的是试用版本有限制,官网上是如此介绍的:“xamarin试用软件不过期,但仅允许开发和测试ios模拟器和android模拟器。”意思是说,只能在虚拟机上运行.好了,仅有这些就足够了。

现在开始我们的工作。

1. 首先要确认我们的开发环境Visual Studio是否存在,支持最新的Visual Studio2012RC,如果有,则进行下一步;

2.在它的官方网站上点击下载使用版或者直接访问此网址:http://xamarin.com/trial,先在Step1中填好你的个人信息,包括邮箱、姓名、公司、角色(分三个版本:Academic、Indie、Professional)这里我选择的Indie。之后在Step2中选择mono for Android,之后便跳转到自动下载页面。

3.打开安装程序(防火墙可能会阻止其运行,点允许),一直点继续就行,之后安装程序就会从网络上下载安装包并自动安装,安装包大约有850MB。

4.静静的等待,直到安装完毕,此时便大功告成了。

   现在让我们打开我们的开发环境VS,新建一个项目时,发现多了一个模板项Mono for Android。点击它,在右边选择创建一个Android Application。静等其部署完毕,然后点工具

栏上的启动,弹出如上左图所示的界面。这是让你选择设备。因为此时我们还没有启动虚拟机,所以显示设备为空。因此我们要点Start emulator image来运行一个虚拟机。这是又弹出如上右图所示的界面,因为我们仅仅是要做测试,因此随便点一个就行,然后确认。(值得提醒一下的是,其中所有的虚拟机运行时的分辨率都很小,因此我们需要点上右图所示界面中的Create new emulator images。弹出下右图所示界面,单击下你需要修改的虚拟机映像,点右边的Edit按钮,在下右图的界面中将Built-in原来的QVGA,改为Default (WVGA800),或者点Resolution单选按钮自己设置分辨率,保存。此时再回到上右图界面时需要点刷新)。虚拟机启动了,不要诧异为何正在运行的设备还是为空,因为虚拟机开机总得需要一段时间吧?好了,出现了,选定,确认。由于是第一次启动虚拟机,所以部署时间相当的长,大概3、4分钟左右,之后就快了。

  至此我们的环境就部署完毕了,其实文件夹结构还是和用Java开发时一样的,不要告诉我你不会Android开发!!

   另外提醒一下,Resources/Latout/Main.axml是布局文件,打开默认是Android设计器(Android Designer),如果要编辑源文件,就要用打开方式选择XML(文本)编辑器了,当然,你也可以使用Android设计器的Souce选项卡(位于编辑器下边)编辑,但那终归是不如上边的方法方便。

预祝大家安装成功,Android开发顺利,欢迎拍砖!!!!

转发:Android开发?用C#!!的更多相关文章

  1. 转发—Android开发常用的插件及工具

    作者:蓝之风 出处:http://www.cnblogs.com/vaiyanzi/ Android开发常用的插件及工具 1.GitHub,这个不管是做安卓还是其他,只要是开发就必上的网站,也是天朝没 ...

  2. 《Android开发艺术探索》读书笔记 (2) 第2章 IPC机制

    2.1 Android IPC简介 (1)任何一个操作系统都需要有相应的IPC机制,Linux上可以通过命名通道.共享内存.信号量等来进行进程间通信.Android系统不仅可以使用了Binder机制来 ...

  3. 8个常用的Android开发工具

    周末发现一些比较有用的android开发常用的工具,里面大部分是自己经常用的,还有一些暂时很少用,暂且在这里记录下,以后一定同样会经常用到的. 1 The SDK and AVD Manager 这个 ...

  4. 【转】android开发中关于模拟器emulation的常见问题

    [转]android开发中关于模拟器emulation的常见问题 Trouble: 无法启动android模拟器,提示 XDM authorization key matches an existin ...

  5. 《android开发艺术探索》读书笔记(二)--IPC机制

    接上篇<android开发艺术探索>读书笔记(一) No1: 在android中使用多进程只有一种方法,那就是给四大组件在AndroidMenifest中指定android:process ...

  6. Android开发技术周报176学习记录

    Android开发技术周报176学习记录 教程 当 OkHttp 遇上 Http 2.0 http://fucknmb.com/2018/04/16/%E5%BD%93OkHttp%E9%81%87% ...

  7. Android开发之漫漫长途 XIX——HTTP

    该文章是一个系列文章,是本人在Android开发的漫漫长途上的一点感想和记录,我会尽量按照先易后难的顺序进行编写该系列.该系列引用了<Android开发艺术探索>以及<深入理解And ...

  8. Android开发中使用七牛云存储进行图片上传下载

    Android开发中的图片存储本来就是比较耗时耗地的事情,而使用第三方的七牛云,便可以很好的解决这些后顾之忧,最近我也是在学习七牛的SDK,将使用过程在这记录下来,方便以后使用. 先说一下七牛云的存储 ...

  9. android开发新浪微博客户端 完整攻略 [新手必读]

    开始接触学习android已经有3个礼拜了,一直都是对着android的sdk文档写Tutorials从Hello World到Notepad Tutorial算是初步入门了吧,刚好最近对微博感兴趣就 ...

随机推荐

  1. EasyUI设置选中复选框

    //设置选中 $('#isBind').prop('checked', true); //获取是否选中 var isChecked = $('#isBind').prop('checked'); if ...

  2. flush privileges 什么意思

    mysql> update mysql.user set password=PASSWORD(‘新密码’) where User=’root’;­ mysql> flush privile ...

  3. python第五十二课--自定义异常类

    myexception.py ''' 实现自定义异常类: ''' class MyException(Exception): def __init__(self,msg): super().__ini ...

  4. Spring Boot application starters

    https://docs.spring.io/spring-boot/docs/2.1.0.RELEASE/reference/htmlsingle/#using-boot-dependency-ma ...

  5. input框下拉综合搜索

    静态页面 <form action="houtai.php" method="get">                               ...

  6. 使用ElasticSearch服务从MySQL同步数据实现搜索即时提示与全文搜索功能

    最近用了几天时间为公司项目集成了全文搜索引擎,项目初步目标是用于搜索框的即时提示.数据需要从MySQL中同步过来,因为数据不小,因此需要考虑初次同步后进行持续的增量同步.这里用到的开源服务就是Elas ...

  7. go标准库的学习-encoding/xml

    参考:https://studygolang.com/pkgdoc 导入方式: import "encoding/xml" 实现的简单的理解XML命名空间的XML 1.0编译器 f ...

  8. [转]QGis2.9在windows下的编译以及二次开发包下载

    今天心血来潮,将QGis在github上的代码更新后,又编译了一下.留意到源代码包里面的INSTALL文件有更新,于是本次编译完全基于官方的编译说明.编译过程非常顺利,除了在CMake的第一次conf ...

  9. Spring Security 用户授权原理分析

    本文基于 spring-security-core-5.1.1 和 tomcat-embed-core-9.0.12. 本文接着Spring Security 用户认证原理分析进行分析,此时用户已完成 ...

  10. python基础学习第一天

    def用法 函数定义的基本格式如下: def function(params):     somthing     return values 说明:return语句可选,出现return语句表示函数 ...