2014年3月12日 星期三

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

 

在拜讀了當麻大大的這篇"[WindowsPhone] 一個不需要找Server但可以手動提供更新資料的小技巧"曠世之作之後~~

小弟對當麻大大的崇拜...更加是有如江水般的澎湃....也就更不禁的...

 

手癢...

 

所以我們也來利用Xamarin來完成iOS的版本吧!!

咦?

這啥軌!!!

 

而有iOS App開發經驗的看倌們可能會說,在原生(Xcode+Objective-C)的iOS開發當中,就可以用利用類似NSString的stringWithContentsOfURL 或者是 NSURLConntection就能做到相關的事情啦!!!

這有啥好講的?

 

哈哈!!!沒錯,當然我們可以利用iOS本身所提供的這些Library來完成相關的事情...

 

 

But…

 

有了Xamarin,就能用跟寫Windows Phone一樣的手法,在Visual Studio當中來完成相同的程式了!!!

 

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

 

1. 首先,在Visual Studio當中建立一個iOS的Project吧!!

 

image

(注意此次名稱跟方案名稱不同。)

 

2. 在Visual Studio當中建立好的專案

 

1

 

3. 在建立好的專案當中增加新的UIViewController,並且將此UIViewController命名為MainViewController。

 

image

3

 

4. 完成之後,打開該專案的AppDelegate.cs,找到FinishedLaunching(),修改為以下的程式碼:

 

image

(紅色框為新增程式碼,綠色框為修正程式碼。)

 

5. 緊接著再繼續打開MainViewController.cs,找到ViewDidLoad()增加一個畫面元件Button的相關程式碼,以及產生出Button的TouchUpInside的事件處理常式。

 

image

(紅色框為新增程式碼。)

 

以上五個步驟完成後,應該就能夠順利地看到以下的執行結果:

 

image

 

接下來就是重頭戲的開始啦!!!

 

我們要在Button的TouchUpInside()的事件處理常式當中,要來增加Web資料擷取的程式,也就是跟在WindowsPhone的程式一樣,來使用WebClient的連線啦!!!

 

趕緊加入以下程式碼:

 

image

(紅色框為新增程式碼。)

 

X的咧!!!不能用啊~~

 

看倌別心急!!!

 

請你跟圖片這樣做~~

 

image

 

噹噹~~~這不就成了嗎?!

 

image

(綠色框為修正後的顯示。)

 

接著再繼續向我們當麻大大在Blog當中所寫的曠世程式碼致敬,施展出神乎其技的"Copy"大絕到接下來的程式當中!!!

這招大絕相信看倌你絕對也能做到的!!!

 

image

(紅色框為新增程式碼,綠色框為修改程式碼。)

 

執行起來,點選按鈕,就能在Visual Studio偵錯模式的輸出窗格當中看到如下的呈現啦!!!

 

image

 

啊?!看倌想要有AlertView顯示訊息?!

 

那當然也難不倒!!!

 

請按照以下修改:

 

image

(紅色框為新增程式碼,綠色框為修改程式碼。)

 

程式執行起來,按下按鈕後,就可以在透過AlertView當中顯示訊息了!!!

 

iOS_2

 

打完收工!!!

 

下面引用當麻大大Blog當中的後記:

這有啥應用呢? 首先,最大的方便是你可以不需要特地弄一台server來擺資料 ,這點就已經很方便了不然可能花錢還要花時間顧,再來你可以透過桌面應用程式(記事本) 直接存到硬碟上,透過google drive 他們的軟體同步上去,之後手機程式在下載時候都可以取道最新資料,因為我現在有些APP都透過這方法取得版本是否為最新版本讓使用者更新,這是開發上的小技巧,不難,分享給大家。

 

所以小弟只是狗尾續貂,透過Xamarin來完成幾乎是跟Windows Phone開發時,撰寫一模一樣的WebClient的網路資料擷取的程式,完成iOS的部分啦!!!

 

賀~~~

 

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

 

參考資料:

[WindowsPhone] 一個不需要找Server但可以手動提供更新資料的小技巧
http://www.dotblogs.com.tw/junegoat/archive/2013/10/02/c-sharp-data-from-google-drive-without-server.aspx

沒有留言:

張貼留言