顯示具有 Android 標籤的文章。 顯示所有文章
顯示具有 Android 標籤的文章。 顯示所有文章

2017年2月28日 星期二

在 Xamarin.Android 當中讀取 PDF 資料…I

 

document-428331_1920

 

平常我們在文件上很常使用 PDF 作為文件的儲存格式,但遇到 Mobile App 要讀取 PDF 的時候,就會常常不知該如何完成,那就讓本篇文章來指引如何在 Xamarin.Android 中完成 PDF 文件的讀取吧!

 

本篇將介紹如何透過手機的 Default App 讀取 PDF,開始囉~~~

 

2017年2月22日 星期三

在 Xamarin.Android 當中使用 LiteDB 處理 NoSQL 資料…

 

1

 

平常我們在 Mobile App 中常用 SQLite 來儲存 Mobile App 中的資料,但遇到為數較多的非關聯式資料要儲存的時候(如: 圖片等),就得另外作資料上的處理後才能作存取,此時就顯得有點綁手綁腳的。

後來發現了 LiteDB 這個原生利用 C# 打造的 Embedded DB,讓只要是 C# 開發的任何應用程式,都可以利用 LiteDB 來儲存資料,而 LiteDB 除了本身的 DLL 量體小、直接支援 Linq 查詢、效能快 (多種情境下都比 SQLite 快)、加密 …等好處之外,最重要的就是它從一開始打造時就是用處理 NoSQL 的 DB 架構設計的。

因此,當 Mobile App 遇到需要儲存為數較多的非關聯式資料時,用 LiteDB 來儲存就相當方便,以下我們就簡單的來看看如何在 Xamarin.Android 當中,使用 LiteDB 處理圖片儲存與讀取。

開始囉~~~

 

2017年1月31日 星期二

在 Xamarin.Android 當中讀取圖片來顯示的方法…II


當我們在面對圖片利用各種不同的資料儲存方式存在時,就有讀取上的一些問題要解決,而在前一篇的介紹中我們已經知道若要利用 ImageView 的元件來顯示圖片時,要如何在 Android 中運用各種方式讀取所儲存的圖片檔案。

所以本篇文章繼續討論圖片存在手機裝置的相簿讓使用者選取圖片,或者圖片是在網路上可讀取的一個網路位址時,如何透過 ImageView 呈現該圖片。

開始吧!!!

 

在 Xamarin.Android 當中讀取圖片來顯示的方法…I

 

細數一下 Android 本身設計資料儲存的方式,就會發現有相當多種使用的方式,所以當我們在面對圖片利用各種不同的資料儲存方式存在時,就會有讀取上的一些問題要解決。

本篇文章先來討論圖片可能根據本身所存在 App 內部可有的位置,會產生的幾種讀取方式,並搭配要在 Xamarin.Android 中使用 ImageView 元件時,該如何搭配與應用 Android 的儲存圖片方式以便正確的顯示圖片。

0-1

圖片1

0-2


開始囉~~

 

2016年12月31日 星期六

避免在開發 Xamarin.Forms 時第一次編譯 Android 平台的 App 遇上缺少 Xamarin.Android.Support.XXXX 錯誤的問題…

 

由於最近越來越多人嘗試著使用 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 能夠避免這樣的問題發生。

 

2016年12月30日 星期五

在 Parallels Desktop 12 for Mac 的虛擬 Windows 環境中,開發 Xamarin 時讓 Android App 能直接部署到 Mac 上的 Android Emulator 中進行測試與執行…

 

由於很多 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虛擬化,各位想想在虛擬化上再虛擬化的效果…還是會有差的~~)

0

2016年6月1日 星期三

如何在Microsoft Visual Studio Emulator for Android中使用Google Play Services並切換成中文語系環境…

 

之前介紹了如何安裝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。

首先先連到http://www.teamandroid.com/gapps/

1

2016年5月28日 星期六

讓Xamarin開發的App取得在AzureAD保護下的Web資料…II

 

延續前一篇我們已經建立好AzureAD的資訊,並且已經開通Azure AD上的一個使用者帳號後,我們要繼續開通AzureAD上給Native App連入的服務。

在Azure Portal當中開啟Azure AD的服務頁面

2-1

2016年5月27日 星期五

讓Xamarin開發的App取得在AzureAD保護下的Web資料…I

 

自從微軟CEO Satya說了"Cloud First, Mobile First"後,微軟的之後每一步都逐漸地朝這方面邁進,所以Azure上的AzureAD的不得不變成企業的對於外部的行動裝置處理身分辨識的一個重要使用。今天我們就來看看如何讓Xamarin所開發的App也能夠使用AzureAD,並且取得在AzureAD保護下的Web資料。

不過一開始,得先看看微軟的AzureAD如何去達成讓成天在企業網路環境外部跑來跑去的Mobile App,取得在AzureAD保護下的Web資料。

image

此圖取自
https://azure.microsoft.com/zh-tw/documentation/articles/active-directory-authentication-scenarios/#native-application-to-web-api

有空的朋友請仔細閱讀上述網址的解釋,而其中的第五點解釋會用在我們之後的程式當中。

接下來…將將~~

開始囉~~~

2016年4月18日 星期一

開始使用 Microsoft Visual Studio Emulator for Android…

 

自從Visual Studio 2015 Update1開始,微軟就有為了Android App的開發而搭配推出Visual Studio Emulator for Android,以便在使用Visual Studio開發Android相關App的時候,不需要使用Google的Android SDK中所附的那慢得要命的Android模擬器,才不至於又讓人無緣無故怪到微軟頭上。(自己錯了還怪人!!!)

1

 

不過若要使用Visual Studio Emulator for Android的話,先決條件是你的電腦軟硬體都必須能支援Hyper-V的這個虛擬技術(註一),且另外得注意Hyper-V跟VMware or VirtualBox不能同時運行,若是你的使用環境上有需要,可以參考此連結的作法,建立兩種開機環境。

2015年9月24日 星期四

如何在Xamarin中引用原生的AndroidClassLibrary所產生出來的Jar檔…

 

1. 前言

常常會遇到有人在從Android原生開發(Java)轉移到Xamarin.Android開發時,有需要將過去開發好的Android Class Library直接匯入到Xamarin.Android底下使用,讓專案可以更加快速的完成。

昕力大學之前的Xamarin與行動開發相關文章中,有過一篇的介紹是相當類似的主題,不過Ben前輩的介紹主軸是在Xamarin Studio跟Mac上操作,要套用到Visual Studio跟Windows上時,其過程常常會讓人有點困惑,所以再透過本篇文章詳細的介紹一下其步驟,讓大家更能夠掌握其中的訣竅

 

2. 環境準備

  • Windows 8/8.1/10
  • Eclipse with ADT
  • Visual Studio 2015

2015年8月9日 星期日

Visual Studio 2015內建Android模擬器出現顯示控制器設定無法變更錯誤…


不知道為什麼今天使用Visual Studio 2015搭配Xamarin快樂的撰寫Anaroid App的時候,將該Anaroid App專案編譯部屬到Visual Studio 2015所內建的Android Emulator時,該模擬器(VS Emulator 5” KitKat(4.4) XXHDPI Phone)啟動到一半,就突然在噴錯誤訊息出來,並且無法將該模擬器啟動起來。

image

 

可是切換到另外一個模擬器(VS Emulator 7” KitKat(4.4) XHDPI Tablet)就可以正常啟動…

而該錯誤大致上是寫著:

"無法變更Kitkat(4.4) XXHDPI Phone虛擬機器的顯示控制器設定…XXX"

之類的訊息…

2015年1月29日 星期四

在Xamarin的Android專案當中,發生Assembly synchroization error時…

 

最近在Xamarin上開發Android專案時,當要編譯執行(偵錯)時,不知道為什麼常常會出現Assembly synchroization error的錯誤訊息…

image

點選More Details會得到以下訊息:image

原因是什麼還不清楚,但暫時找到的解決辦法是:

2014年4月29日 星期二

Xamarin在更新Android 4.12.3套件時發生錯誤之問題解決...

 

最近Xamarin在更新Android 4.12.3套件時一直發生以下的錯誤訊息:

“Incomplatible version of Xamarin.Shell detected.”

 

錯誤訊息如下圖:

10299211_561553687297248_665751207_n

 

什麼鬼!!!我都有很乖的更新所有的套件阿~~~~

為什麼???

Why???

なぜ???

2014年4月23日 星期三

Visual Studio突然無法部屬App到iOS or Android的目標裝置上...

 

在使用Visual Studio搭配Xamarin寫著跨平台的App專案(無論是iOS、Android都好...超方便的~~) 每次撰寫到一個段落後,都會把程式部屬到目標裝置當中(可能是模擬器,也可能是實體機器)測試一下,過程當中也都很順利,直到有一天突然看到了下面的錯誤訊息:

 

"The project xxxxxx needs to be deployed before it can be started....."

 

錯誤訊息畫面如下:

 

ErrorMessage

 

天殺的,花生省魔術了!!!

 

看倌不要怕,小弟一開始看到也是快瘋掉了,居然完全沒辦法部屬我的專案App了,真是欲哭無淚!!!!

2014年3月17日 星期一

透過Xamarin撰寫一致性的Web資料擷取開發方式 - Sharing篇

 

在前兩篇"透過Xamarin撰寫一致性的Web資料擷取開發方式 - iOS篇"與"透過Xamarin撰寫一致性的Web資料擷取開發方式 - Android篇"當中,我們完成了要如何利用WebClient在iOS App與Android App當中開發Web資料擷取的方式。

 

 

But…

如果我們Web資料擷取的程式邏輯有改變,或者Web的連線位址有改變,那我們不就要在iOS的專案當中改完以後,又要到Android的專案當中修改一次嗎?!

這樣實在是太麻煩了!!!

 

看倌,您實在是太難滿足了,能夠寫相同的程式碼在不同的平台專案上,已經是Xamarin帶來的大大便利以及大大增進開發效率了呢!!!

沒關係!!!您的心聲....Xamarin聽到了,更正確地說Xamarin就是因為這樣的需求孕育而生的。

 

接下來,就讓我們來看Xamarin是如何來滿足看倌的心聲吧!!!

2014年3月14日 星期五

透過Xamarin撰寫一致性的Web資料擷取開發方式 - Android篇

 

在前一篇"透過Xamarin撰寫一致性的Web資料擷取開發方式 - iOS篇"當中,我們完成了要如何利用WebClient在iOS App當中開發Web資料擷取的方式。

 

接下來...為了要來慶祝白色情人節...

我們也來試試Android吧!!!

 

前情提要:

開始以下之前,請各位看倌要先拜讀過當麻大大的那篇"[WindowsPhone] 一個不需要找Server但可以手動提供更新資料的小技巧"喔!!!

 

1. 首先,繼續在我們之前的"MutiOSWebClientDemo"方案當中建立一個Android的Project吧!!!

 

image

2014年2月25日 星期二

在Visual Studio利用Xamarin建立跨平台的App專案後,突然發生授權錯誤而無法開啟該專案...

 

本來很開心用Visual Studio搭配Xamarin寫著跨平台的App專案(無論是iOS、Android都好),有一天突然看到了下面的錯誤訊息:

image

怎可能會是Activation Error!!!!!!

才剛花了大把的銀子取得Xamarin的授權使用阿~~~

重新登入授權帳號也沒有用...本來已經想寫信給Xamarin的官方客服了...騙錢騙錢騙錢!!!

2014年2月12日 星期三

在一個方案當中透過Xamarin開發不同平台App,在Windows Phone專案佈署時遇到的錯誤...

 

使用Xamarin在Visual Studio 201X開發跨平台App,非常的方便好用,通常先寫好其中一套平台的App以後,大部分的程式邏輯都可以直接套用到其他平台的App開發上。

可是若當開發其他平台的App後,在回來Windows Phone的專案編譯佈署時,遭遇了以下畫面...

image

2013年9月20日 星期五

第一次使用Xamarin就上手(四) - Xamarin for Android 初體驗 with VS 2012


在完成Xamarin的安裝後,我們趕緊來介紹與體驗一下如何在Visual Studio 2012當中,透過Xamarin來開發Android的Native App吧~~

(而各位看倌繼續看下去之前,請先確認手上的環境都已經有按照"第一次使用Xamarin就上手(一) - 安裝Xamarin Step-by-Step Part1"準備好了。)


首先,照慣例,還是要先打開親切迷人的Visual Studio 2012。

1

然後在Visual Studio 2012的功能選單列中,點選"檔案" –> "新增" –> "專案"。

2