Xamrin开发安卓笔记(一)
http://www.cnblogs.com/minCS/p/4108133.html
Xamrin开发安卓笔记(一)
环境虽然搭建的不稳定,不过还是可以开发的,又加了两个环境变量不知道有没有效果。待测。
加的两个环境变量是
① 添加环境变量 ANDROID_SDK_HOME:
D:\Android\
② 在path环境变量下追加路径下追加路径:
D:\Android\platform-tools;D:\Android\tools;
修改了一下CPU的虚拟技术
整体来说用c#写安卓的代码挺有意思。代码风格和写法跟用java写的基本类似,只不过有一些方法名不同而已。因为之前没写过安卓程序也没怎么开发过java程序,所以有错误的地方请指出。
SetContentView (Resource.Layout.Main);
默认程序上来第一句话就是这个,我英文又不好,所以理解是大概意思是获取布局的资源文件。
在这里有个事情需要注意一下,如果新拖了一个控件,但是在CS代码页面获取不到,可以尝试从新生成整个项目,这样就能带过来了。如果没带过来硬写的话可能会提示error,所以需要注意一下。
然后就是在页面上拖控件随便拖几个。
我拖了几个

分别是TextView,EditText,Button
因为我之前是一直在做web开发所以解释偏向webform
TextView类似Label
EditText类似Text
Button类似Button
我的命名规则基本都是在使用web的。如果谁知道这个命名规则可以告诉我下哈~
下面说一下控件的一些注意事项,

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:minWidth="25px"
android:minHeight="25px">
<TextView
android:text="小李"
android:layout_width="match_parent"
android:layout_height="25.0dp"
android:id="@+id/textView1" />
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/txtPhone"
android:text="10086"
android:layout_marginTop="30.0dp" />
<Button
android:text="通话"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/btnPhone"
android:textSize="25px" />
<Button
android:text="跳转"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/btnTo" />
</LinearLayout>

大小都是用像素表示,对齐方式都是用dp表示。dp可以是float类型。
ID命名都是@+id/youName。
VS的可视化编辑可以让我们在属性上把他们都给设置上。(VS2015 BUG 设置字体大小可能会在可视化页面失效,不知道为什么,运行起来没问题)如果之前学过安卓开发请无视这段。
Button btnPhone = FindViewById<Button>(Resource.Id.btnPhone);
EditText txtPhone = FindViewById<EditText>(Resource.Id.txtPhone);
通过视图的ID查找这个控件,这样就可以找到这个控件并且操作这个控件,c#这边可以使用两种方式来给控件添加事件。

btnPhone.Click += delegate{};
btnPhone.Click += BtnPhone_Click;
private void BtnPhone_Click(object sender, EventArgs e)
{
}

自带的hello world是使用第一种委托方式我感觉第一种简单所以我也那么些,第二种是写完+=按两下tab生成出来的。
接下来就可以在委托或者方法里面写自己的代码进行功能操作了。我做了个打电话的小demo

btnPhone.Click += delegate
{
//创建 是否类型提示框
var callDialog = new AlertDialog.Builder(this);
//提示框信息
callDialog.SetMessage("是否开始通话?");
//确定按钮的文字和事件
callDialog.SetNeutralButton("通话", delegate
{
//创建打电话的事件
var call = new Intent(Intent.ActionCall);
//要打给的电话号是多少
call.SetData(Android.Net.Uri.Parse("tel:" + txtPhone.Text));
//执行这个事件
StartActivity(call);
});
//取消按钮的文字和事件,如果将下面的事件注视掉,则变成一个普通的 消息框,只有确定按钮
callDialog.SetNegativeButton("取消", delegate { });
//显示出来。
callDialog.Show();
};

代码执行的方式从上到下,那么开始就创建了一个提示框中间部分我们对我们的提示框做了一些操作,最后把这个提示框显示出来。感觉这种写法类似于cs的窗体写法但是又不太像,不过理解起来很容易。
这时候就可以运行了,不过在运行之前做几个设置。
因为需要打电话所以需要调用一个接口(?)

还需要设置一下最小的可执行的安卓版本

个人建议最好设置成模拟器的版本号。
这样就能打电话了。
现更新到这,跳转功能下次在说。
作者:小胖李
出处:http://www.cnblogs.com/minCS/
本文版权归作者和博客园共有,禁止转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
Xamrin开发安卓笔记(一)的更多相关文章
- Xamrin开发安卓笔记(三)
http://www.cnblogs.com/minCS/p/4118170.html Xamrin开发安卓笔记(三) 安装片 Xamrin开发安卓笔记(一) Xamrin开发安卓笔记(二) 这次 ...
- Xamrin开发安卓笔记(二)
http://www.cnblogs.com/minCS/p/4112617.html Xamrin开发安卓笔记(二) 安装篇 Xamrin开发安卓笔记(一) 昨天调理一天AAPT.EXE 被推出 ...
- C#开发安卓自学笔记1
今天开始研究了下C#开发安卓,刚开始什么都不懂,学过安卓的同学们也是用Java开发的,虽然两者开发差别不大,但是还是有差别的 // Set our view from the "main&q ...
- 使用VS2017开发安卓app(1)环境搭建
本人新手,边学习边写笔记,有错误不足之处,望各位博友指正~ 想要用vs开发安卓app,需要在安装时勾选 Xamarin是一个跨平台开发框架.在这一框架内,开发iOS.Android.Windows P ...
- 【前端】移动端Web开发学习笔记【2】 & flex布局
上一篇:移动端Web开发学习笔记[1] meta标签 width设置的是layout viewport 的宽度 initial-scale=1.0 自带 width=device-width 最佳实践 ...
- 【前端】移动端Web开发学习笔记【1】
下一篇:移动端Web开发学习笔记[2] Part 1: 两篇重要的博客 有两篇翻译过来的博客值得一看: 两个viewport的故事(第一部分) 两个viewport的故事(第二部分) 这两篇博客探讨了 ...
- 驱动开发学习笔记. 0.07 Uboot链接地址 加载地址 和 链接脚本地址
驱动开发学习笔记. 0.07 Uboot链接地址 加载地址 和 链接脚本地址 最近重新看了乾龙_Heron的<ARM 上电启动及 Uboot 代码分析>(下简称<代码分析>) ...
- 驱动开发学习笔记. 0.06 嵌入式linux视频开发之预备知识
驱动开发读书笔记. 0.06 嵌入式linux视频开发之预备知识 由于毕业设计选择了嵌入式linux视频开发相关的项目,于是找了相关的资料,下面是一下预备知识 UVC : UVC,全称为:USB v ...
- 驱动开发学习笔记. 0.05 linux 2.6 platform device register 平台设备注册 2/2 共2篇
驱动开发读书笔记. 0.05 linux 2.6 platform device register 平台设备注册 2/2 共2篇 下面这段摘自 linux源码里面的文档 : 内核版本2.6.22Doc ...
随机推荐
- GCD 莫比乌斯反演 给定整数N,求1<=x,y<=N且Gcd(x,y)为素数的 数对(x,y)有多少对.
/** 题目:GCD 链接:https://vjudge.net/contest/178455#problem/E 题意:给定整数N,求1<=x,y<=N且Gcd(x,y)为素数的 数对( ...
- JAVA图像缩放处理
http://www.blogjava.net/kinkding/archive/2009/05/23/277552.html ———————————————————————————————————— ...
- mysql 分数表实现排名
首先初始化一张表 DROP TABLE IF EXISTS `lq_wx_sign`; CREATE TABLE `lq_wx_sign` ( `id` ) unsigned NOT NULL AUT ...
- 天地币:所用到的 Android Socket 通讯编程技术试验
1.为了开发"天地币"这个Android手机项目,须要用到Socket编程. 2.天地币是一种类似于比特币的虚拟货币. 3.为了赚取CSDN的C币,须要写篇博客. 4.干脆将调试S ...
- c++11小计
[capture] (parameters) mutable -> return-type { statement } " (parameters)" 和 "-&g ...
- Centos 虚拟机网络问题,网卡起不来,重启network服务失败
拷贝了个虚拟机,有两个网卡,1个可以起来,另一个起不来.运行命令:$>systemctl restart network 输出如下:Job for network.service failed ...
- Java Tomcat7性能监控与优化详解
1. 目的 通过优化tomcat提高网站的并发能力. 2. 服务器资源 服务器所能提供CPU.内存.硬盘的性能对处理能力有决定性影响. 3. 优化配置 3.1. 配置tomcat管理员账户 ...
- 同时调整lv分区的大小(减少一个,增加另一个)
author:headsen chen date: 2018-04-20 16:48:06 1.查看分区:/home 为67G,太大了,/ 是50g,太小了. [root@localhost ~]# ...
- quartz定时任务配置
参考:http://www.cnblogs.com/kay/archive/2007/11/02/947372.html Quartz是一个强大的企业级任务调度框架,Spring中继承并简化了Quar ...
- 查看linux目录剩余空间大小
df命令是linux系统以磁盘分区为单位查看文件系统,可以加上参数查看磁盘剩余空间信息,命令格式: df -hl 显示格式为: 文件系统 容量 已用 可用 已用% 挂载点 Filesystem S ...