Xamarin 简明教程

Xamarin - First Application

在本章中,我们将了解如何使用 Xamarin 创建一个小型 Android 应用程序。

Hello Xamarin! Application

首先,启动 Visual Studio 的一个新实例,然后转到 File → New → Project

project

在出现的“菜单”对话框中,转到 Templates → Visual C# → Android → Blank App (Android)

blank app

为你的应用程序起一个合适的名称。在我们的案例中,我们将其命名为 “helloWorld” ,并将其保存在提供的默认位置。接下来,单击“确定”按钮以加载新的 “helloXamarin” 项目。

solution 中,打开 Resources → layout → Main.axml 文件。从“设计视图”切换,并转到 Source 文件并键入以下代码行来构建你的应用程序。

<?xml version = "1.0" encoding = "utf-8"?>
<LinearLayout xmlns:android = "http://schemas.android.com/apk/res/android"
   android:orientation = "vertical"
   android:background = "#d3d3d3"
   android:layout_width = "fill_parent"
   android:layout_height = "fill_parent">
   <TextView
      android:text = "@string/HelloXamarin"
      android:textAppearance = "?android:attr/textAppearanceLarge"
      android:layout_width = "match_parent"
      android:layout_height = "wrap_content"
      android:id = "@+id/textView2"
      android:textColor = "@android:color/black" />
</LinearLayout>

在以上代码中,我们创建了一个新的 Android textview 。接下来,打开“values”文件夹,并双击 Strings.xml 以打开它。在此,我们将存储以上创建的 button 中的信息和值。

<?xml version = "1.0" encoding = "utf-8"?>
<resources>
   <string name = "HelloXamarin">Hello World, I am Xamarin!</string>
   <string name = "ApplicationName">helloWorld</string>
</resources>

打开 MainActivity.cs 文件,并将现有代码替换为以下代码行。

using System;
using Android.App;
using Android.Content;
using Android.Runtime;
using Android.Views;
using Android.Widget;
using Android.OS;

namespace HelloXamarin {
   public class MainActivity : Activity {
      protected override void OnCreate(Bundle bundle) {
         base.OnCreate(bundle);
         SetContentView(Resource.Layout.Main);
      }
   }
}

保存应用程序。生成然后运行它,以在 Android 模拟器中显示所创建的应用程序。

andriod emulator

如果您没有 Android 模拟器,请按照下一部分中的步骤创建一个。

Setting Up an Android Emulator

在 Visual Studio 菜单上,转到 Tools → Android → Android Emulator Manager 。在弹出的窗口中,单击 Create 按钮。它将显示以下屏幕。

create new andriod virtual device

在上面的屏幕上,提供您想要的 AVD name 。为您的显示选择一个 device ,例如,Nexus 4” 显示。选择您的 target platform 。最好在最低目标平台上进行测试,例如,API 10 Android 2.3(Gingerbread)以确保您的应用程序可在所有 Android 平台上运行。

填写其余字段并单击确定按钮。您的模拟器现在已准备就绪。您可以从现有 Android 虚拟设备列表中选择它,然后单击 Start 以启动它。

emulator

Modifying HelloXamarin App

在此部分中,我们将修改我们的项目并创建一个在点击时显示文本的按钮。打开 main.axml 并切换到 source view 。在我们创建的 textview 后,我们将添加一个按钮,如下所示。

<Button
   android:id = "@+id/MyButton"
   android:layout_width = "fill_parent"
   android:layout_height = "wrap_content"
   android:text = "@string/ButtonClick" />

添加按钮后,我们的完整代码将如下所示 −

<?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">
   <TextView
      android:text = "@string/HelloXamarin"
      android:textAppearance = "?android:attr/textAppearanceLarge"
      android:layout_width = "match_parent"
      android:layout_height = "wrap_content"
      android:id = "@+id/textView2" />

   <Button
      android:id = "@+id/MyButton"
      android:layout_width = "fill_parent"
      android:layout_height = "wrap_content"
      android:text = "@string/ButtonClick" />
</LinearLayout>

接下来,我们在 strings.xml 文件中注册我们的按钮值。

<string name = "ButtonClick">Click Me!</string>

strings.xml 文件中添加按钮后,我们打开 MainActivity.cs 文件,为按钮在点击时添加一个操作,如下面的代码所示。

using System;
using Android.App;
using Android.Content;
using Android.Runtime;
using Android.Views;
using Android.Widget;
using Android.OS;

namespace HelloXamarin {
   [Activity(Label = "HelloXamarin", MainLauncher = true, Icon = "@drawable/icon")]
   public class MainActivity : Activity {
      protected override void OnCreate(Bundle bundle) {
         base.OnCreate(bundle);
         SetContentView(Resource.Layout.Main);
         Button button = FindViewById<Button>(Resource.Id.MyButton);
         button.Click += delegate { button.Text = "Hello world I am your first App"; };
      }
   }
}

接下来,生成并运行您的应用程序。

run the application

点击按钮后,将获得以下输出 −

output