序言:

  在博客园注册了已经有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 之起始篇的更多相关文章

  1. 跟Google学习Android开发-起始篇-构建你的第一个应用程序(4)

    说明:此系列教程翻译自Google Android开发者官网的Training教程,利用Chome浏览器的自动翻译功能作初译,然后在一些语句不顺或容易造成误解的地方作局部修正.方便英文不好的开发者查看 ...

  2. 跟Google学习Android开发-起始篇-用碎片构建一个动态的用户界面(3)

    4.3 构建一个灵活的用户界面 当设计你的应用程序要支持大范围的屏幕尺寸时,你可以在不同的布局配置中重用碎片,来根据可用的屏幕空间优化用户体验. 例如,在手持设备上,它可能是适应来在一个单窗格用户界面 ...

  3. 跟Google学习Android开发-起始篇-与其它应用程序交互(1)

    6 与其它应用程序交互 一个Android应用程序通常有多个活动.每一项活动都将显示一个用户界面,允许用户执行某种特定任务(如查看地图或者照片).为了把用户从一个活动带到另一个,你的应用必须使用Int ...

  4. 跟Google学习Android开发-起始篇-与其它应用程序交互(2)

    6.2从活动获取结果 启动另一个活动不必是单向的.您也可以启动另一个活动,并接收一个结果回来.为了接收一个结果,调用startActivityForResult()(而不是startActivity( ...

  5. Xamarin Android组件篇教程RecylerView动画组件RecylerViewAnimators(1)

    Xamarin Android组件篇教程RecylerView动画组件RecylerViewAnimators(1) RecyclerView是比ListView和GridView更为强大的布局视图, ...

  6. Xamarin.Android Binding篇

    前言 趁着失业了,闲着没事儿学习了下Xamarin.Android binding,在以往的开发中,我相信很多人都遇到过binding的坑,也不例外, 我也踩了很多雷,好在认识了个大佬,指导了很多  ...

  7. Xamarin.Android开发实践(十一)

    Xamarin.Android之使用百度地图起始篇 一.前言 如今跨平台开发层出不穷,而对于.NET而言时下最流行的当然还是 Xamarin,不仅仅能够让我们在熟悉的Vs下利用C#开发,在对原生态类库 ...

  8. Xamarin.Android

    Xamarin.Android之使用百度地图起始篇 一.前言 如今跨平台开发层出不穷,而对于.NET而言时下最流行的当然还是Xamarin,不仅仅能够让我们在熟悉的Vs下利用C#开发,在对原生态类库的 ...

  9. Xamarin.Android和UWP之MVVM的简单使用(二)

    0x01 前言 前面一篇,Xamarin.Android和UWP之MVVM的简单使用(一),主要讲了MvvmLight的简单使用 这篇主要讲讲MvvmCross的简单使用,例子的话,还是和上篇的一样. ...

随机推荐

  1. JQuery(2)

    JQuery下拉框操作: 取值赋值操作 body代码: <select id="sel"> <option value="北京">北京& ...

  2. spring maven pom.xml设置

    spring pom.xml设置 <?xml version="1.0" encoding="UTF-8"?> <project xmlns= ...

  3. iOS 原生地图地理编码与反地理编码

    当我们要在App实现功能:输入地名,编码为经纬度,实现导航功能. 那么,我需要用到原生地图中的地理编码功能,而在Core Location中主要包含了定位.地理编码(包括反编码)功能. 在文件中导入 ...

  4. Linux实战教学笔记02:计算机系统硬件核心知识

    标签(空格分隔):Linux实战教学笔记-陈思齐 第1章 互联网企业常见服务器介绍 1.1 互联网公司服务器品牌 - DELL(大多数公司,常用) - HP - IBM(百度在用) 浪潮 联想 航天联 ...

  5. 关于javascript中的this关键字

    this是非常强大的一个关键字,但是如果你不了解它,可能很难正确的使用它. 下面我解释一下如果在事件处理中使用this. 首先我们讨论一下下面这个函数中的this关联到什么. function doS ...

  6. 元素绝对居中终极办法兼容IE8

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  7. 《AngularJS深度剖析与最佳实践》简介

    由于年末将至,前阵子一直忙于工作的事务,不得已暂停了微信订阅号的更新,我将会在后续的时间里尽快的继续为大家推送更多的博文.毕竟一个人的力量微薄,精力有限,希望大家能理解,仍然能一如既往的关注和支持sh ...

  8. 大型网站的灵魂——性能

    前言     在前一篇随笔<大型网站系统架构的演化>中,介绍了大型网站的演化过程,期间穿插了一些技术和手段,我们可以从中看出一个大型网站的轮廓,但想要掌握设计开发维护大型网站的技术,需要我 ...

  9. 详解mmseg

    本文先介绍下mmseg的概念和算法,再说下mmseg4j-solor的3个分词器用法 1.mmseg概念 mmseg是用于中文切词的算法,即Maximum Matching Segment,最大匹配分 ...

  10. Html5 直接插入排序

    直接插入排序算法(Straight Insertion Sort),是排序算法中简单的一种算法,基本思想如下: 将一个记录插入到已排序好的有序表中,从而得到一个新,记录数增1的有序表.即:先将序列的第 ...