開始mono開發

使用mono框架開發android程序,第一步固然是構建開發環境,嚴格意義上說是使用 mono for android開發android程序。html

參考Mono for Android安裝配置破解  mono for android官網上有一個一鍵安裝包,可是安裝不是很方便。node

整個環境涉及到不少組件,像搭建lamp環境同樣,這些均可以本身安裝完成。由於剛開始都涉及到破解版本問題,因此建議你們單個安裝。 組件的功能須要搞清楚,有些仍是很容易混淆的。android

mono是一個開源項目,而mono for android是一個運行時和開發堆棧。web

Android環境shell

主要是JDK,AndroidSDK相關,若是不熟悉 能夠參考這篇文章 體驗phonegap3.0windows

Mono Windows運行時 服務器

windows下使用mono環境 須要一個MONO 在windows下的運行時架構

針對vs的mono開發工具是做爲一個插件添加到vs的工具。app

Xamarin IDE框架

mono有單獨的開發工具MonoDevelop  官網,可是Xamarin提供的IDE名字叫XamarinStudio,其實是MonoStudio4.0後改的名字。Xamarin Studio 下載地址 

模擬器

在IDE中開發應用須要藉助設備,設備分模擬設備和真機。使用模擬器調試的整個過程就是把程序安裝到模擬中,運行程序,在運行的過程當中調試。根據個人測試,當那你的程序發生改變時, IDE會自動部署 安裝,app到設備上,若是以前存在的安裝,會先卸載。

 在Android環境中, adb.exe 工具用於直接操做管理android模擬器或者真實的andriod設備(手機).全稱Android Debug Bridge

它的主要功能有:

* 運行設備的shell(命令行)

* 管理模擬器或設備的端口映射

* 計算機和設備之間上傳/下載文件

* 將本地apk軟件安裝至模擬器或android設備

須要注意的是Mono環境安裝不順利,好多問題是由於android sdk安裝有問題,好比環境變量設置不正確,版本不一致,安裝不完整等。

而對於adb,最新的SDK內部有一個調整 The adb tool has moved to platform-tools from tools directory

ADB是一個客戶端-服務器端程序, 其中客戶端是你用來操做的電腦, 服務器端是android設備..

先說安裝方法, 電腦上須要安裝客戶端. 客戶端包含在sdk. 設備上不須要安裝, 只須要在手機上打開選項設置-應用程序-USB調試(4.0:設備-開發人員選項)

adb 有各個系統的版本的,Liunx,Mac,Windows,根據你本身的操做系統來選擇要下載的Android SDK就可使用adb命令了.

adb工具中比較實用的幾個命令

查看設備 adb devices

在設備管理中創建虛擬設備後,經過 adb devices查看當前鏈接的設備, 鏈接到計算機的android設備或者模擬器將會列出顯示

啓動和關閉 adb

adb start-server

adb kill-server

遇到的問題:

模擬器

1 使用編譯器時遇到一個問題,對於模擬器設備,設備列表里老是沒有設備

新建並刷新也不會有。以後我安裝了BlueStacks,顯示有所變化,BlueStacks是一個很好用的模擬器調試工具,稍後我會寫一篇博文專門記錄。

其實設備列表裏有沒有設備無所謂了,點開新建虛擬設備,你新建過的設備都會列在那裏,直接選擇啓動便可

應用部署

應用安裝到模擬器出現錯誤

Deployment failed. FastDev directory creation failed.

解決方法:

以下圖,關閉fast deloyment

 

 Mono架構支持設置

編譯部署提示架構不支持相關的錯誤,能夠嘗試從如下幾個方面解決

 Android 工程設置 支持多個平臺

 

 爲何會出現架構支持的問題,由於android須要匹配不一樣架構的cpu,在新建虛擬設備時,以下圖 你能夠觀察到每一個虛擬設備所支持的平臺。

其實AndroidSdk 中提供了專門針對平臺的包,能夠按需求下載。

 ListView 內置視圖不出現

問題:沒有顯示系統默認的ListView 內置資源視圖

對於繼承ListActivity 的Activity,使用ListView顯示數據,能夠利用默認的Androidn內置資源Android.Resource.Layout.SimpleListItem1佈局視圖,起初我根本找不到這個引用,最後發現是項目的命名空間是 Mono.Android,這會形成Android的命名空間衝突,默認的內置資源都不會出現

string[] items = { };
        protected override void OnCreate (Bundle bundle)
        {
            base.OnCreate (bundle);

            try {
                base.OnCreate (bundle);
                items = new string[]{ "1", "2", "3", "4" };        
                this.ListAdapter = new ArrayAdapter<string> (this, Android.Resource.Layout.SimpleListItem1, items);

            } catch (Exception ex) {
                Toast.MakeText (this, "發生異常:"+ex.Message,ToastLength.Long).Show ();
            
            };
        }

 

 

參考

Mono for Android 4.2.5

http://www.51mono.com/

mono環境官方網站下載地址

MVVM開發模式

ADB命令詳解

Xamarin Mono For Android 4.10.01068

相關文章
相關標籤/搜索