Xamarin的工作室
- Xamarin的应用程序图标和启动屏幕
- 介绍与Xamarin的Android开发
在这个由两部分组成的指南,我们建立我们的第一次Xamarin的。 Android应用程序使用Xamarin的工作室或Visual Studio和发展的理解与Xamarin的Android应用程序开发的基本原理。 一路上我们将介绍工具,概念,构建和部署Xamarin的所需的步骤。 Android应用程序。
你好,Android快速入门
在这个场景,我们创建一个应用程序,将用户输入的一个字母数字的电话号码转换为一个数字电话号码,,然后调用这个数字。 最终的应用程序看起来像这样:
让我们开始吧!
:本指南是一个跨平台开发系列的一部分。 我们接你好,iOS预排离开和Android应用程序添加到一个共同的解决方案。 如果你有兴趣学习iOS和Android,我们建议从你好,iOS指南。 如果你宁愿专注于安卓系统,我们添加了一些步骤来帮助你建立Android-only解决方案。 一旦设置您的解决方案,您可以完成你好,Android和你好,Android新潮的指南。
配置您的模拟器使用硬件加速。 说明
- 最新版本的OS X山狮以上Xamarin的工作室。
- 最新版本的Windows 7以上Xamarin的工作室。
导游。
Xamarin的应用程序图标和启动屏幕
配置模拟器
请注意
可选的设置——Android应用程序
解决方案,你可以继续下面的介绍。
现在我们已经配置我们的解决方案,我们可以继续介绍我们的解决方案添加一个Android应用程序。
预排
-
对话框中,让我们选择
-
模板。 我们将新项目名称
-
文本
-
控制在设计表面(区域中心):
-
”:
-
控制:
-
”:
-
控制:
-
”:
-
TranslateButton
-
”:
现在,让我们添加一些代码翻译电话号码从字母数字到数字。 我们将添加一个新文件
-
:
-
:
-
这将创建一个新的空c#类。 让我们消除所有的模板代码,代之以以下代码:
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; } } }保存您的更改
-
解决方案资源管理器
-
方法类似于下面的代码:
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 } } } -
方法:
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); -
方法:
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.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(); }; -
。 选择Android清单节点:
让我们拯救我们的工作,然后通过选择构建应用程序
-
“
如果有错误,我们可以通过前面的步骤和纠正任何错误,直到应用程序构建
-
为我们的
标签
文件夹下namespace Phoneword_Droid { [Activity (Label = "Phoneword", MainLauncher = true)] public class MainActivity : Activity { ... } } -
你可以设置应用程序名称和图标在Android清单:
让我们开始通过改变应用程序的名字“Phoneword”:
-
从选择对话框中,让我们浏览目录并打开解压Xamarin的应用程序图标
文件夹并选择
-
:
-
其
-
@drawable /图标
文件夹:
到项目中。 这些文件夹图标的提供不同的决议,呈现不同的设备有不同的屏幕上正确的密度。
:
-
:
-
Xamarin的Android的球员 并选择
模拟器,我们编译该项目使用API级别10:
Xamarin的工作室