日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > C# >内容正文

C#

Visual Studio + C# + Xamarin = iOS/Android/Windows Apps

發(fā)布時間:2023/12/19 C# 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Visual Studio + C# + Xamarin = iOS/Android/Windows Apps 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Visual Studio 跨平臺開發(fā)實戰(zhàn) (1) -- Hello Xamarin!

?

前言

應(yīng)用程式發(fā)展的腳步,從來沒有停過。從早期的 Windows 應(yīng)用程式, 到網(wǎng)路時代的 web 應(yīng)用程式,再到近幾年相當(dāng)盛行的行動裝置應(yīng)用程式 (Mobile Application),身為 C# 的開發(fā)人員與 Visual Studio 的使用者,除了開發(fā) Windows Phone 與 Windows Store App 外,如果能夠讓你使用 C# 及 Visual Studio 熟悉的開發(fā)環(huán)境來開發(fā) iOS 及 Android 的 app,是否能再度喚醒你的開發(fā)魂?Xamarin 正是為了這樣的需求而生的 framework。

Xamarin 簡介

Xamarin 是由早期的 Mono 專案演變而來,原本是在 Linux 上執(zhí)行 C# 程式的一個開放原始碼專案。後來陸續(xù)發(fā)表支援 iOS 的 Mono Touch framework 以及 Mono For Android Framework。因此它在市場上並不是一個新的產(chǎn)品。2011 年,原本在 Novell 的 Mono 專案團隊獨立成立一家公司,正式將名稱改為 Xamarin,此為 Xamarin 的由來。Xamarin 具有以下特點:

  • 快速建立原生 (Native) 的行動裝置應(yīng)用程式?- 透過 C# 親和且功能齊全的語言特性,搭配 .NET Framework 的 Base Class Library(BCL) 的便利性。讓開發(fā)人員能以最高的生產(chǎn)力開發(fā)行動裝置應(yīng)用程式。目前 Mono 支援 C# 5.0 的語言規(guī)範(fàn),這意味著開發(fā)人員可以用您熟悉的 Lambda Expression,LINQ 甚至是 Async/Await 的非同步處理。

  • 程式碼共用?- 現(xiàn)行由 Objective-C 所開發(fā)的 iOS 應(yīng)用程式以及由 Java 所開發(fā)的 Android 應(yīng)用程式,無法達到程式碼共用。Xamarin 則是採用 C# 撰寫,因此透過良好的設(shè)計,可以在不同平臺間共用商業(yè)邏輯以及資料存取等程式,毋需重新撰寫。除了省下重新撰寫的時間成本外,對於版本維護及一致性也有相當(dāng)大的助益。

  • 與 Visual Studio 整合?– Xamarin 提供了 Visual Studio 2010 / 2012 的 plug - in,讓原本就熟悉 Visual Studio 的開發(fā)者不用再熟悉其他的開發(fā)工具。在建立專案時,可以直接建立 iOS 及 Android 的專案範(fàn)本。當(dāng)然,開發(fā)團隊也可以將 iOS 及 Android 的程式碼納入到 ALM,使用 Team Foundation Server 進行版本及建置的管理。

  • 確保第一時間更新?– Xamarin 對於 iOS 及 Android 的版本更新不遺餘力,在 iOS SDK 5.0,6.0 以及 6.1,都與 Apple 在同一天發(fā)表對應(yīng)的 Framework 版本,7.0 也承諾會在同一天發(fā)表。而 Android 方面,Xamarin 甚至將 Android 的原始碼,從原本的 Java 改由 C# 重新撰寫,而且效能也得到大幅的提升。

  • 原生的應(yīng)用程式效能?– Xamarin 針對 iOS 及 Android 平臺開發(fā)編譯器。將 C# 程式碼直接編譯成 ARM CPU 的機器碼。因此效能將與原生模式開發(fā)的應(yīng)用程式相比,沒有不同。而在 Android 系統(tǒng)上,由於 Xamarin 不使用 Android 的 Dalvik 虛擬機器,改為採用 CLR,經(jīng)測試其效能更甚於原生的應(yīng)用程式。

相關(guān)文章

  • Hello Xamarin
  • iOS 基本控制項介紹
  • iOS 多頁面應(yīng)用程式開發(fā)
  • Android 基本控制項介紹
  • Android 多頁面應(yīng)用程式開發(fā)

系統(tǒng)需求

  • iOS:由於 Apple 限制 iOS 應(yīng)用程式編譯都需要透過 Xcode,因此需要 1 臺 MAC 的機器作為 Build Host:

    • Windows 7 或更新的作業(yè)系統(tǒng)版本
    • Visual Studio 2010 / 2012
    • OS X Lion 或更新的作業(yè)系統(tǒng)版本
    • Xcode IDE 以及 iOS SDK
  • Android:對於 Android 開發(fā),則可以完全在 Windows 上進行。其系統(tǒng)需求如下:

    • Windows 7 或更新的作業(yè)系統(tǒng)版本
    • Java SDK
    • Android SDK
    • Xamarin、Android for Visual Studio

安裝 Xamarin

無論是在 Windows 或是 MAC 上安裝 Xamarin 都相當(dāng)簡單,只要在?http://xamarin.com?/ download 上填入名稱及 Email 帳號,便可以進行下載。而只要依照安裝精靈點選下一步,就可以將 Android SDK 等相關(guān)元件裝好。

Windows 版安裝晝面:
MAC 版安裝晝面:

Xamarin 是一個商業(yè)的 Framework,但您可以完整試用 30 天,或是使用免費版本。但免費版本限制開發(fā)人員編譯後的 IL code 大小不能超過 32 K,且無法使用 Visual Studio 進行開發(fā) ( 只能使用 Xamarin 提供的 Xamarin Studio )。

安裝好 Xamarin 之後,需要註冊一個 Xamarin 帳號進行啟動。

  • 開啟 Visual Studio,點選工具 -- Xamarin Account
  • 若先前已經(jīng)註冊過 Xamarin 帳號 ( 請注意,Xamarin 帳號與先前下載所填的 Email 不同),請直接輸入帳號密碼登入,若您是第一次使用,請申請新的 Xamarin 帳號。

    登入後便可以開始開發(fā) Android 及 iOS 應(yīng)用程式囉!
  • 使用 Visual Studio 開發(fā) Android HelloWorld!

    使用 Xamarin 開發(fā) Android 應(yīng)用程式可說是相當(dāng)?shù)姆奖?#xff0c;不僅支援在 Visual Studio 中使用拖曳的方式設(shè)計使用者介面,還整合如 AVD 及 SDK Manager 等工具。廢話不多說,開始我們在 Visual Studio 上的第 1 支 Android 程式吧 ~

  • 在 Visual Studio 中新增專案,在專案範(fàn)本中,請展開 C# 節(jié)點,你會發(fā)現(xiàn)專案範(fàn)本會多出 Android 及 iOS 類型的專案範(fàn)本,我們在這個範(fàn)例中選擇 " Android Application ",並在名稱中輸入 " HelloDroid " ( 當(dāng)然您可以改成任何您想要的名稱 )
  • 專案建立後,您會發(fā)現(xiàn)工具列中多出幾個項目:

    說明如下 ( 由左至右 ):
    • 目標(biāo)裝置:可以選擇將目前的專案部署到哪一個裝置,預(yù)設(shè)的 " Prompt for Device " 則是會在開始除錯/部署時,彈出視窗供使用者選擇。若有接上實體裝置,也會出現(xiàn)在此選單中。
    • 裝置記錄:可以挑選裝置並顯示目前裝置的活動記錄。
    • 開啟 Android 虛擬裝置管理員 (AVD),透過此管理員,您可以新增,開啟或編輯 Android 模擬器。
    • Android SDK 管理員:由於 Android 版本 (API Level) 眾多,您可以在這個管理介面,安裝所需的 SDK 版本及元件。
  • 預(yù)設(shè)的專案中會內(nèi)建一個 Button 控制項並寫著 " Hello World,Click Me ",開啟專案下的 Resources -- Layout -- Main.axml 可以進行頁面的設(shè)計。
  • 而此範(fàn)例的主要程式碼則是 Activity1.cs,直接透過下圖的註解來說明:

    看到這樣的程式碼,我想大家應(yīng)該都不會感到陌生。筆者有一些學(xué)員跟我說,感覺跟開發(fā) Windows Form 應(yīng)用程式好像 ~~ Activity1.cs 相當(dāng)於 MVC 分層的 Controller。透過 SetContentView 方法,告訴系統(tǒng)要載入哪一個頁面。接著透過 FindViewById 方法取得畫面上按鈕的物件實體。接著便可以針對按鈕的屬性或方法撰寫相關(guān)的程式碼,或是處理按鈕的事件。如上圖所示,預(yù)設(shè)的範(fàn)例是使用匿名方法,我們將它註解後,改用 Lambda Expression 來撰寫。
  • 接著按下 F5,便可以開始進行除錯,若沒有預(yù)先開啟 Android 模擬器,則 Running devices 列表會是空的,這時可以點擊下方的 " Start emulator image " 連結(jié)來啟動模擬器。
  • 執(zhí)行結(jié)果如下:

    是不是相當(dāng)簡單呢? 接下來我們來開始 iOS 的 Hello World。
  • 使用 Visual Studio 開發(fā) iOS HelloWorld!

    與開發(fā) Android 不同,目前 Xamarin 尚未支援在 Visual Studio 中設(shè)計應(yīng)用程式頁面,但官方表示目前已在研發(fā)當(dāng)中,並會在不久之後的版本提供此功能。因此目前 iOS 專案的 UI 設(shè)計必須透過 MAC 的 Interface Builder ( XCode 的一部份 ),或是直接在程式中宣告控制項的位置及大小,Visual Studio 中的 HelloWorld Application 便是使用此方法。

  • 在 Visual Studio 中新增專案,在專案範(fàn)本中選擇 iOS 下的 iPhone,並在右邊的範(fàn)本中選擇 HelloWorld Application,接著指定專案名稱 ( 此處為 HelloIOS )
  • 第一次開啟 iOS 專案時,Xamarin 會提示使用者只有在商業(yè)版或更高的版本才能在 Visual Studio 中開發(fā) iOS 專案。

    接著 Xamarin 便會自動啟用試用版本的授權(quán),啟動完畢後,會提示使用者 Visual Studio 將會重新啟動。

    若您 MAC 上的 Xamarin 授權(quán)尚未啟動,將會看到系統(tǒng)提示,說明 Build Server ( 也就是 MAC ) 尚未啟用授權(quán)。此時按下 Activate 按鈕可能沒有作用,請依照下面的步驟,在 MAC 上啟用 Xamarin 授權(quán)。
  • 由於 Xamarin 在 MAC 上預(yù)設(shè)是以免費版本開啟。因此可以透過以下方法強制啟用 Xamarin 試用授權(quán)。首先在 MAC 的 Finder 開啟 Xamarin Studio

    新增一個專案,選擇 iPhone -- Single View Application。專案建立後,點擊功能表中的專案 -- Profile - Mono

    此時會看到授權(quán)啟用的畫面。當(dāng)完成啟用後,我們就可以回到 Visual Studio 來指定我們的 Build Host。
  • 在 Visual Studio 的工具 -- 選項中,可以看到多出了一個 Xamarin 節(jié)點,點擊 Xamarin 下的 iOS Settings,在右邊可以指定 Mac Build Host。您可以直接輸入 MAC 的電腦名稱或 IP 位址,或按下 Configure 進行設(shè)定。

    在設(shè)定視窗中,Xamarin 會搜尋同一網(wǎng)段中已安裝並啟用 Xamarin 的 MAC 機器。若狀態(tài)顯示為 "Ready",請按下 Connect 進行連線。

    若狀態(tài)不是 "Ready",可以按下 Diagnose 按鈕進行連線診斷。如下圖所示,若某一個或多個項目無法通過連線診斷,則會出現(xiàn) failed,您可以展開 failed 的項目了解失敗的原因。
  • 請在組態(tài)管理中,將平臺設(shè)定為 iPhoneSimulator,預(yù)設(shè)為部署至實體機器,但這需要向 Apple 申請付費的開發(fā)者帳號。

    接著在工具列中,可以選擇 iOS 模擬器的版本,右邊綠色打勾的符號表示已與 MAC Build Host 的連線正常,若是反灰的狀態(tài),請按一下右邊的 圖示重新與指定的 Build Host 連線。
  • 開啟專案中的 MyViewConrtoller.cs 檔。在此範(fàn)例中,同樣是在畫面中間放置一個 Button 控制項 ( 在 iOS 中的類別名稱為 UIButton ) 並顯示點擊的次數(shù)。由於我們是在程式中產(chǎn)生控制項,因此有部份程式碼是在宣告物件的佈局屬性,請參考下圖中程式碼的註解:
  • 接下來才是範(fàn)例程式的重點,若您是在 XCode 中設(shè)計好 UI,則可以取代上面的程式。

    如同先前 Android 的 HelloWorld,在 iOS 中,按鈕的點擊事件不叫 Click,而是 TouchUpInside,因此我們透過此事件的處理,在使用者點擊了按鈕後,改變按鈕的顯示文字 ( 使用 UIButton 的 SetTitle 方法 )。最後將 Button 控制項透過 View.AddSubview 方法加入到畫面當(dāng)中。

    執(zhí)行結(jié)果如下:
  • 跨平臺開發(fā)簡介

    作為一個跨平臺的解決方案,使用 Visual Studio 搭配 Xamarin 開發(fā)行動裝置應(yīng)用程式具有以下特色:

      • 可以在同一個方案中包含所有平臺的專案:包括 Windows Phone,Windows 8 Store App,iOS 以及 Android。如下圖所示:
      • 程式碼共享:在設(shè)計時,將與平臺無關(guān)的商業(yè)邏輯、服務(wù)存取、資料存取以及資料層從介面抽離出來,如下圖所示:

        底下說明如何才能達成上述的專案整合以及程式碼共用,首先來看看架構(gòu)示意圖:

        從上述的示意圖,我們可以看到,左半邊是可以抽離出來的共用程式碼,這部份將獨立成一個專案,並只加入常用的組件 ( 如 Base Class Library ),若有部份程式碼使用到與平臺相關(guān)的組件或技術(shù),可以在程式碼中加入?條件式編譯的指示詞,供各平臺直接使用,不需要進行修改。

        而在各平臺的專案中,可以透過檔案連結(jié)的方式,將共用程式碼的部份連結(jié)到各平臺專案。但由於目前 Visual Studio 並沒有提供可以同時設(shè)定多個檔案或整個資料夾連結(jié)的方式,因此若每個檔案都要手動連結(jié),其實是較不實際的。而且日後共用程式碼專案若有檔案的異動,如新增或刪除。各平臺專案並不會同步更新。此時我們可以透過 1 個叫做 " Project Linker 2012 " 的擴充功能進行協(xié)助 ( 它也有對應(yīng) Visual Studio 2010 的版本 )。

        安裝好 Project Linker 後,我們便可以在各平臺專案點擊滑鼠右鍵 -- Add project link

        接著選擇來源專案,之後便會為來源專案的每個資料夾及檔案進行連結(jié)。

        連結(jié)的檔案在 Visual Studio 中都會有個藍(lán)色箭頭的圖示

        透過上述的設(shè)定後,便可以在各平臺專案共用程式碼。在開發(fā)平臺專案時,只要針對使用者介面以及針對控制項的操作撰寫程式即可。對於商業(yè)邏輯,資料存取的部份則可以在各平臺共用,這是使用原生的開發(fā)方式 ( Objective - C,Java ) 所無法達到的。實際執(zhí)行結(jié)果如下:

    轉(zhuǎn)載于:https://www.cnblogs.com/lykbk/p/drgrtrrtrtt45646546546.html

    總結(jié)

    以上是生活随笔為你收集整理的Visual Studio + C# + Xamarin = iOS/Android/Windows Apps的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 国产乱子伦精品视频 | 性生活毛片 | 亚洲一区二区精品在线观看 | 曰本毛片 | 日韩一级片视频 | 插插插91| 天天色天天草 | 欧美人与物videos另类 | 免费在线播放av | 黄色1级视频 | 最新欧美日韩 | 免费的污网站 | 毛片福利 | 日批网址 | 在线香蕉视频 | 在线免费观看小视频 | 污黄网站在线观看 | 国产精品久久欧美久久一区 | av白浆| 美日韩久久 | 93看片淫黄大片一级 | 性欧美丰满熟妇xxxx性久久久 | 国产精品成人国产乱一区 | 国产青青视频 | 特级西西444www高清大胆免费看 | 日本在线色 | 狠狠婷 | 好吊视频一区二区三区 | 亚洲黄色自拍 | 成人av中文解说水果派 | 亚洲不卡影院 | 国产精品无码内射 | 亚洲欧洲日本精品 | 国产成人精品无码免费看夜聊软件 | 亚洲天堂五码 | 日日夜夜中文字幕 | 亚洲一区动漫 | 亚洲国产一二三 | 亚洲一区小说 | 永久在线| 日韩欧美一区二区视频 | 一区二区精品久久 | 国产色爱| 日韩中文字幕精品视频 | 黄色录像三级 | www一级片| 日韩中文字幕免费在线观看 | 亚洲熟区 | 中日黄色片 | 69久人妻无码精品一区 | 国内自拍99 | av中字| av免费观看大全 | www视频免费观看 | 色噜噜狠狠一区二区三区牛牛影视 | 毛片麻豆 | 李宗瑞91在线正在播放 | 一级片视频免费看 | 琪琪久久 | 免费欧美一级片 | 国产原创在线观看 | 最近中文字幕在线中文高清版 | yy77777丰满少妇影院 | 欲色av | 精品少妇人妻av一区二区 | 最新国产三级 | 国产综合内射日韩久 | www.嫩草.com | 国产乱人乱偷精品视频a人人澡 | 日本va在线观看 | 国产av第一区 | 国产欧美日韩专区发布 | 一区二区色| 在线精品一区二区三区 | 无码人妻少妇伦在线电影 | 精品黑人一区二区三区在线观看 | ass精品国模裸体pics | 国产成人精品一区二区三区在线观看 | 久久久wwww| 免费一级全黄少妇性色生活片 | 国产野外作爱视频播放 | 殴美一级视频 | 亚洲影视一区二区三区 | 久久久成人精品一区二区三区 | 国产卡一卡二卡三无线乱码新区 | 亚洲五十路| 欧美亚洲综合网 | 亚洲美女精品 | 日本免费高清一区二区 | 免费av观看网址 | 亚洲视频在线看 | 2021国产精品| 成人一区二区三区视频 | 妞妞影视| 性xxxxxxxxx| 国产精品久久久久久妇女6080 | 欧美在线中文字幕 | 中国女人毛片 | 国产一级片网站 |