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: ...
随机推荐
- @topcoder - SRM697D1L3@ ConnectedStates
目录 @description@ @solution@ @accepted code@ @details@ @description@ 有n个城市,每个城市有个权值wi,任意两个城市i,j之间的道路数 ...
- SpringBoot-provider-JPA Not a managed type 问题分析及解决办法
spring boot jpa-java.lang.IllegalArgumentException: Not a managed type异常问题解决方法 JPA实体类没有被扫描到,导致这样的情况有 ...
- Oracle/PLSQL存储过程详解
原文链接:https://blog.csdn.net/zezezuiaiya/article/details/79557621 Oracle/PLSQL存储过程详解 2018-03-14 17:31: ...
- laravel使用加载进行优化
两种方式: 1.使用:with $posts=Post::orderby('created_at','desc')->withCount(['comments','zans'])->wit ...
- Codeforces Round #170 (Div. 1 + Div. 2)
A. Circle Line 考虑环上的最短距离. B. New Problem \(n\) 个串建后缀自动机. 找的时候bfs一下即可. C. Learning Languages 并查集维护可以沟 ...
- java 获得Class对象
如何得到各个字节码对应的实例对象? 每个类被加载后,系统会为该类生成对应的Class对象,通过Class对象可以访问到JVM中的这个类, 3种方式: 1.调用某个类的class属性获取Class对象, ...
- H3C DHCP中继配置示例
- The call() and apply() Mtheods
Example 6-4function classof(o) { if (o === null) return "Null"; if (o ===undefined ...
- linux 在 1 MB 之下的 ISA 内存
一个最著名的 I/O 内存区是在个人计算机上的 ISA 范围. 这是在 640 KB(0xA0000)和 1 MB(0x100000)之间的内存范围. 因此, 它正好出现于常规内存 RAM 中间. 这 ...
- Linux 内核pci添加一个驱动
一个 PCI 驱动被添加到 PCI 核心, 当它调用 pci_register_driver 函数时. 这个函数 只初始化 struct device_driver 结构, 这个结构包含在 struc ...