Xamarin的工作室

Xamarin的应用程序图标和启动屏幕
介绍与Xamarin的Android开发
Visual Studio

在这个由两部分组成的指南,我们建立我们的第一次Xamarin的。 Android应用程序使用Xamarin的工作室或Visual Studio和发展的理解与Xamarin的Android应用程序开发的基本原理。 一路上我们将介绍工具,概念,构建和部署Xamarin的所需的步骤。 Android应用程序。

你好,Android快速入门

在这个场景,我们创建一个应用程序,将用户输入的一个字母数字的电话号码转换为一个数字电话号码,,然后调用这个数字。 最终的应用程序看起来像这样:

第一个Xamarin的 Android 应用程序! 第一个Xamarin的 Android 应用程序!

让我们开始吧!

:本指南是一个跨平台开发系列的一部分。 我们接你好,iOS预排离开和Android应用程序添加到一个共同的解决方案。 如果你有兴趣学习iOS和Android,我们建议从你好,iOS指南。 如果你宁愿专注于安卓系统,我们添加了一些步骤来帮助你建立Android-only解决方案。 一旦设置您的解决方案,您可以完成你好,Android和你好,Android新潮的指南。

配置您的模拟器使用硬件加速。 说明

  • 最新版本的OS X山狮以上Xamarin的工作室。
  • 最新版本的Windows 7以上Xamarin的工作室。

导游。

Xamarin的应用程序图标和启动屏幕

配置模拟器

请注意

可选的设置——Android应用程序

解决方案,你可以继续下面的介绍。

  1. 让我们启动Visual Studio,这将打开启动屏幕:

    第一个Xamarin的 Android 应用程序!

  2. 创建一个新的解决方案:

    第一个Xamarin的 Android 应用程序!

  3. :

    第一个Xamarin的 Android 应用程序!

现在我们已经配置我们的解决方案,我们可以继续介绍我们的解决方案添加一个Android应用程序。

预排

    1. 对话框中,让我们选择

      第一个Xamarin的 Android 应用程序!

    2. 模板。 我们将新项目名称

      第一个Xamarin的 Android 应用程序!

    3. 文本

      第一个Xamarin的 Android 应用程序!

    4. 控制在设计表面(区域中心):

      第一个Xamarin的 Android 应用程序!

    5. ”:

      第一个Xamarin的 Android 应用程序!

    6. 控制:

      第一个Xamarin的 Android 应用程序!

    7. ”:

      第一个Xamarin的 Android 应用程序!

    8. 控制:

      第一个Xamarin的 Android 应用程序!

    9. ”:

       

      第一个Xamarin的 Android 应用程序!

    10. TranslateButton

      第一个Xamarin的 Android 应用程序!

    11. ”:

       

      第一个Xamarin的 Android 应用程序!

      现在,让我们添加一些代码翻译电话号码从字母数字到数字。 我们将添加一个新文件

    12. :

      第一个Xamarin的 Android 应用程序!

    13. :

      第一个Xamarin的 Android 应用程序!

    14. 这将创建一个新的空c#类。 让我们消除所有的模板代码,代之以以下代码:

      54 
      using 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;
              }
          }
      }

      保存您的更改

    15. 解决方案资源管理器

      第一个Xamarin的 Android 应用程序!

    16. 方法类似于下面的代码:

      25 
      using 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
              }
          }
      }
    17. 方法:

      // 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);
    18. 方法:

      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;
              }
         };
    19. :

      文件。 通过双击打开安卓清单 
      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();
      };
    20. 。 选择Android清单节点:

      第一个Xamarin的 Android 应用程序!

      让我们拯救我们的工作,然后通过选择构建应用程序

      第一个Xamarin的 Android 应用程序!

    21. 第一个Xamarin的 Android 应用程序!

      如果有错误,我们可以通过前面的步骤和纠正任何错误,直到应用程序构建

    22. 为我们的

      标签

      文件夹下 
      namespace Phoneword_Droid
      {
          [Activity (Label = "Phoneword", MainLauncher = true)]
          public class MainActivity : Activity
          {
              ...
          }
      }
    23. 你可以设置应用程序名称和图标在Android清单:

      第一个Xamarin的 Android 应用程序!

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

      第一个Xamarin的 Android 应用程序!

    24. 从选择对话框中,让我们浏览目录并打开解压Xamarin的应用程序图标

      第一个Xamarin的 Android 应用程序!

      文件夹并选择

      第一个Xamarin的 Android 应用程序!

    25. :

      第一个Xamarin的 Android 应用程序!

    26. 第一个Xamarin的 Android 应用程序!

    27. @drawable /图标

      文件夹:

      第一个Xamarin的 Android 应用程序!

      到项目中。 这些文件夹图标的提供不同的决议,呈现不同的设备有不同的屏幕上正确的密度。

      第一个Xamarin的 Android 应用程序!

      :

      第一个Xamarin的 Android 应用程序!

    28. :

      第一个Xamarin的 Android 应用程序!

    29. Xamarin的Android的球员 并选择

      第一个Xamarin的 Android 应用程序!

模拟器,我们编译该项目使用API级别10:

第一个Xamarin的 Android 应用程序!

  1. Xamarin的见解

    第一个Xamarin的 Android 应用程序!

    第一个Xamarin的 Android 应用程序!

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

    第一个Xamarin的 Android 应用程序!

Xamarin的工作室

相关文章: