Xamarin Android 之起始篇
序言:
在博客园注册了已经有2年多了,快三年了。从开始学习这一行开始就在博客园注册了这个账号。至今也还没有写过一篇随笔,大多时候都是在园子里头潜水,看大牛写的文章,学习。
写博客不为啥,就是自己对自己学习的一个总结。从去年10月份开始学习的xamarin,没有安卓基础,就只有写了2年.net基础。然后就直接开始用于商业项目,就我一个人。我的天呐,
把人给折磨疯了,不过到现在为止呢,已经做完了第一个,开始第二个了。
Andriod开发环境配置:
我用的是VS2015 update2版本的,今年Build2016大会上微软宣布了免费Xamarin,对c#开发者无疑是一个福利。附上VS2015下载地址:
ed2k://|file|cn_visual_studio_enterprise_2015_with_update_2_x86_x64_dvd_8510289.iso|7633639424|E0AFC01631C37BD3046EDBBC30FAB8CC|/
SHA1: 93651E6653EB39D6B01EFE8543EA2204B7B0EBD3
有需要的朋友可以下载,安装的时候需要翻墙,建议单独下载AndroidSDK。找一些国内的镜像。
第一个安卓程序:
1.新建选择空白APP
打开后会发现有一个Resource文件夹,里面有drawable,layout,values三个文件夹
drawable:存放一些资源文件,如图片
layout:屏幕布局(或屏幕的一部分)的XML文件
values:很多种类型的资源的XML文件,
colors.xml 定义color drawable和颜色的字符串值(color string values)。
strings.xml定义字符串(string)值。
styles.xml 定义样式(style)对象。
2.打开Main.axml文件,会发现如下的界面。很丑陋。后面会讲到如何美化界面。这篇只为如何运行起来第一个AndroidAPP。

点击界面下方的source会发现如下的界面布局文件,有WPF编程的同学,应该看起来和眼熟。虽然Xamarin 支持手动拖拽控件,
不过个人觉得太low了,很多好看的界面布局还是要自己编写的。

3.既然介绍了main.axml,接下来介绍与之对应的Activity,界面布局叫做Main,那对应的Activity布局名称肯定是MainActivity。

4.接下来就是如何运行起来?既然是Android APP ,总不可能运行在Iphone,WIndowsPhone上吧,自然需要一个android手机。
如果身边没有的话,可以用android模拟器。模拟器的话,我推荐使用各位用:GenyMotion或者微软的Emulator,谷歌的虚拟机
那叫一个坑,真是谁用谁知道。附上Genymotion官方地址:http://www.genymotion.net/,需要注册下载,分个人免费版和企业版。
PS:建议用虚拟机,真机调试的话,还得安装手机驱动,麻烦。
附上一张Genymotion启动图:

如果你能看到一下界面,恭喜你,至少你Android环境至少配置对了。

5.试着调试下程序,在MainActivity的button.click打上断点,会发现进入了调试。

总结
用C#开发安卓就是这么简单,希望广大C#开发者能够大力支持,能够好好的扩大这个生态圈。
这也是小弟第一次写博文,格式实在不知道怎么排,见谅。后期会陆续写一些Xamarin android方面的文章,
会写自己从零开始学习Android并用于商业项目中遇到的问题,和一些遇到的问题。
Xamarin Android 之起始篇的更多相关文章
- 跟Google学习Android开发-起始篇-构建你的第一个应用程序(4)
说明:此系列教程翻译自Google Android开发者官网的Training教程,利用Chome浏览器的自动翻译功能作初译,然后在一些语句不顺或容易造成误解的地方作局部修正.方便英文不好的开发者查看 ...
- 跟Google学习Android开发-起始篇-用碎片构建一个动态的用户界面(3)
4.3 构建一个灵活的用户界面 当设计你的应用程序要支持大范围的屏幕尺寸时,你可以在不同的布局配置中重用碎片,来根据可用的屏幕空间优化用户体验. 例如,在手持设备上,它可能是适应来在一个单窗格用户界面 ...
- 跟Google学习Android开发-起始篇-与其它应用程序交互(1)
6 与其它应用程序交互 一个Android应用程序通常有多个活动.每一项活动都将显示一个用户界面,允许用户执行某种特定任务(如查看地图或者照片).为了把用户从一个活动带到另一个,你的应用必须使用Int ...
- 跟Google学习Android开发-起始篇-与其它应用程序交互(2)
6.2从活动获取结果 启动另一个活动不必是单向的.您也可以启动另一个活动,并接收一个结果回来.为了接收一个结果,调用startActivityForResult()(而不是startActivity( ...
- Xamarin Android组件篇教程RecylerView动画组件RecylerViewAnimators(1)
Xamarin Android组件篇教程RecylerView动画组件RecylerViewAnimators(1) RecyclerView是比ListView和GridView更为强大的布局视图, ...
- Xamarin.Android Binding篇
前言 趁着失业了,闲着没事儿学习了下Xamarin.Android binding,在以往的开发中,我相信很多人都遇到过binding的坑,也不例外, 我也踩了很多雷,好在认识了个大佬,指导了很多 ...
- Xamarin.Android开发实践(十一)
Xamarin.Android之使用百度地图起始篇 一.前言 如今跨平台开发层出不穷,而对于.NET而言时下最流行的当然还是 Xamarin,不仅仅能够让我们在熟悉的Vs下利用C#开发,在对原生态类库 ...
- Xamarin.Android
Xamarin.Android之使用百度地图起始篇 一.前言 如今跨平台开发层出不穷,而对于.NET而言时下最流行的当然还是Xamarin,不仅仅能够让我们在熟悉的Vs下利用C#开发,在对原生态类库的 ...
- Xamarin.Android和UWP之MVVM的简单使用(二)
0x01 前言 前面一篇,Xamarin.Android和UWP之MVVM的简单使用(一),主要讲了MvvmLight的简单使用 这篇主要讲讲MvvmCross的简单使用,例子的话,还是和上篇的一样. ...
随机推荐
- spring maven pom.xml设置
spring pom.xml设置 <?xml version="1.0" encoding="UTF-8"?> <project xmlns= ...
- MySQL常用命令
数据库登陆命令: mysql -uroot -p 2.提示输入密码: 3.登陆成功: 4.数据库修改相关命令: 修改数据库的编码格式: 语法格式为:ALTER {DATABASE|SCHEMA} [ ...
- jquery.multiselect 多选下拉框实现
第一步:链接下列文件,如果没有,到此网页下载 https://github.com/ehynds/jquery-ui-multiselect-widget,此插件基于jquery ,所以jquery的 ...
- InnoDB:Lock & Transaction
InnoDB 是一个支持事务的Engine,要保证事务ACID,必然会用到Lock.就像在Java编程一下,要保证数据的线程安全性,必然会用到Lock.了解Lock,Transaction可以帮助sq ...
- Linux 入门之网络配置
查看网络状态 ifconfig 修改网络参数 实验环境centos6.5,其他系统自行百度 ls /etc/sysconfig/network-scripts 显示所有文件, vi /etc/sysc ...
- VS2010 release编译下进行调试,“当前不会命中任何断点,还没有为文档加载”问题解决方案
在release模式下调试程序,经常出现"当前不会命中任何断点,还没有为文档加载"的问题,可尝试以下方法: 1. 属性 → 配置属性 → C/C++ → 常规 → 调试信息格式:选 ...
- 我想立刻辞职,然后闭关学习编程语言,我给自己3个月时间学习C语言!这样行的通吗
文章背景,回答提问:我想立刻辞职,然后闭关学习编程语言,我给自己3个月时间学习C语言!这样行的通吗? 我的建议是这样:1. 不要辞职.首先说,你对整个开发没有一个简单的了解,或一个系统的入门学习.换句 ...
- Kafka1 利用虚拟机搭建自己的Kafka集群
前言: 上周末自己学习了一下Kafka,参考网上的文章,学习过程中还是比较顺利的,遇到的一些问题最终也都解决了,现在将学习的过程记录与此,供以后自己查阅,如果能帮助到其他人,自然是更好的. ...
- Google Java编程库Guava介绍
本系列想介绍下Java下开源的优秀编程库--Guava[ˈgwɑːvə].它包含了Google在Java项目中使用一些核心库,包含集合(Collections),缓存(Caching),并发编程库(C ...
- 【初探Spring】------Spring IOC(一)
IOC:Inversion of Control(控制反转).IOC它所体现的并不是一种技术,而是一种思想,一种将设计好的对象交给容器来管理的思想.IOC的核心思想就体现在控制.反转这两个词上面,要理 ...
