VS/Xamarin Android入门一
一、安装和配置(以Visual Studio Pro 2015为例)
Visual Studio2015直接提供了这个插件的选择项,稍微提示一下,如果要安装的话,最好准备好十个小时的打算,而且是网速不错的情况下,因为要下载Android api和 Java sdk等相关的组件,是很耗时的,当然,可以分步骤装,比如,先安装默认的配置,只安装默认的C#配置项,然后再修复的时候,点击安装,再选择Xamarin,其实这样的目的只不过是为了让视觉误差而已,如果网速不够,还是很慢很慢的。
如图,在此情况下
就是本来安装好C#默认配置的情况下,再次运行安装包,会有三个按钮 '修改'、'修复'、'卸载',此时我们选择修改,然后再跨平台移动开发的Xamarin前面勾选就可以了,至于Android SDK和Java SDK,强烈建议手动下载。
为了方便期间,直接去 http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html 下载java sdk,去百度搜索一下 Android Studio,就可以下载Android sdk等等相关的东西了。安装完成之后会出现 SDK Manage、AVD Manager,这对于我们来说已经够用了。
android studio具体安装:http://www.cnblogs.com/mfryf/archive/2013/05/20/3089143.html
安装完成之后,要下载SDK和android虚拟机校验。完成之后,就可以配置,如果是直接一次性安装的,是不需要配置,如果是分开的,则可以打开Visual studio2015在 “工具”→“选项” 里面找到Xamarin,然后分别配置一下。
其中,包含android下载,就是sdk更新,和虚拟机管理等等。网上有很多办法。我这里给大家提供 API 23的Host方式,网上找到的一般都是API19之前的,我也找了很久,才找到API 23 的代理方式。
路径:C:\Windows\System32\Drivers\etc 在这个文件夹下面的hosts文件,右键,记事本或者其他的文本编辑器打开,在最后添加上
74.125.20.31 dl-ssl.google.com
74.125.136.138 developer.android.com
203.208.41.128 dl.google.com
这三个地址就可以了,请注意,将这个三个地址加到Hosts文件的后面就可以了
二、重要的时刻来了,我们也飞一下代码
一个简单的例子,请参照:http://www.cnblogs.com/madyina/p/4671708.html 其实呢,这位大哥,已经弄了一个,但是之前我出错的地方就是前面我提到的,API更新和 SDK Manager这里,其他的可以参照这位大哥写的。这里,我就把我用到的控件和一些写法,和大家分享一下。
在装逼之前,我先整理一下,整个的Android文件目录。
目录结构如图:
1、Properties这里指的项目的属性,其中 AndroidManifest.xml 在java里面是一个很重要的注册文件,但是在这里具体怎么用,请原谅,我还没有搞清楚。至于AssemblyInfo.cs这个文件我就不说了。
2、Assets这个文件夹,目前我也没有明白,但是我感觉他是一个解释性的文件夹,可以不理睬,包括里面的文档。
3、Resources这个文件夹是相当的重要呀,基本上程序里面所有的东西都是从这里出去的。
(1)drawable 资源文件夹,相信大家都看到后缀名了,类似的资源文件都可以放在这里。
(2)layout 视图文件夹,我们能看到的,可以给我们视觉效果的,都放在这里。如图:
(3)values 自定义xml文件的文件夹,存的是一些常用的xml信息。
4、Resource.Designer.cs这个文件就是所有的Resources文件都要在这个文件里面生成唯一的对应关系的。如图
这是我们刚才看到的Drawable的文件夹,里面的每一张图片在这里都生成了唯一的对应常量。
5、GettingStarted.Xamarin 这个呢,不知道怎么解释了,看图,一下就明白了
6、MainActivity 这也是最重要的一个cs文件,因为我们的后台代码基本上都是从这里出去的。
友情提示一下:添加资源文件的时候请注意xml文件,后面加上 “s” 虽然我不知道为什么这个玩意这个狗屎,但是,不加 “s” 我资源文件的id里面没有找到,也就是说用不了。
下面直接开始一些组件的用法
一、TextView
<TextView android:text="@string/tv_phone" android:layout_width="match_parent" android:layout_height="wrap_content" android:textColor="@color/yellow" android:autoLink="phone" android:textSize="48px" android:id="@+id/tv_Color" android:gravity="center" />这是界面代码,我觉得这个解释起来没有必要了,我就说下其中的textColor和text这两个的写法,首先,大家会看到这里有一个@,“@”在android里面,就是引用资源的意思。@string,引用string 。@string/tv_phone 这里的意思就是引用 strings.xml下面的 name=“tv_phone”的资源。在前面已经说到在 Resources的文件夹下面定义了Strings.xml文件。这里就是对于资源文件的一个运用。
在这里,我提示一下大家的是就是autoLink这个属性,这个属性就是电话号码可以直接拨打的意思。
二、ImageView
<ImageView android:src="@drawable/administrator" android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/iv_change_url" />就是这个样子的,值得注意的是, 如果你是从工具栏里面直接拖过来的ImageView,那么请注意他的写法 android:src="@android:drawable/ic_menu_gallery" 这个东西前面的@android真心是个喳喳,就因为这个问题,我搞了小半个小时才找到毛病,直接用@drawable就可以了,但是因为一个android没有删除,各种生成不成功。
三、EditText
<EditText android:id="@+id/et_txt" android:layout_width="fill_parent" android:layout_height="wrap_content" android:inputType="phone" android:hint="@string/et_txt" />对于这个组件,就解释一下 inputType="phone" 在这里的意思就是说当我们开始输入的时候默认的打开的是拨号键盘,因为phone都是数字么,意思就是打开的就是数字键盘,还有就是hint,可以叫做提示信息,就是html5里面的placeholder属性。
四、Button
<Button android:id="@+id/btn_Call" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/btn_ChangColor" />对于Button,界面其实很这样了,但是,最主要的是我们的后台代码哦。
五、后台代码
前面已经说到了,后台代码都是在 MainActivity这个下面写的
如图,看着像过滤器的这个东西
Label就是你的apk的表头的名字,Icon就是对应的图标,接下来的看注释就可以了
1、就以前面的btn_ChangColor为例,他的单击事件应该这么写
编写对应的事件
2、这里因为实现了View.IOnClickListener这个接口,接口是这么实现的

此时我们亦可以用 SetOnClickListener 方法,那么,因为实现了接口么,就这么干,就OK。
utton btn_change = FindViewById<Button>(Resource.Id.btn_Chang);btn_change.SetOnClickListener(this);
3、还可以传统写法
对应的事件
4、在传统写法的基础上,之前的版本我没有试过,但是Visual Studio 2015确实可以这么写
今天就到这里……
VS/Xamarin Android入门一的更多相关文章
- 【转】Xamarin.Android 入门之:Xamarin+vs2015 环境搭建
Xamarin.Android 入门之:Xamarin+vs2015 环境搭建 一.前言 此篇博客主要写了如何使用搭建xamarin开发的环境,防止我自己万一哪天电脑重装系统了,可以直接看这篇博客 ...
- Xamarin.Android 入门之:Android API版本设置
一.引言 Xamarin.Android有几个Android API级别设置,确定多个版本的Android应用程序的兼容性.本博客解释了这些设置意味着什么,如何配置它们,以及它们在运行时对您的应用程序 ...
- Xamarin.Android 入门之:Bind java的jar文件+Android显示gif图片
一.引言 在xamarin开发的时候,有时我们想要做一个功能,但是这个功能已经有人用java写好了,并且打包成了jar文件.那么我们可以直接把对方的jar文件拿过来用而不是重新用c#写代码. 关于bi ...
- Xamarin.Android 入门之:Listview和adapter
一.引言 不管开发什么软件,列表的使用是必不可少的,而本章我们将学习如何使用Xamarin去实现它,以及如何使用自定义适配器.关于xamarin中listview的基础和适配器可以查看官网https: ...
- Xamarin.Android 入门之:Xamarin+vs2015 环境搭建
一.前言 此篇博客主要写了如何使用搭建xamarin开发的环境,防止我自己万一哪天电脑重装系统了,可以直接看这篇博客. 二.准备工作 在安装之前需要下载好xamarin所需要的软件并一个个安装他们: ...
- Xamarin.Android 入门之:xamarin使用webserver和html交互
一.引言 如今,Android+html5开发已经成为最流行的开发模式. Android 中可以通过webview来实现和js的交互,在程序中调用js代码,只需要将webview控件的支持js的属性设 ...
- Xamarin.Android 入门之:Android的生命周期
一.前言 活动是Android应用程序的基本构建块,他们可以在许多不同的状态存在.当你把一个Android程序置于后台,过一段时间再打开发现之前的数据还存在. 二.活动状态 下面的图表说明了一个活动可 ...
- Xamarin.Android 入门之:Xamarin快速入门
一. 准备工作 1.新建一个项目取名为phoneword 2.在项目创建好之后,让我们展开“Resources”文件夹然后找到并打开该文件夹下的“layout”文件夹,双击main.axml在Andr ...
- Xamarin.Android 入门实例(4)之实现对 SQLLite 进行添加/修改/删除/查询操作
1.Main.axml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns: ...
随机推荐
- laravel 5.6接入微信第三方授权登陆的主要步骤
https://yq.aliyun.com/articles/590435 摘要: 这方面,php已很成熟了, 综合下面这个链接,基本上调试一下就可以搞定了. 这方面,php已很成熟了, 综合下面这个 ...
- mysql basic operation,mysql总结,对mysql经常使用语句的详细总结,MySQL学习笔记
mysql> select * from wifi_data where dev_id like "0023-AABBCCCCBBAA" ; 1.显示数据库列表.show d ...
- BERT-Pytorch demo初探
https://zhuanlan.zhihu.com/p/50773178 概述 本文基于 pytorch-pretrained-BERT(huggingface)版本的复现,探究如下几个问题: py ...
- HTML静态网页--JavaScript-DOW操作
1.DOM的基本概念 DOM是文档对象模型,这种模型为树模型:文档是指标签文档:对象是指文档中每个元素:模型是指抽象化的东西. 2.Windows对象操作 一.属性和方法: 属性(值或者子对象): o ...
- Pytorch Bi-LSTM + CRF 代码详解
久闻LSTM + CRF的效果强大,最近在看Pytorch官网文档的时候,看到了这段代码,前前后后查了很多资料,终于把代码弄懂了.我希望在后来人看这段代码的时候,直接就看我的博客就能完全弄懂这段代码. ...
- 条件随机场(CRF) - 1 - 简介
声明: 1,本篇为个人对<2012.李航.统计学习方法.pdf>的学习总结,不得用作商用,欢迎转载,但请注明出处(即:本帖地址). 2,由于本人在学习初始时有很多数学知识都已忘记,所以为了 ...
- Treap(树堆)入门
作者:zifeiy 标签:Treap 首先,我么要知道:Treap=Tree+Heap. 这里: Tree指的是二叉排序树: Heap指的是堆. 所以在阅读这篇文章之前需要大家对 二叉查找树 和 堆( ...
- [转载] linux、Solaris下xdmcp远程桌面服务
原文链接 http://youlvconglin.blog.163.com/blog/static/52320420106243857254/ 使用图形界面远程登录linux和Solaris,首先要在 ...
- 在Vue 中调用数据出现属性不存在的问题
这已经是我在调用数据时趟过几次的坑了,索性记录下来防止后面再犯: 一般我们请求数据来渲染一个页面的时候,请求下来的数据基本上都是数组或是对象,再通过列表循环和插值表达式渲染的页面:在data 中提前声 ...
- httpclient: Content-Length header already present问题
现象:用httpclient发送http请求时,客户端返回: org.apache.http.client.ClientProtocolException at org.apache.http.imp ...