平常我們在文件上很常使用 PDF 作為文件的儲存格式,但遇到 Mobile App 要讀取 PDF 的時候,就會常常不知該如何完成,那就讓本篇文章來指引如何在 Xamarin.Android 中完成 PDF 文件的讀取吧!
本篇將介紹如何透過手機的 Default App 讀取 PDF,開始囉~~~
平常我們在文件上很常使用 PDF 作為文件的儲存格式,但遇到 Mobile App 要讀取 PDF 的時候,就會常常不知該如何完成,那就讓本篇文章來指引如何在 Xamarin.Android 中完成 PDF 文件的讀取吧!
本篇將介紹如何透過手機的 Default App 讀取 PDF,開始囉~~~
平常我們在 Mobile App 中常用 SQLite 來儲存 Mobile App 中的資料,但遇到為數較多的非關聯式資料要儲存的時候(如: 圖片等),就得另外作資料上的處理後才能作存取,此時就顯得有點綁手綁腳的。
後來發現了 LiteDB 這個原生利用 C# 打造的 Embedded DB,讓只要是 C# 開發的任何應用程式,都可以利用 LiteDB 來儲存資料,而 LiteDB 除了本身的 DLL 量體小、直接支援 Linq 查詢、效能快 (多種情境下都比 SQLite 快)、加密 …等好處之外,最重要的就是它從一開始打造時就是用處理 NoSQL 的 DB 架構設計的。
因此,當 Mobile App 遇到需要儲存為數較多的非關聯式資料時,用 LiteDB 來儲存就相當方便,以下我們就簡單的來看看如何在 Xamarin.Android 當中,使用 LiteDB 處理圖片儲存與讀取。
開始囉~~~
當我們在面對圖片利用各種不同的資料儲存方式存在時,就有讀取上的一些問題要解決,而在前一篇的介紹中我們已經知道若要利用 ImageView 的元件來顯示圖片時,要如何在 Android 中運用各種方式讀取所儲存的圖片檔案。
所以本篇文章繼續討論圖片存在手機裝置的相簿讓使用者選取圖片,或者圖片是在網路上可讀取的一個網路位址時,如何透過 ImageView 呈現該圖片。
開始吧!!!
由於最近越來越多人嘗試著使用 Xamarin.Forms 來開發 App,但常會在第一次編譯 Android 平台上的 App 時遇上 "Xamarin.Android.Support.XXXX" 之類的錯誤訊息,接著就卡關了。
而這個問題在2016年五月時小弟就曾經在昕力大學發表類似的解決文章: "在Xamarin.Android or Xamarin.Forms的開發過程遭遇Please install package Xamarin.Android.Support.XXXX的編譯錯誤訊息,該如何解決呢?"。在該篇文章當中有詳細討論此問題的成因與來由,所以想要詳細了解的人,可以再去閱讀此文章。
該篇文章是解說遇到問題時該怎麼解決,而且當時也只有敘述 Windows上面的解決方式,所以本篇文章是直接教導怎樣讓無論是在 Windows 或 Mac上,要使用 Xamarin.Forms 的初心者,在編譯 Android 平台上的 App 能夠避免這樣的問題發生。
由於很多 Mac 的使用者通常在很多狀況下需要有 Windows 的環境還是比較方便,所以會在 Mac 上裝 Parallels Desktop 12 for Mac 來使用的 Windows,但因為 Parallels Desktop 12 for Mac 不支援使用巢狀虛擬化技術,所以若是要在Guest 的Windows 中使用 Visual Studio 直接來開發 Xamarin.Android App 的人,就無法再使用虛擬化技術來運作各家的 Android 模擬器,所以就無法直接讓 Xamarin 所開發的 Android App 有 Android 模擬器來作為測試的執行環境。
如果是願意花錢每年訂閱 Parallels Desktop for Mac Pro / Business Edition 的使用者,就可以直接在 Parallels 的虛擬機器 "配置" 中,找到 "硬體" –> "CPU與記憶體" 的選項勾選 "啟用nested虛擬化" 技術即可,而本篇文章的作法就做為參考以備不時之需。(因為其實就算支援nested虛擬化,各位想想在虛擬化上再虛擬化的效果…還是會有差的~~)
自從 Azure Function 在 Azure 上推出了以後,再加上聽了 Dino大 在 twMVC #23 的分享後,就開始有在注意它,不過在當時工具的搭配上確實還比較弱一點。
但一直到了昨天(12/1),微軟釋出了 "Visual Studio Tools for Azure Functions" 後,那就開始不一樣了,因為我們就開始可以直接在 Visual Studio 當中寫 Azure Function 的程式,甚至可以直接在 Visual Studio 中直接針對 Azure Function 的程式進行偵錯了!!! (需要有 "Azure Functions CLI tools" 的配合)
有關於Azure Function 比較詳細的介紹,可以看看官方的 "Azure Functions 概觀" 或是 小朱大 的 "[Build 2016] Azure Function: 事件驅動式的雲端應用" 介紹。
話不多說,就直接來 Visual Studio Tools for Azure Functions 安裝與使用吧!!!
下載好開始進行安裝,請勾選同意並點選安裝。
在 Connect(); //2016 上微軟釋出了 Visual Studio 2017 RC 供大家測試使用,有興趣的朋友可以到下面的 Visual Studio 官網位址下載:
點選上方的下載,再到下方找到Visual Studio 2017 RC的安裝檔來下載。
在前述一篇的介紹當中,知道如何將Visual Studio Emulator for Android的環境切換成中文語系後,如果內建的輸入法不夠用時該怎麼辦?就按照本篇的文章來了解如何增加新的輸入法(以注音為例)。
PS 以下的展示就以(繁體)中文介面為展示畫面。
之前介紹了如何安裝Microsoft Visual Studio Emulator for Android,但緊接而來的問題是,很多App要開發時都會用到Google Play Services,但在Microsoft Visual Studio Emulator for Android的模擬器預設是沒有辦法使用Google Play Services的。
不過,這部分雖然預設沒有提供,但因為Microsoft Visual Studio Emulator for Android有提供flashable zip的安裝方式,所以我們可以安裝Google Gapps來取得Google Play Services。
延續前一篇我們已經建立好AzureAD的資訊,並且已經開通Azure AD上的一個使用者帳號後,我們要繼續開通AzureAD上給Native App連入的服務。
在Azure Portal當中開啟Azure AD的服務頁面
自從微軟CEO Satya說了"Cloud First, Mobile First"後,微軟的之後每一步都逐漸地朝這方面邁進,所以Azure上的AzureAD的不得不變成企業的對於外部的行動裝置處理身分辨識的一個重要使用。今天我們就來看看如何讓Xamarin所開發的App也能夠使用AzureAD,並且取得在AzureAD保護下的Web資料。
不過一開始,得先看看微軟的AzureAD如何去達成讓成天在企業網路環境外部跑來跑去的Mobile App,取得在AzureAD保護下的Web資料。
有空的朋友請仔細閱讀上述網址的解釋,而其中的第五點解釋會用在我們之後的程式當中。
接下來…將將~~
開始囉~~~
自從Visual Studio 2015 Update1開始,微軟就有為了Android App的開發而搭配推出Visual Studio Emulator for Android,以便在使用Visual Studio開發Android相關App的時候,不需要使用Google的Android SDK中所附的那慢得要命的Android模擬器,才不至於又讓人無緣無故怪到微軟頭上。(自己錯了還怪人!!!)
不過若要使用Visual Studio Emulator for Android的話,先決條件是你的電腦軟硬體都必須能支援Hyper-V的這個虛擬技術(註一),且另外得注意Hyper-V跟VMware or VirtualBox不能同時運行,若是你的使用環境上有需要,可以參考此連結的作法,建立兩種開機環境。
(註一)
在微軟今年的Build大會上,宣布剛併購沒多久的Xamarin這家公司的Xamarin技術,讓開發者們都可以Free使用了!!! (詳情請看此連結) 加上如果是使用Visual Studio Community來開發,相關軟體的開發成本基本上是幾乎免費的。
同時在Build大會後Visual Studio 2015 Update 2也同時釋出,所以接下來我們就來看看如何從Visual Studio 2015 Update 2的安裝過程當中,直接將Xamarin安裝起來,並開始使用!!! (以下使用Visual Studio Community 2015 Update 2的安裝作展示。)
Visual Studio Community 2015 Update 2 請到微軟Visual Studio 官網下載:
https://www.visualstudio.com/downloads/download-visual-studio-vs
下載好後,接著就開始安裝的動作了…
Microsoft HoloLens
Microsoft HoloLens 介紹影片:
https://www.youtube.com/watch?v=aThCr0PsyuA
那為什麼是偽初體驗呢?!
因為我沒有真正的HoloLens可以用…(菸
雖然HoloLens開發版已經正式在3/31開賣,但我還沒有辦法拿到真正的HoloLens,理由是…目前只有在美國地區販售,還有這個造價有點負擔不起…(跪地
可是,就在今天!!!
我們已經可以在下列網址中下載到HoloLens的Emulator了!!!
常常會遇到有人在從Android原生開發(Java)轉移到Xamarin.Android開發時,有需要將過去開發好的Android Class Library直接匯入到Xamarin.Android底下使用,讓專案可以更加快速的完成。
在昕力大學之前的Xamarin與行動開發相關文章中,有過一篇的介紹是相當類似的主題,不過Ben前輩的介紹主軸是在Xamarin Studio跟Mac上操作,要套用到Visual Studio跟Windows上時,其過程常常會讓人有點困惑,所以再透過本篇文章詳細的介紹一下其步驟,讓大家更能夠掌握其中的訣竅。
小弟正為了撰寫Xamarin.Forms的Demo App,弄好Android與iOS部分後,接著開始處理用Xamarin.Forms來撰寫Windows UAP的相關設定動作,好不容易設定好後,悲劇發生了…居然噴錯誤訊息說無法順利的將專案部署到Windows Phone模擬器當中…
之前Windows Phone的模擬器使用是最正常的啊!!!這之中到底又發生什麼事情?!
立刻打開另一個Visual Studio 2015的新視窗,再次建立一個全新Windows Phone 8.1的App專案測試看看,按下F5,還是無情的給我以下的錯誤畫面…
這是一個全新的專案,編譯完全正確,但是卻無法正確部署,查了許久的google大神都沒什麼好建議,也花時間重新修復Visual Studio 2015的安裝了,但還是無法順利解決問題…
真是令人沮喪…
不知道為什麼今天使用Visual Studio 2015搭配Xamarin快樂的撰寫Anaroid App的時候,將該Anaroid App專案編譯部屬到Visual Studio 2015所內建的Android Emulator時,該模擬器(VS Emulator 5” KitKat(4.4) XXHDPI Phone)啟動到一半,就突然在噴錯誤訊息出來,並且無法將該模擬器啟動起來。
可是切換到另外一個模擬器(VS Emulator 7” KitKat(4.4) XHDPI Tablet)就可以正常啟動…
而該錯誤大致上是寫著:
"無法變更Kitkat(4.4) XXHDPI Phone虛擬機器的顯示控制器設定…XXX"
之類的訊息…
有時候Xamarin安裝時發生一些有的沒有的問題,會導致Xamarin安裝不完全,而在使用Xamarin時,就時常發生一些莫知名的詭異問題。
這個時候若把Xamarin整個從開發環境當中完全移除後,再裝一次,可能會是比較迅速的解決方式。
但是在Mac的環境上要如何完整移除Xamarin呢?!
在Xamarin的官網上,確實有一篇Uninstalling Xamarin的教學,但是在移除時又會遇到一些移除時的詭異問題,所以小弟在此寫下這篇文章,來記錄這些詭異問題如何解決。
以下就是相關步驟,各位看倌,讓我們開始吧!!!