android studio 接力使力之玩 open data

42
Android Studio 接接接接接接 Open Data 接接接接 JSON 接接接接接接接

Upload: -

Post on 15-Apr-2017

204 views

Category:

Education


4 download

TRANSCRIPT

Page 1: Android studio 接力使力之玩 open data

Android Studio接力使力之玩 Open Data五種取得 JSON 資料之程式運用

Page 2: Android studio 接力使力之玩 open data

學習主題• 社群成立目的簡介• 自我介紹與哈啦• 功力複習• 程式實作 (Android)

• 問題與交流

Page 3: Android studio 接力使力之玩 open data

個人簡介諸葛魔斌工作室:諸葛魔斌科技創作室學歷:高應大 --- 工管系 ( 非資訊科系 )E-Mail : [email protected]官方網站: http://twcts.comFacebook : https://goo.gl/volM7Z粉絲團 : https://goo.gl/LI08wh社群 : https://goo.gl/kjCsz1Line (id) : http://goo.gl/ayGW7dLine@ : http://goo.gl/pQHjWHLine Bot : http://goo.gl/ljdxfVPlay 商店: http://goo.gl/CkVdsdApp Store : http://apple.co/1Qehd64專長: VB(VBA) 、 C# 、 Java(Android) 、 Swift(iOS) 、 PHP 、 Python 、 Conrona 、 Golang 、 HTML/CSS 、 MySQL 、 FreeBSD 、 Server 架設、 CAD 、 ……

楊政斌

Page 4: Android studio 接力使力之玩 open data

Open Data & JSON

五種取得資料之程式運用

Page 5: Android studio 接力使力之玩 open data

Open Data :指的是一種經過挑選與許可的資料,這些資料不受著作權、專利權,以及其他管理機制所限制,可以開放給社會公眾,任何人都可以自由出版使用,不論是要拿來出版或是做其他的運用都不加以限制。

五種取得資料之程式運用

XML:可延伸標記式語言(英語: Extensible Markup Language ,簡稱:XML),是一種標記式語言。標記指電腦所能理解的資訊符號,通過此種標記,電腦之間可以處理包含各種資訊的文章等。如何定義這些標記,既可以選擇國際通用的標記式語言,比如 HTML,也可以使用像 XML 這樣由相關人士自由決定的標記式語言,這就是語言的可延伸性。 XML 是從標準通用標記式語言( SGML )中簡化修改出來的。它主要用到的有可延伸標記式語言、可延伸樣式語言( XSL )、 XBRL和 XPath等。

Page 7: Android studio 接力使力之玩 open data

五種取得資料之程式運用JSON 用於描述資料結構,有以下形式存在。•物件( object ):一個物件以「 { 」開始,並以「 } 」結束。一個物件包含一系列非排序的名稱/值對,每個名稱/值對之間使用「 , 」分割。•名稱/值( collection ):名稱和值之間使用「:」隔開,一般的形式是:{name:value} 一個名稱是一個字串; 一個值可以是一個字串,一個數值,一個物件,一個布林值,一個有序列表,或者一個 null 值。•值的有序列表( Array ):一個或者多個值用「 , 」分割後,使用「 [ 」,「 ] 」括起來就形成了這樣的列表,形如:[collection, collection] •字串:以 "" 括起來的一串字元。•數值:一系列 0-9 的數字組合,可以為負數或者小數。還可以用「 e 」或者「 E 」表示為指數形式。•布林值:表示為 true 或者 false 。

Page 8: Android studio 接力使力之玩 open data

五種取得資料之程式運用{ "firstName": "John", "lastName": "Smith", "sex": "male", "age": 25, "address": { "streetAddress": "21 2nd Street", "city": "New York", "state": "NY", "postalCode": "10021" }, "phoneNumber": [ { "type": "home", "number": "212 555-1234" }, { "type": "fax", "number": "646 555-4567" } ] }

[ { "text":"This is the text","color":"dark_red","bold":"true","strikethough":"true","clickEvent": {"action":"open_url","value":"zh.wikipedia.org"}, "hoverEvent": {"action":"show_text","value": {"extra":"something"} } }, { "translate":"item.dirt.name","color":"blue","italic":"true" } ]

Page 9: Android studio 接力使力之玩 open data

五種取得資料之程式運用

第一種方法 --- 簡易取出網頁 JSON 資料第二種方法 --- 利用 OKHttp 取得 JSON 資料第三種方法 --- 利用 OKHttp 搭配 GSON 取得 JSON 資料第四種方法 --- 利用 OKHttp 搭配 JackSON 取得 JSON 資料第五種方法 --- 使用 TableLayout 列出資料

Page 10: Android studio 接力使力之玩 open data

前置作業

五種取得資料之程式運用

Page 11: Android studio 接力使力之玩 open data

五種取得資料之程式運用

變更向下相容之 SDK 版本(4.4)

Page 12: Android studio 接力使力之玩 open data

五種取得資料之程式運用

加入網路權限<uses-permission

android:name="android.permission.INTERNET" />

Page 13: Android studio 接力使力之玩 open data

五種取得資料之程式運用

加入 Design 函式庫compile

'com.android.support:design:23.3.0'

Page 14: Android studio 接力使力之玩 open data

第一種方法

五種取得資料之程式運用

Page 15: Android studio 接力使力之玩 open data

佈局內容無增減將 TextView 移至中央

五種取得資料之程式運用

Page 16: Android studio 接力使力之玩 open data

五種取得資料之程式運用

佈局檔文字內容

Page 17: Android studio 接力使力之玩 open data

五種取得資料之程式運用

程式檔內容

Page 18: Android studio 接力使力之玩 open data

第二種方法

五種取得資料之程式運用

Page 19: Android studio 接力使力之玩 open data

五種取得資料之程式運用

加入 OKHttp 函式庫compile

'com.squareup.okhttp3:okhttp:3.2.0'

Page 20: Android studio 接力使力之玩 open data

增加佈局檔 row_trans

五種取得資料之程式運用

Page 21: Android studio 接力使力之玩 open data

五種取得資料之程式運用

佈局檔文字內容

Page 22: Android studio 接力使力之玩 open data

增加自訂佈局

五種取得資料之程式運用

Page 23: Android studio 接力使力之玩 open data

五種取得資料之程式運用

選擇 RecycleView

Page 24: Android studio 接力使力之玩 open data

五種取得資料之程式運用

佈局檔文字內容

Page 25: Android studio 接力使力之玩 open data

增加 Class 檔 Transation

五種取得資料之程式運用

Page 26: Android studio 接力使力之玩 open data

增加 Class 檔 TransationAdapter

五種取得資料之程式運用

Page 27: Android studio 接力使力之玩 open data

五種取得資料之程式運用

主程式檔內容

Page 28: Android studio 接力使力之玩 open data

第三種方法

五種取得資料之程式運用

Page 29: Android studio 接力使力之玩 open data

五種取得資料之程式運用

加入 GSon 函式庫compile

'com.google.code.gson:gson:2.6.2'

Page 30: Android studio 接力使力之玩 open data

五種取得資料之程式運用

使用 GSON

Page 31: Android studio 接力使力之玩 open data

第四種方法

五種取得資料之程式運用

Page 32: Android studio 接力使力之玩 open data

五種取得資料之程式運用

加入 JackSon 函式庫 compile 'org.codehaus.jackson:jackson-mapper-asl:1.9.13' compile 'org.codehaus.jackson:jackson-core-asl:1.9.13'

Page 33: Android studio 接力使力之玩 open data

五種取得資料之程式運用

加入 排除錯誤 函式庫packagingOptions { exclude 'META-INF/DEPENDENCIES.txt' exclude 'META-INF/LICENSE.txt' exclude 'META-INF/NOTICE.txt' exclude 'META-INF/NOTICE' exclude 'META-INF/LICENSE' exclude 'META-INF/DEPENDENCIES' exclude 'META-INF/notice.txt' exclude 'META-INF/license.txt' exclude 'META-INF/dependencies.txt' exclude 'META-INF/LGPL2.1' exclude 'META-INF/ASL2.0' }

Page 34: Android studio 接力使力之玩 open data

五種取得資料之程式運用

使用 JackSON

Page 35: Android studio 接力使力之玩 open data

第五種方法使用 TableLayout

五種取得資料之程式運用

Page 36: Android studio 接力使力之玩 open data

佈局檔架構

五種取得資料之程式運用

Page 37: Android studio 接力使力之玩 open data

五種取得資料之程式運用

佈局檔文字內容

Page 38: Android studio 接力使力之玩 open data

增加 Class 檔 HTTPDataHandler

五種取得資料之程式運用

Page 39: Android studio 接力使力之玩 open data

五種取得資料之程式運用

主程式檔內容

Page 40: Android studio 接力使力之玩 open data

結論: 1. JSON 資料格式2. 網站資料取得與 JSON 解析3. OKHttp , GSON , JackSon 使用4. TableLayout 使用方法5. RecycleView 自訂佈局使用方法

五種取得資料之程式運用

Page 41: Android studio 接力使力之玩 open data

Android Studio 接力使力之玩 Open Data

Page 42: Android studio 接力使力之玩 open data

第七、八、九、十次聚會學習課程iOS Swift / Android Strudio  & FireBase 玩上雲端囉iOS Swift / Android Strudio  & FCM 玩推播服務

學習不能中斷,卡關不要氣餒,讓我們的熱血繼續揮撒在程式的樂趣吧 !!帶著你的筆電,和我們一起享受 Coding Fun註:我們學習的是多系統,所以筆電最好是 Macbook哦 !日期: 9/7 、 21(星期三 ) 18:30~ 21:30 FireBase 玩上雲端囉 10/5 、 19(星期三 ) 18:30~ 21:30 FCM 玩推播服務地點:高雄市前鎮區一心二路 157 號 10樓之 4 (微盛科技)捷運三多商圈站 4 號出口,步行約 10 分鐘歡迎踴躍報名,也歡迎高手協助指導費用: 0 元 (珍惜學習資源 )