序言:

  在博客园注册了已经有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. AFNetworking 3.0 源码解读 总结(干货)(上)

    养成记笔记的习惯,对于一个软件工程师来说,我觉得很重要.记得在知乎上看到过一个问题,说是人类最大的缺点是什么?我个人觉得记忆算是一个缺点.它就像时间一样,会自己消散. 前言 终于写完了 AFNetwo ...

  2. [笔记]kubernetes 无法启动问题

    在启动kubernetes的时候报错误. ERROR: timed out for http://localhost:4001/v2/keys/ 原因是无法启动etcd, etcd 监听4001本地端 ...

  3. 微信小程序前端源码逻辑和工作流

    看完微信小程序的前端代码真的让我热血沸腾啊,代码逻辑和设计一目了然,没有多余的东西,真的是大道至简. 废话不多说,直接分析前端代码.个人观点,难免有疏漏,仅供参考. 文件基本结构: 先看入口app.j ...

  4. Java类变量和成员变量初始化过程

    一.类的初始化 对于类的初始化:类的初始化一般只初始化一次,类的初始化主要是初始化静态成员变量. 类的编译决定了类的初始化过程. 编译器生成的class文件主要对定义在源文件中的类进行了如下的更改: ...

  5. Angular (SPA) WebPack模块化打包、按需加载解决方案完整实现

    文艺小说-?2F,言情小说-?3F,武侠小说-?9F long long ago time-1-1:A 使用工具,long long A ago time-1-2:A 使用分类工具,long long ...

  6. GitHub管理代码-随笔

    公司一直用的SVN进行项目管理,平时便自己折腾了下Git,这里做下GitHub的最简单的记录... 在git上创建仓库等就免谈了,网上也有好多教程,直接从创建之后记录: 在github的readme文 ...

  7. Log4Net应用问题

    问题 一.日志存储方式 1.txt 2.SQLServer数据库 3.log文件 二.项目类型不同 1winFrom 2webFrom 3MVC 4WPF 5控制台 三.切分依据不同 1.空间大小 2 ...

  8. ABP源码分析二:ABP中配置的注册和初始化

    一般来说,ASP.NET Web应用程序的第一个执行的方法是Global.asax下定义的Start方法.执行这个方法前HttpApplication 实例必须存在,也就是说其构造函数的执行必然是完成 ...

  9. 拥抱.NET Core,如何开发一个跨平台类库 (1)

    在此前的文章中详细介绍了使用.NET Core的基本知识,如果还没有看,可以先去了解“拥抱.NET Core,学习.NET Core的基础知识补遗”,以便接下来的阅读. 在本文将介绍如何配置类库项目支 ...

  10. EasyPR--开发详解(4)形态学操作、尺寸验证、旋转等操作

    在上一篇深度分析与调优讨论中,我们介绍了高斯模糊,灰度化和Sobel算子.在本文中,会分析剩余的定位步骤. 根据前文的内容,车牌定位的功能还剩下如下的步骤,见下图中未涂灰的部分. 图1 车牌定位步骤 ...