转发: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算是初步入门了吧,刚好最近对微博感兴趣就 ...
随机推荐
- Linux 小知识翻译 - 「Linux」怎么读?
主要讨论日语中的读法,所以没有完全按照原文来翻译. 「linux」的读法有很多(这里指在日语中),代表性的读法有以下几种: A). 李纳苦思 B). 李奴苦思 C). 纳依纳苦思 A和B相同的是将 l ...
- JAVA获取本机IP和Mac地址
在项目中,时常需要获取本机的Ip或是Mac地址,进行身份和权限验证,本文就是通过java代码获取ip和Mac. package com.svse.query;import java.net.In ...
- golang变量的注意
方法内部的变量使用方法: /* 定义三个变量,它们分别初始化为相应的值 vname1为v1,vname2为v2,vname3为v3 编译器会根据初始化的值自动推导出相应的类型 */ vname1, v ...
- 【日常开发】使用多种工具实现 sql查询没有结果的name
本文地址 分享提纲: 1. 事情的背景 2. 解决办法 3. 总结 1. 事情的背景 现在需要将2000条数据的name,从user表中查询出来结果,sql 这样写 SELECT * FROM use ...
- vue-cli打包到部署到nginx服务器
最近公司把云平台产品用vue 前后端分离的框架来写,前面大部分开发都比较顺利,后面打包部署出了bug 现在记录下自己遇到的哪些坑 1,我直接npm run build 打包出来,打开dist目录下面的 ...
- jQuery EasyUI combobox多选及赋值
1.多选属性multiple multiple:true多选 multiple:false单选 <input class="easyui-combobox" id=&qu ...
- 基于Redis的INCR实现一个限流器
模式:计数器 计数器是 Redis 的原子性自增操作可实现的最直观的模式了,它的想法相当简单:每当某个操作发生时,向 Redis 发送一个 INCR 命令. 比如在一个 web 应用程序中,如果想知道 ...
- 最长公共子序列(模板 LCSL)
博客: https://www.cnblogs.com/sasuke-/p/5396843.html 模板 #include<iostream>#include<cstdio> ...
- request.servervariables参数
ServerVariables ServerVariables 集合检索预定的环境变量. 语法 Request.ServerVariables (server environment variable ...
- 转载 JavaScript的函数声明与函数表达式的区别
1)函数声明(Function Declaration); // 函数声明 function funDeclaration(type){ return type==="Declaration ...