转发:Android开发?用C#!!
最近偶然在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#!!的更多相关文章
- 转发—Android开发常用的插件及工具
作者:蓝之风 出处:http://www.cnblogs.com/vaiyanzi/ Android开发常用的插件及工具 1.GitHub,这个不管是做安卓还是其他,只要是开发就必上的网站,也是天朝没 ...
- 《Android开发艺术探索》读书笔记 (2) 第2章 IPC机制
2.1 Android IPC简介 (1)任何一个操作系统都需要有相应的IPC机制,Linux上可以通过命名通道.共享内存.信号量等来进行进程间通信.Android系统不仅可以使用了Binder机制来 ...
- 8个常用的Android开发工具
周末发现一些比较有用的android开发常用的工具,里面大部分是自己经常用的,还有一些暂时很少用,暂且在这里记录下,以后一定同样会经常用到的. 1 The SDK and AVD Manager 这个 ...
- 【转】android开发中关于模拟器emulation的常见问题
[转]android开发中关于模拟器emulation的常见问题 Trouble: 无法启动android模拟器,提示 XDM authorization key matches an existin ...
- 《android开发艺术探索》读书笔记(二)--IPC机制
接上篇<android开发艺术探索>读书笔记(一) No1: 在android中使用多进程只有一种方法,那就是给四大组件在AndroidMenifest中指定android:process ...
- Android开发技术周报176学习记录
Android开发技术周报176学习记录 教程 当 OkHttp 遇上 Http 2.0 http://fucknmb.com/2018/04/16/%E5%BD%93OkHttp%E9%81%87% ...
- Android开发之漫漫长途 XIX——HTTP
该文章是一个系列文章,是本人在Android开发的漫漫长途上的一点感想和记录,我会尽量按照先易后难的顺序进行编写该系列.该系列引用了<Android开发艺术探索>以及<深入理解And ...
- Android开发中使用七牛云存储进行图片上传下载
Android开发中的图片存储本来就是比较耗时耗地的事情,而使用第三方的七牛云,便可以很好的解决这些后顾之忧,最近我也是在学习七牛的SDK,将使用过程在这记录下来,方便以后使用. 先说一下七牛云的存储 ...
- android开发新浪微博客户端 完整攻略 [新手必读]
开始接触学习android已经有3个礼拜了,一直都是对着android的sdk文档写Tutorials从Hello World到Notepad Tutorial算是初步入门了吧,刚好最近对微博感兴趣就 ...
随机推荐
- Java设计模式之十三 ---- 观察者模式和空对象模式
前言 在上一篇中我们学习了行为型模式的备忘录模式(Memento Pattern)和状态模式(Memento Pattern).本篇则来学习下行为型模式的最后两个模式,观察者模式(Observer P ...
- el-table表格标题换行
在做一些管理后台的项目中,表格时最常见的,当有时数据字段多时往往会用滚动条,但从用户体验角度讲,肯定需要多展示信息,那么可能需要一个单元格放多个字段,这时候表头就需要换行. 具体实现如下: // 注意 ...
- 如何根据name和value选中radio [问题点数:40分,结帖人zzxap
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <he ...
- 解决jqueryeasyUI dialog 弹出窗体超出浏览器,导致不能关闭的bug
使用panel的onMove事件攻克了panel,dialog以及window组件在被拖动时,会超出浏览器边界而无法拖回的情况. 当窗体被拖出浏览器有边界时.$(document).width();会 ...
- Perfect Pth Powers pku-1730(筛+合数分解)
题意:x可以表示为bp, 求这个p的最大值,比如 25=52, 64=26, 然后输入x 输出 p 就是一个质因子分解.算法.(表示数据上卡了2个小时.) 合数质因子分解模板. ]; ]; ; ;n ...
- Arduino IDE for ESP8266教程(四)网页控制灯 简单页面
修改ssid和passwd,将程序烧写到8266上,等待串口返回连接成功的消息,连接成功之后可以看到返回有一个ip地址,使用浏览器方位这个ip地址就可以看到这个消息: 连接路由器后,返回IP地址 19 ...
- .NET Core、Xamarin、.NET Standard和.NET Framework四者之间的区别
前段时日微软(Microsoft)正式发布了.NET Core 2.0,在很多开发社区中反响不错.但还是有一些开发者发出了疑问,.NET Core.Xamarin..NET Standard和.NET ...
- 1226 快速幂 取余运算 洛谷luogu
还记得 前段时间学习二进制快速幂有多崩溃 当然这次方法略有不同 居然轻轻松松的 题目描述 输入b,p,k的值,求b^p mod k的值.其中b,p,k*k为长整型数. 输入输出格式 输入格式: 三个整 ...
- mysql试题
drop,delete与truncate的区别:优先级: drop > truncate > deleteTRUNCATE 按行删除并不把删除操作记录记入日志保存(不可恢复)DELETE ...
- C++面试基础知识
C++经典面试题(最全,面中率最高 1.new.delete.malloc.free关系 delete会调用对象的析构函数,和new对应free只会释放内存,new调用构造函数.malloc与free ...