[開發] APP Studio + 政府開放資料輕鬆做APP

看板WindowsPhone作者 (賽非茵)時間10年前 (2014/01/20 22:32), 編輯推噓2(204)
留言6則, 2人參與, 最新討論串1/1
這標題不知道怎麼下的好,不過意思是那樣. 首先我們知道現在網路上有很多開放資料,有時候你會看到一些覺得挺實用的資訊,想要做 成APP,但是又不知道從何下手怎麼辦呢? 這時候可以利用APP studio來達成這個目標. 但相信有使用過的人一定都有個疑問:APP studio 裡面的資料來源選擇並不多,唯一比較 能用的只有RSS來源而已,可是現在開放資料並不提供RSS,怎麼辦呢? 很簡單,現今的開放資料格式逐漸改為JSON,也有XML.如果是後者的話比較好辦,把XML 做成RSS,發布到web上面,屆時從APP studio裡面去載入你的RSS. 至於JSON也是類似的作法,不過初學的話要搞懂JSON會花比較多一點時間. 但是JSON建議利用VS2010~2013裡面的NUGET去找 Json.NET XML和JSON共通部分: (抓網頁內容) string url; WebClient wc = new WebClient(); wc.Encoding = Encoding.UTF8; string webstring = wc.DownloadString(url); //抓回的網站內容 JSON部分: using Newtonsoft.Json; //記得要引用 dynamic root = JsonConvert.DeserializeObject(webstring); //看要序列化還是反序列化,這部分網路上很多就不累述了 //有興趣請去搜尋JsonConvert用法 輸出RSS部分:當初以為RSS跟XML一樣可以自行定義欄位,搞好久才發現原來每個欄位格式 都有固定的,所以不能亂打. 除了標題有規範以外.一個item裡面要包含的元素也是必要的. <title> <link> <pubDate> <description>,這些都會套入app studio 的資料來源裡面. 這邊RSS我說的很籠統 只能說有興趣的去搜一下"RSS 2.0格式" 在VS開怎樣的專案比較適合? A:我是用泛型處理常式 (*.ashx) 延伸:除了用開放資料以外還有別的方法嗎? 有的,用HtmlAgilityPack來抓網頁,或是用WCF來輸出都可以.不過當我做完以後才發 現app studio不支援WCF所以我才找RSS看怎麼做.會wcf的話應該用ashx會蠻順手的. 結語:雖說看起來還是要懂一點code,不過如果會寫website的話,相信這個難不倒你~ 當然最好的話是用VS寫出APP啦~ =3= -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 124.10.80.50 ※ 編輯: Severine 來自: 124.10.80.50 (01/20 22:33)

01/20 23:15, , 1F
我剛好是在解析RSS的時候碰了大問題
01/20 23:15, 1F

01/20 23:16, , 2F
莫名其妙的迴圈沒辦法讀取內容會跳例外錯誤......
01/20 23:16, 2F

01/20 23:16, , 3F
嘗試好幾次都失敗,簡直快瘋了
01/20 23:16, 3F

01/20 23:31, , 4F
沒解過rss 用xml的方法看看?
01/20 23:31, 4F

01/21 10:06, , 5F
後來發現問題是List沒初始化所以跳出nullexception...
01/21 10:06, 5F

01/21 10:06, , 6F
總之已經弄好了
01/21 10:06, 6F
文章代碼(AID): #1ItJEPKW (WindowsPhone)