在本文中,我们将详细介绍如何创建Xamarin Android Single View应用程序。您可以将Xamarin应用程序开发为Xamarin.Forms for Cross Platform,或者您可以使用Xamarin.iOS和Xamarin.Android为Android和IOS开发本机应用程序。在本文中,我们将看到如何为Android创建本机应用程序我们选择了Xamarin Android for Single View App。
在这个移动应用程序中我们将看到
在这个移动应用程序中,我们将添加TextClock以显示当前时间和五个按钮。在第一个按钮点击事件中,我们将在顶部显示通知,点击按钮计数。在第二个按钮点击事件中,我们将使用来自资源的添加的mp3播放歌曲。在第三个按钮单击中,我们将停止播放该歌曲。在第四个按钮单击中,我们可以增加播放歌曲的音量。在第五个按钮单击中,我们可以减少声音的音量。
确保已安装计算机中的所有先决条件。如果没有,则逐个下载并安装所有内容。
确保已使用.NET安装Mobile开发
步骤1:创建Xamarin
安装Visual Studio 2017后,单击“开始”,然后单击“程序”,选择“ Visual Studio 2017” - 单击“ Visual Studio 2017”。单击New,然后单击Project,选择Visual C#和Android,然后选择 Single-View App(Android)。输入您的项目名称并单击
第2步:Xamarin Android项目结构
参考文献:
References有默认的.Net程序集,如System,System.core和Xamarin Android,最重要的参考是Mono.Android,默认情况下,我们可以在图像中看到这个引用。此Mono.Android参考将用于与我们的C#代码和Android API进行交互。
主要活动:
在我们的.Net应用程序中默认运行Main方法,我们的应用程序将开始执行,但在Android应用程序中我们有活动集合,每个活动将用于单个视图,当我们创建Xamarin Android应用程序时创建默认情况下为MainActivity.cs。在这里,我们将使用此活动来运行我们的应用程序。所有活动都将继承自Activity类,因为当我们打开MainActivity.cs文件时,我们可以看到它。在我们的MainActivity中,我们可以设置运行App时需要显示的视图。在这里我们可以看到默认情况下我们可以看到主视图已添加到SetContentView。
当我们有多个Activity时,如何设置默认的Main Activity?
正如我们告诉你的那样,在我们的Xamarin.Android应用程序中,我们可以有多个Activity,并且在运行App时需要默认显示一个主Activity。如果我们有多个活动,并且如果我们需要将其他活动设置为主要活动,那么我们可以将活动代码的顶部设置为该活动的“MainLauncher = true”,而将其他活动设置为false。
您还可以从活动中为您的应用设置标签(标题),这里我们将标题设置为“Shanu Music App”,我们也可以为应用设置Icon。
活动生命周期:
OnCreate() - >创建活动时
OnStart() - >当Activity启动时
OnResume() - >当Activity开始与用户交互时调用。
OnPause() - >用户看不到活动(在后台工作)
OnStop() - >活动不适用于用户
OnDestroy() - >在销毁活动之前
在我们的演示中,我们默认使用OnCreate(),我们将使用它来显示我们的视图,当应用程序运行时,按钮单击事件可以执行我们所需的操作。
视图:
活动和视图是Xamarin Android App的重要组成部分。我们看到Activity用于显示我们的View并为事件编写代码,View用于设计我们的App。
视图将位于资源和布局文件夹中我们可以看到默认情况下Main.axml将添加到我们的布局文件夹中。该视图将作为“axml”文件及其纯粹的XML代码。
当我们打开Main.axml文件时,我们可以看到Designer和Source部分。我们可以根据需要添加控件作为拖放工具箱,并设计我们的Android应用程序。当我们点击Source部分时,我们可以看到在XML代码中添加到我们App的控件,如下所示。
Values / Strings.XML
我们可以看到在我们的Button文本中,标题被添加为“android:text =”@ string / hello“,这里”=“@ string / hello”表示文本将从Strings.XML加载
hello的字符串将添加到Resources \ Values \的Strings.XMl中
我们可以根据需要更改或添加字符串
Resource.Designer
我们在View中添加的控件或我们在String.XMl文件中添加的文本等所有资源都将在解决方案的Resource.Designer文件中使用唯一编号生成。
希望您对使用Xamarin Android App有一些基本的了解,现在让我们专注于如何添加更多控件来制作我们简单的音乐应用程序。
第3步:使用代码
使用TextClock显示时间
我们将TextClock控件添加到我们的应用程序并使用以下代码进行设计,这里我们将格式设置为12小时并设置字体大小和颜色。
<TextClock xmlns:p2="http://xamarin.com/mono/android/designer-default"
android:format12Hour="hh:mm:ss a"
android:layout_width="match_parent"
android:layout_height="47.5dp"
android:id="@+id/textClock1"
android:gravity="center_horizontal"
android:textColor="#ffccff"
android:textSize="40sp"
android:layout_marginBottom="4.5dp" />
当我们运行应用程序时,我们可以看到模拟器中的输出,因为时间将显示在我们的应用程序中,时间将自动显示当前时间和秒。
显示通知
现在我们将添加一个按钮,在按钮中单击事件,我们将在顶部显示通知,用户没有点击按钮的时间。
<Button
android:id="@+id/myButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
android:background="@android:drawable/alert_dark_frame" />
我们需要将Xamarin.Android.Support v4包添加到我们的APP中。右键单击解决方案,然后单击Manage NUGet Package并搜索Xamarin.Android.Support.v4并单击install。
我们可以看到新的Xamarin Android支持dll已添加到我们的项目中。
现在,我们将在MainActivity.cs文件中为上述设计创建按钮单击事件。首先,我们将以下引用导入MainActivity.cs文件
using Android.Support.V4.App;
using Android.Support.V4.View;
using Java.Interop;
using Android.Views.Animations;
在MainActivity .cs onCreate方法中,我们将创建按钮单击事件以在我们的移动设备中显示通知消息。为此我们为NotificationCompact创建对象,我们为Notification消息设置Title和Text,在Text中我们也设置设置计数器值以显示从通知中单击按钮的次数。
Button btn = FindViewById<Button>(Resource.Id.myButton);
btn.Click += delegate {
var notification = new NotificationCompat.Builder(this)
.SetContentTitle("Shanu - Notifications")
.SetContentText("Clicked " + count++ + " times!")
.SetSmallIcon(Android.Resource.Drawable.DialogFrame)
.SetGroup("testGroup").Build();
var manager = NotificationManagerCompat.From(this);
manager.Notify(1, notification);
btn.Text = "Check Notification!";
代码看起来像这样。
通知输出:
当我们运行应用程序时,我们可以使用Button查看模拟器中的输出。
当我们点击按钮时,我们可以在顶部看到通知,计数值显示为用户点击按钮的时间。
播放歌曲
首先,我们将我们最喜欢的MP3歌曲添加到我们的资源文件夹中,对于这个简单的演示,我们添加了一个要播放的mp3文件。
创建原始文件夹
我们需要在Resource文件夹中创建一个名为raw的文件夹,我们将把所有mp3文件添加到此文件夹中。要添加mp3文件,请右键单击原始文件夹并添加现有项目,然后选择需要播放的mp3文件。这里我们在原始资源文件夹中添加了一个mp3文件。
接下来为MediaPlayer创建一个对象
MediaPlayer mp;
为了添加MediaPlayer,我们将如下引用导入到MainActivit.cs文件中
using Android.Media;
现在我们将添加一个按钮,在按钮中,单击事件我们将播放新添加的mp3资源文件中的音乐。
在我们的Main.axml文件中设计您的按钮。
<Button
android:text="Play Song"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/button1"
android:background="@android:drawable/alert_dark_frame" />
从我们的MainActivity.cs添加播放歌曲按钮的按钮单击事件,并添加以下代码来播放您的音乐。
// to Play the Song
Button btn1 = FindViewById<Button>(Resource.Id.button1);
btn1.Click += delegate
{
mp = MediaPlayer.Create(this, Resource.Raw.Kannalanae);
mp.Start();
btn1.Text = "Song is Playing Now enjoy :)";
};
播放歌曲输出:
当我们运行应用程序时,我们可以看到模拟器的输出,我们可以在应用程序中看到新添加的播放歌曲按钮。
当用户点击“播放歌曲”按钮时,他们可以收听他们添加的歌曲。
停止歌曲
为了停止播放歌曲,我们将创建一个新按钮,在按钮中,单击事件我们将编写代码以停止播放歌曲。
现在我们将添加一个按钮,在按钮中,单击事件我们将停止播放音乐。
在我们的Main.axml文件中设计您的按钮以停止音乐
<Button
android:text="Stop Song"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/button2"
android:background="@android:drawable/alert_dark_frame" />
添加按钮单击事件以停止来自MainActivity.cs的播放歌曲,并添加以下代码以停止播放音乐。
// to Stop Playing Song
Button btn2 = FindViewById<Button>(Resource.Id.button2);
btn2.Click += delegate
{
if (mp != null)
if (mp.IsPlaying)
{
mp.Stop();
btn2.Text = "Song Playing Stopped :( ";
}
};
停止音乐输出:
当我们运行应用程序时,我们可以通过我们的应用程序中新添加的“停止歌曲”按钮查看模拟器的输出
当用户点击“停止歌曲”按钮时,播放歌曲将停止。
增加音量
为了增加移动设备或模拟器音量,我们将创建一个新按钮,在按钮中,单击事件我们将编写代码以增加音量。
现在我们将添加一个按钮,在按钮中,单击事件我们将编写代码以增加音量。
在我们的Main.axml文件中设计您的按钮以增加音量
<Button
android:text="Volume ++"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/button3"
android:background="@android:drawable/alert_dark_frame" />
添加按钮单击事件以增加MainActivity.cs中的音量,并添加以下代码以增加音量。这里我们将使用AudioManager并将音量设置为Android.Media.Adjust.Raise
//Increase the Mobile Volume
AudioManager audios = (AudioManager)GetSystemService(Context.AudioService);
Button btn3 = FindViewById<Button>(Resource.Id.button3);
btn3.Click += delegate
{
audios.AdjustStreamVolume(Android.Media.Stream.Music,
Android.Media.Adjust.Raise, Android.Media.VolumeNotificationFlags.PlaySound);
};
增加产量:
当我们运行应用程序时,我们可以在我们的应用程序中看到我们的模拟器的输出和新添加的Volume ++按钮,我们可以看到Media卷现在设置为低。
当用户单击音量++按钮时,音量将缓慢增加,现在媒体音量已设置为其最大音量。
减小音量
为了减少移动设备或模拟器音量,我们将创建一个新按钮,在按钮中,单击事件我们将编写代码以减小音量。
现在我们将添加一个按钮,在按钮中,单击事件我们将编写代码以减小音量。
在我们的Main.axml文件中设计您的按钮以增加音量
<Button
android:text="Volume --"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/button4"
android:background="@android:drawable/alert_dark_frame" />
添加按钮单击事件以减少MainActivity.cs中的音量,并添加以下代码以减小音量。这里我们将使用AudioManager并将音量设置为Android.Media.Adjust.Lower
//Decrease the Mobile Volume
Button btn4 = FindViewById<Button>(Resource.Id.button4);
btn4.Click += delegate
{
audios.AdjustStreamVolume(Android.Media.Stream.Music,
Android.Media.Adjust.Lower, Android.Media.VolumeNotificationFlags.PlaySound);
};
体积减少输出:
当我们运行应用程序时,我们可以看到我们的模拟器输出新添加的Volume - 按钮在我们的应用程序中我们可以看到Media卷现在设置为高。
当用户点击音量 - 按钮时,音量将缓慢下降,现在媒体音量已设置为低音。
希望您喜欢阅读本文,下载源代码并根据您的需要进行更改,很快我们将看到更多与开发Xamarin移动应用程序相关的文章。
如何创建Xamarin Android Single View应用程序将详细介绍 转载https://www.codesocang.com/appboke/38807.html
热门源码