Hello, Android 快速入门
Hello, Android
Android 開發(fā)與 Xamarin 簡介
?
在這兩節(jié)指南中,我們將 (使用 Xamarin?Studio或 Visual Studio)建立我們的第一個 Xamarin.Android 應(yīng)用程序 并理解使用Xamarin?開發(fā)Android 應(yīng)用程序的基本原理的。在這個系列,我們將介紹有關(guān)工具的使用、 Android開發(fā)相關(guān)的概念、構(gòu)建和部署 Xamarin.Android 的應(yīng)用程序所需的步驟。
Hello, Android 快速入門
在本演練中,我們要創(chuàng)建一個將字母和數(shù)字轉(zhuǎn)換成電話號碼的應(yīng)用程序,由用戶輸入包含字母和數(shù)字的電話號碼,然后將用戶輸入內(nèi)容轉(zhuǎn)換為電話號碼,并撥打電話。最終的應(yīng)用程序看起來像這樣 ︰
讓我們開始吧 !
要求
Xamarin.Android 適用于以下任何設(shè)置 ︰
- OS X Yosemite 上最新版本的??Xamarin Studio?及以上
- Windows 7 上最新版本的 Xamarin?Studio?及以上。
- Windows 7 和上述 Visual Studio 2012 專業(yè)版或更高。
本演練假定 你已經(jīng)安裝了最新版的Xamarin.Android。安裝 Xamarin.Android 的指南,請參閱Xamarin.Android 安裝指南。在我們開始之前,請下載并解壓縮Xamarin 應(yīng)用程序圖標(biāo)和啟動屏幕設(shè)置。
配置模擬器
Android 有模擬器的幾個選項。標(biāo)準(zhǔn)的 Android 模擬器的設(shè)置最簡單,但跑得慢。Xamarin 建議你使用高性能Xamarin 安卓高清播放器。如果您不使用 Xamarin 安卓高清播放器,您應(yīng)該配置仿真程序使用硬件加速。配置硬件加速的說明是在加速 Android 模擬器指南 》 中提供的。
演練
(IOS系統(tǒng)的解說跳過,需要的請瀏覽官網(wǎng))
讓我們來啟動 Visual Studio ︰
單擊開始 > 新項目創(chuàng)建一個新的項目 ︰
在新建項目對話框中,單擊Visual C# > Android,選擇空白的應(yīng)用程序 (Android)模板。我們將新項目命名為Phoneword。單擊確定以創(chuàng)建新的項目 ︰
創(chuàng)建新項目后,讓我們展開解決方案資源管理器下的Resources?文件夾和layout文件夾,然后雙擊Main.axml文件,這個文件將會在 Android 設(shè)計器中打開。這是我們的屏幕的布局文件 ︰
在設(shè)計界面選擇Hello,World,?Click Me! 按下Delete鍵刪除它。在工具箱(右側(cè)的區(qū)域)的搜索字段中輸入text并將 Text (Large) 部件拖到設(shè)計界面(在中心區(qū)域) ︰
?
?
修改Text(Large)控件的Text屬性為Enter a Phoneword:
如下圖所示 ︰
接下來,讓我們從工具箱拖一個?Plain Text?部件動到設(shè)計界面,并將其放置在Text(Large)控件下面。注意,我們可以使用搜索字段來幫助定位窗體部件的名稱 ︰
?
修改Plain Text控件的id屬性為@+id/PhoneNumberText,text屬性更改為1-855-XAMARIN:
從工具箱一個按鈕從拖動到設(shè)計界面,把它放在純文本小部件下面 ︰
更改該按鈕的Id屬性為@+id/TranslateButton,Text屬性更改為Translate:
接下來,從工具箱拖動第二個按鈕到Translate按鈕下 ︰
在設(shè)計界面上選擇該按鈕,更改它的Id屬性為@+id/CallButton,Text屬性更改為Call:
按Ctrl+s報存。
?
現(xiàn)在,讓我們添加一些代碼來實現(xiàn)將字母和數(shù)字翻譯為純數(shù)字電話號碼的功能。我們會添加新文件到項目,在旁邊的解決方案中右鍵點擊Phoneword項目,然后選擇添加 > 新文件...:
在添加新項對話框中,選擇Visual C# > 代碼 將新添加的代碼文件進行命名為PhoneTranslator.cs:
我們創(chuàng)建了一個空的?C# 類。將PhoneTranslator.cs的代碼替換為下面的代碼 ︰
按CTRL+S保存,然后關(guān)閉該文件。確保重新生成解決方案時沒有編譯時錯誤。
接下來我們要添加用戶界面上的代碼。將下面的代碼添加到MainActivity類。在解決方案資源管理器雙擊MainActivity.cs將其打開 ︰
我們開始處理翻譯按鈕。在MainActivity類中,找到OnCreate方法。我們將在OnCreate方法里的最后一行添加代碼。刪除模板生成的按鈕處理代碼,按照下面的代碼修改OnCreate方法 ︰
using System; using Android.App; using Android.Content; using Android.Runtime; using Android.Views; using Android.Widget; using Android.OS;namespace Phoneword {[Activity (Label = "Phoneword", 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 設(shè)計器中添加的那些控件的引用。
在OnCreate方法中的?
SetContentView (Resource.Layout.Main);?這句代碼后面添加如下代碼 ︰
// 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);現(xiàn)在讓我們添加響應(yīng)用觸摸TranslateButton按鈕時的代碼。將下面的代碼添加到OnCreate方法 (我們在最后一步中添加的那行后面) ︰
// 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 numerictranslatedNumber = Core.PhonewordTranslator.ToNumber(phoneNumberText.Text);if (String.IsNullOrWhiteSpace(translatedNumber)){callButton.Text = "Call";callButton.Enabled = false;}else{callButton.Text = "Call " + translatedNumber;callButton.Enabled = true;} };接下來讓我們添加響應(yīng)用戶按Call按鈕時的代碼。我們將下面的代碼?TranslateButton的后面 ︰
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 phonevar 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(); };最后,讓我們給我們的應(yīng)用程序添加撥打電話的權(quán)限。我們可以在Android Manifest界面編輯應(yīng)用程序權(quán)限。在解決方案資源管理器中雙擊Phoneword?下的Properties進入屬性頁,然后選擇Android 清單頁面 ︰
添加所需的權(quán)限,我們這里只用到了打電話的權(quán)限,只勾選CALL_PHONE權(quán)限 就可以︰
保存并生成解決方案,我們會在 Visual Studio 的左下角看到一條成功消息 ︰
如果有錯誤,我們可以通過前面的步驟,改正錯誤,直到應(yīng)用程序生成成功。如果你在生成項目時碰到了像?資源在當(dāng)前上下文中不存在?錯誤,請確認MainActivity.cs中的命名空間名稱與項目名稱 (Phoneword)是否一致,然后重新生成解決方案。如果仍然會生成錯誤,請驗證您已經(jīng)安裝了最新的 Xamarin.Android 更新。
我們現(xiàn)在有一個工作應(yīng)用程序 — — 到了最后的潤色的時間 !讓我們開始為我們的MainActivity編輯Label。Label顯示在安卓系統(tǒng)屏幕的頂部,目的是為了讓用戶知道他們現(xiàn)在正在使用哪個應(yīng)用。在MainActivity類的頂部,更改Label的值為Phone Word就像下面這樣?︰
namespace Phoneword {[Activity (Label = "Phone Word", MainLauncher = true)]public class MainActivity : Activity{...} }接下來,讓我們設(shè)置的應(yīng)用程序圖標(biāo)。首先,下載并解壓的Xamarin 應(yīng)用程序圖標(biāo)設(shè)置。下一步,打開Resources文件夾下的drawable文件夾刪除里面的Icon.png文件:
當(dāng)顯示下面的對話框時,單擊確定:
接下來,讓我們用鼠標(biāo)右鍵單擊drawable文件夾并選擇添加 > 現(xiàn)有項目...:
從選擇我們已經(jīng)解壓縮后的 Xamarin 應(yīng)用程序圖標(biāo)目錄并打開drawable文件夾。選擇Icon.png?,并單擊添加:
接下來,讓我們添加其余的 Xamarin 應(yīng)用程序圖標(biāo)drawable-*?文件夾到項目里。這些文件夾提供不同分辨率的圖標(biāo),它可以適應(yīng)不同設(shè)備上的不同分辨率。在文件資源管理器窗口中,定位到解壓縮后的 Xamarin 應(yīng)用程序圖標(biāo)目錄并選擇drawable-*文件夾 ︰
將這些文件夾拖到 Visual Studio解決方案資源管理器窗格中的資源文件夾中。這些文件夾現(xiàn)在屬于您的項目的一部分了,如圖 ︰
接下來,讓我們在 Android?Manifest?中指定應(yīng)用程序圖標(biāo),通過從應(yīng)用程序圖標(biāo)下拉菜單中選擇@drawable/Icon?:
最后,我們可以通過將它部署到模擬器來測試我們的應(yīng)用程序。如果尚未配置仿真程序,請參閱安裝說明Xamarin 安卓高清播放器。如果您使用谷歌安卓系統(tǒng)仿真器,請參閱加速 Android 模擬器提高仿真性能的提示。
<譯者注>如果按這里的教程不能運行安卓模擬器的話,聽我的,別糾結(jié),拿起你的手機,進入開發(fā)者,打開usb調(diào)試,插上usb 連接到電腦,然后點擊啟動就可以在真機上調(diào)試了。或者使用微軟的安卓模擬器。怎么啟動微軟的安卓模擬器就不講了。啟動后在模擬器的無線=》高級屬性中 找出模擬器的ip地址,點擊下圖中紅框的地方 打開Android Adb Command ,運行命令: 【adb connect 192.168.xx.xx(你要連接的模擬器的ip地址)】 端口號可以省略,下面是這個命令的幫助。
connect?<host>[:<port>]???????-?connect?to?a?device?via?TCP/IP?
讓我們打開 Xamarin 安卓高清播放器設(shè)備管理器中,通過單擊工具欄中的圖標(biāo)管理虛擬設(shè)備 (XAP) :
在 Xamarin 安卓高清播放器設(shè)備管理器中,讓我們下載、 安裝,并啟動Nexus?5 (Kitkat) (Android 4.4.2 API 級別 19) 虛擬設(shè)備 ︰
我們將我們的應(yīng)用程序發(fā)送到這個模擬器之前,讓我們來配置應(yīng)用程序運行需要的最低?Android 版本,它將在我們選定的虛擬設(shè)備上運行。在 Visual Studio 中打開應(yīng)用程序頁的屬性。Minimum Android to target:︰選擇 API 級別 19 (有關(guān) Android API 級別的詳細信息,請參閱了解 Android API 級別).
接下來,讓我們點擊工具欄上的下拉菜單將我們的應(yīng)用程序部署到Nexus 5 (Kitkat)設(shè)備上如下所示 ︰
在安裝和啟動我們的應(yīng)用程序之前,Visual Studio 會將文件復(fù)制到此仿真程序。
下面的截圖說明Phoneword應(yīng)用程序已經(jīng)在?Xamarin Android Player中運行了。Phone Word?標(biāo)簽前面顯示的圖標(biāo)就是我們在MainActivity中配置的圖標(biāo)。單擊Translate?按鈕,將會更改Call按鈕的文本。這時點擊Call按鈕將會彈出撥打電話的對話框。如下圖所示?︰
祝賀您完成您第一次的 Xamarin.Android 應(yīng)用程序 !現(xiàn)在到了剖析技術(shù)的時候了,我們將在你好,Android 的深入中進行講解.
轉(zhuǎn)載于:https://www.cnblogs.com/xdq-zh/p/5538527.html
總結(jié)
以上是生活随笔為你收集整理的Hello, Android 快速入门的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: VS2015 中使用 MVC4
- 下一篇: Android之sqlite的使用 (转