第一个Xamarin的 Android 应用程序!
你好,安卓
Xamarin的工作室
- Xamarin的应用程序图标和启动屏幕
- 介绍与Xamarin的Android开发
在这个由两部分组成的指南,我们建立我们的第一次Xamarin的。 Android应用程序使用Xamarin的工作室或Visual Studio和发展的理解与Xamarin的Android应用程序开发的基本原理。 一路上我们将介绍工具,概念,构建和部署Xamarin的所需的步骤。 Android应用程序。
你好,Android快速入门
在这个场景,我们创建一个应用程序,将用户输入的一个字母数字的电话号码转换为一个数字电话号码,,然后调用这个数字。 最终的应用程序看起来像这样:

让我们开始吧!
加速Android模拟器
:本指南是一个跨平台开发系列的一部分。 我们接你好,iOS预排离开和Android应用程序添加到一个共同的解决方案。 如果你有兴趣学习iOS和Android,我们建议从你好,iOS指南。 如果你宁愿专注于安卓系统,我们添加了一些步骤来帮助你建立Android-only解决方案。 一旦设置您的解决方案,您可以完成你好,Android和你好,Android新潮的指南。
配置您的模拟器使用硬件加速。 说明
- 最新版本的OS X山狮以上Xamarin的工作室。
- 最新版本的Windows 7以上Xamarin的工作室。
集。 Xamarin的。 安卓系统安装导游。
在我们开始之前,请下载 Windows 7及以上与Visual Studio 2010专业或更高版本。Xamarin的应用程序图标和启动屏幕
配置模拟器
Android模拟器有几个选项。 标准的安卓 设置仿真器是最简单的,但跑得慢。 Xamarin的建议 你使用的高性能 指南。Xamarin的Android的球员 需求 。 如果你不使用Xamarin的Android的球员,你应该 这个预排假设Xamarin的最新版本。 安装和运行在Android平台的选择。 Xamarin的安装指南。 Android,参考请注意
可选的设置——Android应用程序
如果你遵循这些步骤没有完成了 你好,iOS 预排。 如果你已经配置 Phoneword 解决方案,你可以继续下面的介绍。
让我们启动Visual Studio,这将打开启动屏幕:

点击 开始>新项目 创建一个新的解决方案:

在 新项目 对话框中,单击 其他项目类型> Visual Studio解决方案 。 选择 空白的解决方案 模板。 名新解决方案
Phoneword:
现在我们已经配置我们的解决方案,我们可以继续介绍我们的解决方案添加一个Android应用程序。
预排
Phoneword 解决方案如果不开放了。 在 (左边的区域),打开右边的灰色的齿轮图标 (右边的区域),右键单击 : 添加>新项目… 从 解决方案和选择 对话框中,让我们选择

: 在 接下来,让我们扩大 Visual c# > Android 并选择
添加新项目模板。 我们将新项目名称
在设计表面和按下 按钮 打开它的Android设计师。 这是我们的布局文件 屏幕: 接下来,让我们扩大 资源 布局 文本

删除 文本(大) 文本
的财产的 工具箱 (左边的区域),输入“文本(大)“在搜索字段并拖动 控制在设计表面(区域中心): 控制在设计表面(区域中心):
与 文本(大) 控制选择表面上的设计,我们可以使用 属性 面板中改变 文本 财产的 文本(大) 控制”
输入一个Phoneword:”:
接下来,让我们拖 纯文本 控制的 工具箱 设计表面和下面 文本(大) 控制:

与 纯文本 控制选择表面上的设计,我们可以使用 属性 面板中改变 ID 财产的 纯文本 控制
@ + id / PhoneNumberText和改变 文本 属性”1 - 855 - xamarin的”:
让我们把 按钮 控制的 工具箱 设计表面和下面 纯文本 控制:

与 按钮 选择表面上的设计,我们可以使用 属性 面板中改变 ID 财产的 按钮 来
@ + id / TranslateButton和改变 文本 属性”翻译”:
接下来,让我们拖到另一个 按钮 控制的 工具箱 设计表面和下面 按钮 TranslateButton

- 控制选择表面上的设计,我们可以使用 改变 解决方案垫 窗格 项目 按钮 和改变
项目通过点击旁边的灰色的齿轮图标与 : 文本调用”:
让我们拯救我们的工作按
Ctrl + S现在,让我们添加一些代码翻译电话号码从字母数字到数字。 我们将添加一个新文件 Phoneword_Droid 在 解决方案资源管理器 PhoneTranslator 窗格中,选择 添加>新项目… :

项目 添加新文件 对话框中,让我们选择 Visual c#代码> >类 和名称的新文件
PhoneTranslator.cs:
这将创建一个新的空c#类。 让我们消除所有的模板代码,代之以以下代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54using System.Text;
using System; namespace Core
{
public static class PhonewordTranslator
{
public static string ToNumber(string raw)
{
if (string.IsNullOrWhiteSpace(raw))
return "";
else
raw = raw.ToUpperInvariant(); var newNumber = new StringBuilder();
foreach (var c in raw)
{
if (" -0123456789".Contains(c))
newNumber.Append(c);
else {
var result = TranslateToNumber(c);
if (result != null)
newNumber.Append(result);
}
// otherwise we've skipped a non-numeric char
}
return newNumber.ToString();
}
static bool Contains (this string keyString, char c)
{
return keyString.IndexOf(c) >= 0;
}
static int? TranslateToNumber(char c)
{
if ("ABC".Contains(c))
return 2;
else if ("DEF".Contains(c))
return 3;
else if ("GHI".Contains(c))
return 4;
else if ("JKL".Contains(c))
return 5;
else if ("MNO".Contains(c))
return 6;
else if ("PQRS".Contains(c))
return 7;
else if ("TUV".Contains(c))
return 8;
else if ("WXYZ".Contains(c))
return 9;
return null;
}
}
}Ctrl + S 保存 文件,点击 文件>保存
(或按保存您的更改接下来我们将添加代码来连接用户界面。 让我们支持代码添加到 MainActivity 类。 双击 MainActivity.cs 在 首先连接了 解决方案资源管理器

MainActivity
TranslateButton。 在类,找到oncreate方法。 我们将添加按钮代码内部oncreate,低于base.OnCreate(包)和SetContentView(Resource.Layout.Main)调用。 因此,删除模板代码oncreate方法类似于下面的代码:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25using System; using Android.App;
using Android.Content;
using Android.Runtime;
using Android.Views;
using Android.Widget;
using Android.OS; namespace Phoneword_Droid
{
[Activity (Label = "Phoneword_Droid", MainLauncher = true)]
public class MainActivity : Activity
{
protected override void OnCreate (Bundle bundle)
{
base.OnCreate (bundle); // Set our view from the "main" layout resource
SetContentView (Resource.Layout.Main); // Our code will go here
}
}
}接下来,我们需要控制我们的引用在布局文件中创建使用Android的设计师。 在添加以下代码
oncreate方法:1
2
3
4// Get our UI controls from the loaded layout
EditText phoneNumberText = FindViewById<EditText>(Resource.Id.PhoneNumberText);
Button translateButton = FindViewById<Button>(Resource.Id.TranslateButton);
Button callButton = FindViewById<Button>(Resource.Id.CallButton);现在让我们添加代码来响应用户按第一个按钮时,我们命名
TranslateButton。 下面添加以下代码内部控制定义oncreate方法:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21// Disable the "Call" button
callButton.Enabled = false; // Add code to translate number
string translatedNumber = string.Empty; translateButton.Click += (object sender, EventArgs e) =>
{
// Translate user’s alphanumeric phone number to numeric
translatedNumber = Core.PhonewordTranslator.ToNumber(phoneNumberText.Text);
if (String.IsNullOrWhiteSpace(translatedNumber))
{
callButton.Text = "Call";
callButton.Enabled = false;
}
else
{
callButton.Text = "Call " + translatedNumber;
callButton.Enabled = true;
}
};接下来让我们添加代码来响应用户迫切的第二个按钮时,我们命名
CallButton。 我们将以下代码下面的代码TranslateButton:1
2
3
4
5
6
7
8
9
10
11
12
13安卓系统清单
文件。 通过双击打开安卓清单callButton.Click += (object sender, EventArgs e) =>
{
// On "Call" button click, try to dial phone number.
var callDialog = new AlertDialog.Builder(this);
callDialog.SetMessage("Call " + translatedNumber + "?");
callDialog.SetNeutralButton("Call", delegate {
// Create intent to dial phone
var callIntent = new Intent(Intent.ActionCall);
callIntent.SetData(Android.Net.Uri.Parse("tel:" + translatedNumber));
StartActivity(callIntent);
});
callDialog.SetNegativeButton("Cancel", delegate { }); // Show the alert dialog to the user and wait for response.
callDialog.Show();
};许可: 打开它: ,检查 Phoneword_Droid 在 成功。 解决方案资源管理器 。 选择Android清单节点:

下 属性 构建>构建所有 构建>重建解决方案 让我们拯救我们的工作,然后通过选择构建应用程序

让我们拯救我们的工作,然后通过选择重建应用程序 或按
CTRL-SHIFT-B“
如果有错误,我们可以通过前面的步骤和纠正任何错误,直到应用程序构建
我们现在有一个工作应用程序和它的时间添加收尾工作! 让我们开始通过编辑 标签 2
3”: 1 为我们的的顶部
MainActivity类,改变 标签 成功。Phoneword标签)。 如果我们的应用程序编译,我们将得到一条成功消息在左下角的Visual Studio:
MainActivity
。 的
7
4
和删除现有的
6
文件夹下namespace Phoneword_Droid
{
[Activity (Label = "Phoneword", MainLauncher = true)]
public class MainActivity : Activity
{
...
}
}你可以设置应用程序名称和图标在Android清单:

让我们开始通过改变应用程序的名字“Phoneword”:

接下来,让我们来设置应用程序图标。 首先,下载 Xamarin的应用程序图标设置。 接下来,扩大 可拉的 其 通过右键单击它并选择 文件夹中。 选择 : 从选择对话框中,让我们浏览目录并打开解压Xamarin的应用程序图标

可拉的 : 文件夹并选择

文件夹下 和删除现有的 可拉的 :

当对话框出现时,点击 添加>现有项目…… 删除
对话框中,选择其
可拉的- * 文件夹 @drawable /图标
从 文件夹:

Visual Studio中的文件夹 应用程序图标 这些文件夹现在所示您的项目的一部分 面板: 到项目中。 这些文件夹图标的提供不同的决议,呈现不同的设备有不同的屏幕上正确的密度。

解决方案资源管理器 接下来,让我们添加其余的Xamarin的应用程序图标 :

项目作为你的创业项目,右键单击项目
集从 应用程序图标 :
设置为启动项目 你好,iOSXamarin的Android的球员 并选择
角落的IDE: 的这个截图所示,我们已经选择了 应用程序 Phoneword_Droid 右键单击项目作为你的创业项目 如果你工作完成后通过本指南Phoneword_Droid 项目 解决方案资源管理器 设置说明。

Xamarin的虚拟设备运行Android的球员。 最后,我们可以测试我们的应用程序被部署到一个Android模拟器。 如果你还没有配置模拟器,请参阅 节点的 属性 。 下 编译使用Android版本: ,选择一个API水平等于或小于模拟器您想要使用的API级别。 选择的模拟器 目标Android设备工具栏上的下拉菜单。 在这个例子中,我们使用 MonoForAndroid_API_10 模拟器,我们编译该项目使用API级别10:

点击 开始 启动模拟器,并部署应用程序。 下面的截图说明了Phoneword模拟器中运行的应用程序。 在一些模拟器,您可能需要点击按钮或回家 菜单 按钮查看运行的应用程序。 单击 翻译 按钮更新的文本 调用 按钮,点击 调用 Xamarin的见解


在应用程序列表中,您可以看到Phoneword与前面配置的图标显示应用程序:

xamarin.forms 祝贺你完成你的第一个Xamarin的。 Android应用程序! 现在是时候解剖我们刚刚学到的的工具和技巧Xamarin的工作室
第一个Xamarin的 Android 应用程序!的更多相关文章
- C#使用Xamarin开发Android应用程序 -- 系列文章
Xamarin开发Android应用程序 利用Xamaria构建Android应用-公交发车信息屏 Xamarin版的C# SVG路径解析器 C#使用Xamarin开发可移植移动应用(1.入门与Xam ...
- 构建一个Gods Eye Android应用程序:第1部分 – 收集已安装的Android应用程序
首先问候一下我的黑客伙伴们,在之前的Introduction to Amunet 教程中,我们了解到Amunet可能是一个间谍Android应用程序. 我不浪费太多时间因而直入主题. 在本教程中,我们 ...
- C# 使用Xamarin开发Android应用程序
C#使用Xamarin开发可移植移动应用终章(11.获取设备信息与常用组件,开源一个可开发模版.) 摘要: 前言 系列目录 C#使用Xamarin开发可移植移动应用目录 源码地址:https://gi ...
- 我的第一个 Mono for Android 应用
创建 Mono for Android 应用 打开 MonoDevelop , 选择新建解决方案, 左边的分类选择 "Mono for Android" , 右边选择 " ...
- 用 Eclipse 开发 Android 应用程序
转自:http://www.apkbus.com/android-13828-1-1.html 开始之前 本教程介绍如何在 Eclipse 环境中进行 Android 应用程序开发,包括两个示例应用程 ...
- Android应用程序窗口(Activity)的运行上下文环境(Context)的创建过程分析
文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/8201936 在前文中,我们简要介绍了Andro ...
- Xamarin.Android 应用程序配置
* 在 Xamarin 中 Android 清单文件的内容一般不通过手动编辑,而是由编译器根据 项目属性设置 和 一系列 特性类 自动生成 1. 应用程序在android启动器中显示的名称设置: 主活 ...
- 第一个android应用程序
首先打开Eclipse和一个AVD.在Eclipse中选择File→New→Project→Android→Android Application Project 点击Next,按照下图所示填写 注: ...
- Android(java)学习笔记219:开发一个多界面的应用程序之两种意图
1.两种意图: (1)显式意图: 在代码里面用intent设置要开启Activity的字节码.class文件: (2)隐式意图: Android(java)学习笔记218:开发一个多界面的应用程序之人 ...
随机推荐
- Bzoj2002/洛谷P3203 [HNOI2010]弹飞绵羊(分块)
题面 Bzoj 洛谷 题解 大力分块,分块大小\(\sqrt n\),对于每一个元素记一下跳多少次能跳到下一个块,以及跳到下一个块的哪个位置,修改的时候时候只需要更新元素所在的那一块即可,然后询问也是 ...
- 基于springboot实现http响应异常信息国际化
背景 国际化是指在设计软件,将软件与特定语言及地区脱钩的过程.当软件被移植到不同的语言及地区时,软件本身不用做内部工程上的改变或修正. 本文提到的异常响应信息国际化是指:前端向后台发起请求,后台在处理 ...
- Selenium快速入门(上)
浏览器驱动下载 Edge浏览器 Firefox浏览器 Safari浏览器 Chrome浏览器 PhantomJS浏览器 下载完成之后,添加到环境变量. 声明浏览器对象 selenium支持的浏览器版本 ...
- Scrapy实战篇(四)之周杰伦到底唱了啥
从小到大,一直很喜欢听周杰伦唱的歌,可是相信很多人和我一样,并不能完全听明白歌词究竟是什么,今天我们就来研究一下周董最喜欢在歌词中用的词,这一小节的构思是这样的,我们爬取周杰伦的歌词信息,并且将其进行 ...
- Java并发(七):双重检验锁定DCL
双重检查锁定(Double Check Lock,DCL) 1.懒汉式单例模式,无法保证线程安全: public class Singleton { private static Singleton ...
- bzoj 3669: [Noi2014]魔法森林 -- 动点spfa
3669: [Noi2014]魔法森林 Time Limit: 30 Sec Memory Limit: 512 MB 动点spfa Description 为了得到书法大家的真传,小E同学下定决心 ...
- python开发_random
和java中的random()函数一样,在python中也有类似的模块random,即随机数 下面是我做的demo 运行效果: ==================================== ...
- Unity 的一些特性
using System; using UnityEngine; using UnityEditor; using UnityEngine.Serialization; using Random = ...
- EM(Expectation Maximization)算法
EM(Expectation Maximization)算法 参考资料: [1]. 从最大似然到EM算法浅解 [2]. 简单的EM算法例子 [3]. EM算法)The EM Algorithm(详尽 ...
- hdu 2147 kiki's game, 入门基础博弈
博弈的一些概念: 必败点(P点) : 前一个选手(Previous player)将取胜的位置称为必败点. 必胜点(N点) : 下一个选手(Next player)将取胜的位置称为必胜点. 必败(必胜 ...