• 沒有找到結果。

基於公開資訊之情境感知系統

N/A
N/A
Protected

Academic year: 2021

Share "基於公開資訊之情境感知系統"

Copied!
99
0
0

加載中.... (立即查看全文)

全文

(1)國立臺灣師範大學 資訊工程研究所碩士論文. 指導教授:葉耀明 博士. 基於公開資訊之情境感知系統. Open data based context-aware system. 研究生:張書銘 撰 中華民國. 一百零二. 年. 六. 月.

(2) 摘 要 基於公開資訊之情境感知系統 張書銘 隨著智慧型手持裝置興起以及無線通訊技術普及,使用者能輕鬆透過網路取 得資訊內容,手持裝置相較於一般裝置來說螢幕尺寸以及運算能力都受到限制, 因此加入情境感知技術可彌補手持裝置不足之處。此外開放資料運動迅速在全球 蔓延,美國政府於 2009 年推出公開資訊平台「Data.gov」,而我國政府公開資訊 平台於 2013 年 4 月 30 日正式上線。 本研究主題是使用公開資訊內容並搭配電子地圖將整合後訊息呈現於手持 裝置上,且透過情境感知選單取得使用者所需資料。目前政府提供的公開資訊對 於一般民眾無法直接使用,因為資料屬於純文字格式,若資料不經由分析與分類 就無法發揮最大的效益。本研究主要將系統分為三大區塊,其包含前端系統、後 端管理者與資料庫,公開資訊由後端管理者處理完畢後,直接傳回給前端系統以 便獲得即時資訊,使用者能透過搜尋方式尋找其相關的地理資訊內容,此外使用 者介面設計也是本研究探討的問題,應用程式必須達到一致性的操作方式,以避 免造成使用者操作上的困難,且系統整合了各種資料集內容,使用者只需透過本 應用程式就能獲得多個應用程式的效果。最後本研究延伸了「開放資料」定義, 加入使用者自訂公開資訊內容,經由照片分享地理位置資訊且透過建立者所描述 的內容增加照片的情境資訊。. 關鍵字:開放資料、情境感知、JSON、電子地圖 i.

(3) ABSTRACT Open data based context-aware system Shu-Ming Chang The rise of smart handheld devices and wireless communication technology, users can easily access information content through network, smart handheld device is compared with those in the device’s screen size and computing power, therefore adding context-aware can make up for the inadequacies of handheld devices. The U.S.A government in 2009 launched the public information platform「Data.gov」, our government on April 30, 2013 launched the public information platform 「Data.gov.tw」. This research topic is the use of publicly available information content and integration with the electronic map information presented in the handheld device, and check context-aware menu to obtain user data. The government provides public information for the general users can’t be used directly, if the data can’t be used without analysis and classification. Research system is divided into three blocks, including front-end system、back-end manager and database, public information processing is complete, system returns users to query data. In addition user interface design issues are also the focus of my research. Applications must reach the consistency of operation, to avoid user operational difficulties. Through this application, users could need to be able to get the effect of multiple applications.. Keywords:Open-Data、Context-Aware、JSON、Electronic Map ii.

(4) 目 錄 附圖目錄 附表目錄. v viii. 第1章 1.1 1.2 1.3 第2章. 緒論............................................................................................................ 1 研究背景.................................................................................................... 1 研究動機與目的........................................................................................ 2 論文架構.................................................................................................... 3 文獻探討.................................................................................................... 4. 2.1. 電子地圖(Electronic Map) ........................................................................ 4. 2.1.1 Google Maps JavaScript API ......................................................... 5 2.1.2 Google Map Android API .............................................................. 6 2.2 全球定位系統(Global Positioning System) .............................................. 7 2.3 情境感知(Context-Awareness) .................................................................. 9 2.4 2.5 2.6 第3章. JavaScript Object Notation ...................................................................... 11 政府開放資料.......................................................................................... 12 Dropbox 雲端檔案儲存服務.................................................................. 14 系統規劃.................................................................................................. 16. 系統架構.................................................................................................. 17 台北市政府開放資料平台...................................................................... 18 3.2.1 查詢判斷與分類標準.................................................................. 19 3.3 臺北市公眾區免費無線上網熱點.......................................................... 19 3.3.1 各區域內部資料解析.................................................................. 21 3.3.2 無線上網熱點資訊查詢.............................................................. 26 3.3.3 資料呈現方式.............................................................................. 30 3.4 台北市公私立醫療院所.......................................................................... 30 3.4.1 關聯式進階資料搜尋.................................................................. 32 3.1 3.2. 3.4.2 資料呈現方式.............................................................................. 34 3.4.3 醫療院所資訊查詢...................................................................... 35 3.5 台北市藥局公開資訊.............................................................................. 38 3.5.1 資料呈現方式.............................................................................. 39 3.5.2 藥局資訊查詢.............................................................................. 40 3.6 臺北市 101 個觀光亮點.......................................................................... 41 3.6.1 資料呈現方式.............................................................................. 42 3.7 臺北市公共自行車租借站(Ubike) ......................................................... 43 3.7.1 微笑單車租借方式...................................................................... 45 3.7.2 資料呈現方式.............................................................................. 45 3.8 使用者自訂公開資訊內容...................................................................... 46 iii.

(5) 3.8.1 Dropbox Core API ....................................................................... 49 3.8.2 建立公開資訊內容...................................................................... 50 3.8.3 資料呈現方式.............................................................................. 53 3.9 校園場景服務.......................................................................................... 54 3.10 自動化場景判斷.................................................................................. 58 第4章 系統開發與實作...................................................................................... 60 4.1 系統開發及環境...................................................................................... 60 4.1.1 系統開發環境與工具.................................................................. 60 4.2 系統實作.................................................................................................. 61 4.2.1 使用者案例圖-前端應用程式(Use Case Diagram) ................... 62 4.2.2 使用者案例圖-後端管理者(Use Case Diagram)...................... 63 4.2.3 系統循序圖(Sequence Diagram)................................................. 63 4.3 公開資訊查詢平台.................................................................................. 66 4.4 公眾區免費無線上網熱點系統實作...................................................... 68 4.4.1 註冊個人專屬連線帳號.............................................................. 68 4.4.2 各區域類別資料呈現實作.......................................................... 70 4.4.3 無線熱點查詢系統...................................................................... 72 4.5 醫療院所系統實作.................................................................................. 73. 4.6 4.7 4.8 4.9. 4.5.1 醫療院所查詢系統...................................................................... 74 4.5.2 醫療院所關聯式查詢系統.......................................................... 75 藥局資訊系統實作.................................................................................. 76 觀光景點系統實作.................................................................................. 77 4.7.1 景點查詢系統.............................................................................. 78 微笑單車系統實作.................................................................................. 79 4.8.1 各租借站資料呈現實作.............................................................. 80 自訂公開資訊內容系統實作.................................................................. 81 4.9.1 自訂資訊的呈現實作.................................................................. 82. 4.9.2 Dropbox 驗證............................................................................... 84 4.9.3 新增資料內容.............................................................................. 84 第5章 結論與未來發展...................................................................................... 86 5.1 結論.......................................................................................................... 86 5.2 未來發展.................................................................................................. 87 參考文獻...................................................................................................................... 88. iv.

(6) 附圖目錄 圖 2- 1 GOOGLE PLAY SERVICES 授權流程圖.................................. 7 圖 2- 2 GPS 衛星分布示意圖(資料來源:全人教育百寶箱林傳傑繪圖) ....... 8 圖 2- 3 JSON 主要結構圖(圖片來源:JSON.ORG).......................... 11 圖 2-4 政府開放資料流程圖(圖片來源:政府資料開放平台) .............. 12 圖 2- 5 全球擁有開放資料平台網站的國家分布圖(資料來源:DATA.GOV) ..... 13 圖 2- 6 政府資料開放平臺(圖片來源:DATA.GOV.TW) ...................... 14 圖 3- 1 台北市政府開放資料平台(DATA.TAIPEI.GOV.TW) .................... 16 圖 3- 2 ANDROID 版本分布(資料來源:ANDROID DEVELOPERS) ................... 17 圖 3圖 3圖 3圖 3圖 3圖 3圖 3圖 3圖 3-. 3 系統架構圖 ................................................. 18 4 新舊門牌對照圖(右:維基百科、左:台北市信義區公所) ......... 19 5 熱點系統操作流程圖 ......................................... 21 6 HTTP 連接 URL 取得 JSON 檔案 ................................... 22 7 將 MYSQL 查詢結果輸出成 JSON 格式 ............................. 23 8 透過 LOCATIONMANAGER 物件取得目前位置資訊 ...................... 23 9 LOCATIONLISTENER 更新使用者位置 ................................ 24 10 將字串轉換成 DOUBLE 型態 ..................................... 24 11 計算兩點之間的距離並換算成公里 ............................ 24. 圖 3圖 3圖 3圖 3圖 3圖 3圖 3圖 3圖 3-. 12 13 14 15 16 17 18 19 20. 透過 INTENT 方式啟動 GOOGLE MAP 街景圖 ......................... 25 透過 INTENT 啟動 GOOGLE MAP 導航 ............................... 26 公開資訊內容差異性 ........................................ 26 使用者搜尋熱點流程圖 ...................................... 27 CLIENT 端 ANDROID THREAD 資料傳送方式 ........................... 29 HTTP GET/POST 接收資料且存回資料庫 .......................... 29 使用者介面(UI)設計圖 ...................................... 30 公私立醫療院所操作流程圖 .................................. 32 關聯式搜尋流程圖 .......................................... 33. 圖 3圖 3圖 3圖 3圖 3圖 3圖 3圖 3圖 3-. 21 22 23 24 25 26 27 28 29. TAB 切換資訊流程圖 ......................................... 33 醫院 TAB INTENT ACTIVITY ...................................... 34 使用者介面(UI)設計圖 ...................................... 34 使用者搜尋醫療院所流程圖 .................................. 36 大同區相關路段名稱(資料來源:中華郵政) .................... 36 接收與比對使用者輸入的路段名稱 ............................ 38 藥局系統操作流程圖 ........................................ 39 使用者介面(UI)設計圖 ...................................... 39 儲存使用者查詢資料並進行資料庫比對 ........................ 40. 圖 3- 30 開啟 INTERNET 權限 ........................................... 42 圖 3- 31 觀光景點系統操作流程圖 .................................... 42 v.

(7) 圖 3圖 3圖 3圖 3圖 3圖 3圖 3圖 3圖 3-. 32 33 34 35 36 37 38 39 40. 使用者介面設計圖 .......................................... 43 微笑單車系統操作流程圖 .................................... 44 微笑單車使用者介面設計圖 .................................. 46 自訂公開資訊操作流程圖 .................................... 48 接收使用者自訂資訊與寫入資料庫 ............................ 48 將資料表檔案輸出成 JSON 格式 ............................... 49 DROPBOX 驗證應用程式 ........................................ 50 ANDROIDMANIFEST 中加入 DROPBOX 權限 ............................. 50 使用者新增資訊流程圖 ...................................... 51. 圖 3圖 3圖 3圖 3圖 3-. 41 42 43 44 45. SERVER 端接收資料並將資料寫入資料庫 ......................... 52 取出所有自訂公開資訊內容 .................................. 53 自訂公開資訊使用者介面設計圖 .............................. 54 校園場景分類區塊圖(圖片來源:GOOGLE MAP) .................... 55 左:課程清單,右:課程內容及語音教學 ...................... 57. 圖 3圖 3圖 3圖 4-. 46 詞彙語音教學畫面 .......................................... 57 47 情境(CONTEXT)分類 ........................................... 58 48 使用者場景切換判斷 ........................................ 59 1 ANDROID 手機模擬器(EMULATOR) ................................... 61. 圖 4圖 4圖 4圖 4圖 4圖 4圖 4圖 4圖 4-. 2 使用者案例圖-前端 .......................................... 62 3 使用者案例圖-後端管理者 .................................... 63 4 查詢公開資訊循序圖 ......................................... 64 5 進階查詢循序圖 ............................................. 64 6 自訂公開資訊循序圖 ......................................... 65 7 後端管理者循序圖 ........................................... 66 8 左:公開資訊查詢平台,右:使用者選單模式(MENU MODE) .......... 67 9 公開資訊清單列表 ............................................ 67 10 公眾區免費熱點分類畫面 .................................... 68. 圖 4圖 4圖 4圖 4圖 4圖 4圖 4圖 4圖 4-. 11 無線熱點申請帳號頁面 ...................................... 69 12 左圖:輸入驗證碼,右圖:驗證成功 ........................... 70 13 7-11 區域所包含的地理位置資訊內容 .......................... 70 14 左:單一地理位置詳細資料內容,右:地理位置街景圖 .......... 71 15 系統計算導航路徑結果 ...................................... 72 16 語音輸入查詢字串內容 ...................................... 73 17 醫療院所分類畫面 .......................................... 74 18 區域內的地理位置資訊內容 .................................. 74 19 鍵盤輸入查詢位置 .......................................... 75. 圖 4- 20 關聯式搜尋結果 ............................................ 76 圖 4- 21 藥局資訊內容 .............................................. 77 vi.

(8) 圖 4圖 4圖 4圖 4圖 4圖 4圖 4圖 4圖 4-. 22 藥局資訊查詢結果圖 ........................................ 77 23 區域內觀光景點位置資訊內容 ................................ 78 24 左:輸入查訊資訊,右:查詢結果與網站瀏覽 .................. 79 25 區域內微笑單車位置資訊內容 ................................ 80 26 單一租借站資訊內容 ........................................ 81 27 路線規劃與導航功能 ......................................... 81 28 左:SAMSUNG GALAXY S III,右:ASUS NEXUS 7 平板 ................ 82 29 左:SMART PHONE 載入畫面,右:平板載入畫面 ................... 83 30 左:SMART PHONE 載入完成畫面,右:平板載入完成畫面 ........... 83. 圖 4- 31 DROPBOX 驗證介面 ............................................ 84 圖 4- 32 新增留言資訊 .............................................. 85. vii.

(9) 附表目錄 表 3表 3表 3表 3表 3表 3表 3表 3-. 1 2 3 4 5 6 7 8. 臺北市免費無線上網熱點欄位表 ............................... 20 儲存使用者查詢資料欄位表 ................................... 27 台北市公私立醫療院所欄位表 ................................. 31 台北市藥局欄位表 ........................................... 38 台北市 101 個觀光亮點欄位表 ................................. 41 臺北市公共自行車租借站欄位表 ............................... 44 微笑單車租賃費率表 ......................................... 45 自訂公開資訊內容欄位表 ..................................... 47. 表 3表 3表 4表 4-. 9 圖書館校區地理資訊對照表 ................................... 55 10 校本部校區地理資訊對照表 .................................. 56 1 CLIENT 端開發環境 ............................................ 60 2 SERVER 端建置環境 ............................................ 61. viii.

(10) 第1章 緒論 1.1 研究背景 隨著地理資訊應用快速發展且智慧型手機(Smart Phone)普及率逐漸提升,衍 生出許多類別的地圖系統,讓使用者的行動生活趨於豐富,如 Google Map、 MapQuest。現今使用者能藉由智慧型手機與網路輕鬆的取得相關資訊,而國人 使用電子地圖查詢地方資訊與道路資訊亦逐漸成為趨勢,加上無線通訊技術普及 與應用程式(Application)所興起,讓智慧型手機不再只用於通話。 雖然智慧型手機效能遠不及一般電腦,但它的優勢在於方便攜帶且提供使用 者許多感測元件(Sensor),其中常見的感測器包含加速度計(Accelerometer)、陀螺 儀(Gyroscope)、光感測器(Ambient Light Sensor)、距離感測元件(Proximity Sensor) 等。若想取得地理位置資訊,可藉由 GPS 或者 AGPS (Assisted GPS)利用接收不同 衛星發射的訊號來計算使用者所在位置。 通訊網路技術的提升連帶產生許多服務,其中情境感知(Context-Awareness)服務 系統被視為具有極大的發展空間,情境感知服務主要可分為兩種類型:情境資訊來 源(User Context)及情境服務模式(Active context),依據 Schmidt, Beigl 及 Gellersen[1] 將情境資訊來源再細分為使用者情境資訊與實體環境情境資訊(Physical context)。使 用者情境資訊包含年齡、習慣、喜好等資訊,而實體環境情境資訊是指氣溫、時間、 位置、所在環境設備等訊息。另外 David Kotz[2]將情境服務模式分為兩種類型:主 動服務(Active context)及被動服務(Passive context),當系統依據收到的情境資料改變 1.

(11) 系統的行為模式時稱為主動服務模式,例如:會議進行時,手機會依據預先輸入在 行事曆上的時間狀態將手機鈴聲切換至來電拒接或者靜音,而被動服務為依照所接 收到的情境資訊,改變其系統呈現之方式,例如:使用者線上購物時,系統會根據 過往喜好在購物同時也推薦相關屬性之內容。. 1.2. 研究動機與目的 近年來臺北市政府推動開放政府(Open Government)的資料政策,將資料同整. 到單一窗口提供給大眾使用,目前資料目錄大約 130 項資料集,大致上分為公共 安全、交通安全、健康、教育、場所設施、環境保護等類別,且可透過網站下載 或者 API 介接方式取得資料。 隨著電子地圖及智慧型手機的興起,透過智慧型手機使用電子地圖也越來越 方便,雖然電子地圖的資料種類眾多,但並非所有地理資訊內容都涵蓋其中,例 如:校園資訊、室內地圖。即便現行網頁的電子地圖可編輯自訂的地理位置資訊, 也必須將資料儲存於伺服器端的資料庫中且目前智慧型手機無法使用自訂地理 位置資訊服務內容。 情境感知技術適合用於螢幕大小及運算能力有限的行動裝置上,由於使用者 能隨身攜帶行動裝置,因此可藉由各種感測器取得不同地理位置之情境資訊,若 經過分析後,此資訊內容皆可用於自動化的配置服務。因此,本研究的目的在於 提供使用者合適的生活情境資訊與學習情境內容,讓使用者能在不同的地理位置 獲得相對應的資訊內容,使得手持裝置更加智慧化且盡量減少使用者輸入的次數, 2.

(12) 主動提供使用者所需的資訊服務以解決手持裝置上輸入不易與顯示螢幕大小受 限制所帶來的不便。近年來台北市公開資料平台提供許多公開資訊讓一般民眾使 用,不過由於資訊種類繁多且此內容若不經由開發人員整合,其實這些資訊對於 一般使用者來說並沒有太多的幫助。本系統整合公開資訊並載入情境感知服務, 讓使用者能透過手持裝置快速獲得相關的服務資訊。. 1.3. 論文架構 本論文一共分為五個章節,各章節內容描述如下:. 第一章 緒論 介紹論文研究背景、研究動機與目的和論文架構 第二章 文獻探討 介紹本系統所需的背景知識,如電子地圖、全球定位系統、情境感知、JSON、 政府開放資料、Dropbox 雲端檔案儲存服務。 第三章 系統規劃 介紹本文系統所使用的公開資訊如何運作,與說明其使用者介面設計概念。 第四章 系統開發與實作 依據各個公開資訊內容所發展出的系統,並進行畫面呈現。 第五章 結論與未來發展 介紹本研究的結論,並進一步討論未來發展空間與方式。. 3.

(13) 第2章 文獻探討 2.1 電子地圖(Electronic Map) 電子地圖(Electronic Map)是以數位方式儲存和查閱的地圖。大多數電子地圖 儲存資訊的方法是使用向量式圖像儲存,讓地圖再旋轉、放大或縮小的過程中不 會失真。由於網際網路和智慧型手機(Smart phone)興起,手持裝置的運算能力越 來越強大,對於向量式圖形資料的處理能力可望獲得大幅度的改善,因此利用手 持裝置網路功能來存取或查詢地圖的技術逐漸受到重視。目前個人化的地理資訊 系統(Geographic Information System, GIS)[3],大多數是利用網站型態搭配電子地 圖作為呈現的方式,提供使用者有關食、衣、住、行、育樂等相關的生活資訊服 務。 Google Maps 地圖服務使用 AJAX(Asynchronous JavaScript and XML)技術, 其傳遞資料的概念並非傳統的 Web 一來一往的同步傳遞,Ajax 屬於互動式的應 用,資料傳輸時使用者無需等待仍可繼續執行其它工作,隨著 Google Maps 存取 應用服務 API 開放,結合資料庫或者其他網路服務功能的應用不斷出現。目前 Google Maps 提供的服務包含規劃路線、街景服務、相片瀏覽、即時路況資訊、 衛星地圖、我的地圖,無論學術單位或產業界對於 Google Maps 的應用也越來越 廣泛。. 4.

(14) 2.1.1. Google Maps JavaScript API. Google Maps JavaScript API 可讓 Google 地圖嵌入至開發的網頁中,目前版 本已來到第 3 版,且在行動裝置以及在傳統電腦瀏覽器應用程式皆適用。新版 API 中已將原本(API v2)需要 API Key 的限制移除,讓使用者在操作的反應上更 加快速與靈敏。Google Maps API 主要區分為免費版與專業版,免費版每日最多 載入 25000 次地圖,只要網頁上的地圖完成初始化動作,系統就會計算一次地圖 載入,專業版除了提供更高的地圖使用流量、HTTPS 安全協定外,最重要的是 提供額外的技術服務支援。Google Maps JavaScript API 包含地圖搜尋、路徑規劃、 圖層管理、自訂圖層等功能,以下為功能介紹: 1.. 路線規劃:設定路線起點及路線終點透過 Maps API 搜尋出一條或數條 適合的行進路線,另外路線規劃可選擇自行開車、大眾運輸、步行等方 式前往目的地,透過不同的前往方式可估算出到達所需的時間。. 2.. 地標搜尋:此為 Google Maps 服務中最常使用的部分,透過 Maps API 協助程式快速將經緯度對應到搜尋地址上,或者藉由地址反查取得相對 應的經緯度。. 3.. 圖層切換:除了最常使用的街道、衛星、高度等圖層之外,Google Maps 也加入街景服務的功能,透過街景讓使用者更輕鬆掌握世界各大都市的 道路情況。. 4.. 自訂圖層:Google Maps JavaScript API 允許使用者自行增加圖層,可從 5.

(15) KML、KMZ 或 GeoRSS 檔案新增地圖資料至地圖中,繪製出自定義的 圖層架構地圖,或者利用 GeoRSS 蒐集網路上定期釋出的地理資訊內容, 如 USGS 國際地震資訊。. 2.1.2. Google Map Android API. 為了讓開發者能更快速與輕便地將地圖功能加入應用程式中,Google API 提供一個地圖外部連結程式庫,此程式庫類別提供了內建的 Google 地圖顯示、 快取功能以及各種顯示方塊與控制項。2012 年 12 月初 Google 發出聲明將淘汰 Google Map Android API Version 1 版本,並同時推出 Google Map Android API Version 2 版本[4]。最大的差異在於 Map API Key 申請辦法改變,若要沿用 v1 版 本作為開發平台者,API Key 申請至 2013 年 3 月 18 日為止此後就不在受理,原 本使用 v1 版本功能的應用程式將不受 v2 版本影響。 如圖 2-1 所示,目前 v2 版本 API 需要配合 Google Play Services,其中 Google Play Services APK 屬於 Android 系統中的背景服務,此服務提供了取得 Google 各項服務的授權流程。新版的 Map API v2 與 v1 主要的差別在於 v2 地圖封裝在 MapFragment 類別中,因此開發者可延伸使用標準的 Activity,而不必切換 MapActivity(v1 版本)。由於使用向量磚技術(Vector Tiles)讓地圖顯示時間加快且 頻寬使用的更少,此外新版地圖中緩衝(Caching)較小,所以使用者看到的地圖空 白區域會比 v1 更少,另外 v2 版本中加入了 3D 與室內地圖瀏覽的功能,讓使用 者有全新的瀏覽體驗。 6.

(16) 圖 2- 1 Google Play Services 授權流程圖. 2.2 全球定位系統(Global Positioning System) 全球定位系統(Global Positioning System, GPS)是由美國國防部建置和維護 的一個中距離圓型軌道衛星導航系統,它可以為地球表面絕大部分地區提供精準 的定位及準確的時間基準。該系統透過距離地表 19000 公里的 24 顆 GPS 衛星來 完成,定位時,最少要收到其中 3 顆衛星訊號,就能利用三角定位法來取得在地 球上的經緯度座標;當所能接受到的衛星數量越多,其計算出來的位置精確度就 越高,如圖 2-2 所示。此系統原為美國軍用系統,後經美國政府開放於民間使用, 柯林頓政府於 2000 年取消原本民間使用誤差值,使得民間使用此系統誤差值在 10 公尺左右。. 7.

(17) 圖 2- 2 GPS 衛星分布示意圖(資料來源:全人教育百寶箱林傳傑繪圖) 衛星定位的原理主要是藉由每顆 GPS 衛星運行時,任何時刻皆有一個座標 值來代表其所在位置的資訊,而這些位置皆可由衛星的星曆得知。若接收的位置 座標為未知值時,GPS 衛星的訊息在傳送過程中所需耗費的時間,可經由比對其 他衛星時鐘與接收裝置內的時鐘來計算,將此時間誤差值乘以電波傳送速度(約 每秒 30 萬公里),即可得知 GPS 衛星和接收裝置之間的距離。每接收到一顆 GPS 衛星就能列出一個相關的方程式,因此至少接收到三顆 GPS 衛星訊號後,即可 計算出地球平面座標即為經緯度值。當收到四顆衛星訊號則能得到高度值,五顆 衛星訊號更可提升定位的精準度,這就是 GPS 的基本定位原理。 由於 GPS 衛星需要一一掃描太空中的 24 顆衛星來得知目前的所在位置即可 接收到的衛星,接著接收衛星星曆及透過解方程式計算位置,因此從定位裝置開 始運作到定位完成需要花上一段時間,且在衛星定位完成之前不可任意移動定位 裝置以免造成定位計算的結果,從開機到定位完成的過程稱為冷開機。當 GPS 衛星曾經完成的定位位置,接下來的定位資訊則會從記憶體中直接抓取資料,如 8.

(18) 此便可在短時間內完成定位,這種狀態稱為 GPS 暖開機。 輔助全球定位系統(Assisted Global Positioning System , AGPS)是一種在特定 裝置輔助下進行的 GPS 定位方式。它可利用手機基地台的訊號,以連線遠端伺 服器的方式下載衛星星曆,再搭配傳統 GPS 的衛星接收器加快定位的速度。由 於 AGPS 接收器與輔助伺服器之間的任務互為分工的,所以 AGPS 比起普通的 GPS 系統擁有更快的定位速度與更高的效率。GPS 系統擁有以下四大特色: 1.. 全天候,不受任何天氣影響,唯一條件為使用時最好在戶外,避免部分 衛星訊號被建築物、金屬物體所遮蔽。. 2.. 全球覆蓋率高達 98%,幾乎地球表面上任何一個角落皆可藉由 GPS 定 位出精準的位置。. 3.. 三維定點定速時高精確度,除了平面上的二維座標外,GPS 還可定位海 拔高度,但一般標準的海平面基準點與 GPS 略有不同,使用時必須特 別注意。. 4.. 可移動時定位,GPS 在移動時會自動切換至適合的衛星訊號上,以達到 移動定位的效果。. 2.3 情境感知(Context-Aware) 情境感知(Context-Awareness)強調裝置可偵測並計算使用者所在的環境及狀 態,與使用者可能的需求自動迎合。在特定情境中,系統會給予使用者恰當且所 需的訊息與服務,盡而減少多餘的資訊顯示,達到使用者介面的精簡化。 9.

(19) 「Context」字面上的意思為文章的上下脈絡,但在無線通訊領域的應用中 則稱為環境認知[1](Albrecht Schmidt, 1999)、環境感知或者情境感知,此概念最 早是由 Schilit 與 Theimer 在 1994 年所提出的概念,主要是將使用者所需的資訊, 依據不同的地理位置或者情境送達至使用者可利用的地方。 「情境、環境、Context」 歸納出的定義是可以用於描述周遭任何一個實體或非實體的資訊狀態,實體可為 一個人、一個座標位置、周圍物件等,非實體包含時間、氣候、溫度、季節、交 通等資訊內容。任何可與使用者相關的互動皆可列入,使用者本身或應用本身也 能列入其中,互動過程中所產生的資訊內容皆可列入情境資訊,例如: 1.. 空間資訊:座標位置、移動速度、高度等。. 2.. 時間資訊:季節、日期、早中晚等。. 3.. 社會資訊:個人身分、周遭人事物等。. 4.. 環境資訊:溫度、空氣品質、交通狀況、吸菸區等。. 5.. 設備資訊:無線上網設備、停車位、兒童嬉戲區等。. 在情境感知中,資訊內容的取得包含上述「人、事、時、地、物」五個區塊, 最主要還是利用空間資訊或是使用者的資料來取得更好的服務內容。情境感知技 術適合用於運算能力和螢幕尺寸都被限制的行動裝置上,由於行動裝置皆由使用 者隨身攜帶,所以取得的 Context 內容也會隨著使用者的環境而有所不同,成為 一項豐富的背景資料。. 10.

(20) 2.4 JavaScript Object Notation JavaScript Object Notation 簡稱為 JSON 是一種輕量級的資料交換語言,此格 式以文字為基礎且易於讓人閱讀,它是基於 JavaScript 編程語言的一個子集[5] 屬於純文字格式的獨立語言。此外可透過特定格式去儲存任何資料內容,如:字 串、數字、陣列、物件,其優點為相容性高、格式簡單明瞭修改方便、支援許多 資料格式且目前許多程式都有支援函式庫進行讀取或修改 JSON 資料。 如圖 2-3,JSON 主要結構描述方式有物件(Object)和陣列(Array),每一個物 件以「{」開始,並以「}」結束,且一個物件包含一系列{名稱:值}序列,每一 個物件之間使用逗號當作分割。若為陣列則是使用「[」 、 「]」括起來就形成一個 列表且列表中可存在多個物件。. 圖 2- 3 JSON 主要結構圖(圖片來源:JSON.org). 11.

(21) 2.5 政府開放資料 提升一般民眾參與公共政策的議題是世界各國政府積極推動的趨勢。經由政 府透明化的開放資料,可促使各機關部分的資料流通,提升政府施政效能,滿足 民眾需求並強化監督政府的力量。 行政院推動第四階段電子化政府發展主要是在政府資源有限的情況下,善用 民眾無限的創意將政府開放資料進行有效的利用與整合。依據行政院第 3322 次 院會決議[10],政府開放資料(Open Data)將可增加政府施政透明度並提升民眾生 活品質,滿足產業需求,對於政府與部會之間的決策品質有很重大的幫助。如圖 2-4,行政院所屬各機關今後將藉由開放資料、以免費為原則、資料大量且自動 化的釋放與交換等 3 大步驟,並配合推動共用平台(Data.gov.tw)策略讓民眾能更 方便取得開放資料及提升民眾的生活品質[11]。. 圖 2-4 政府開放資料流程圖(圖片來源:政府資料開放平台) 開放資料不算是一種全新的概念,它更像是開放取用(Open Access)、開放內. 12.

(22) 容(Open Content)的概念延伸,這一波開放資料的熱潮中,政府所提供的開放資 料內容最受關注。2009 年美國政府推出「Data.gov」以及 2010 年英國政府的 「Data.gov.uk」相繼推出之後,開放資料的熱潮迅速在全球蔓延。 聯合國經濟及社會事務部(UN DESA)所出版的《2012 年電子化政府調查》 中指出聯合國 193 個會員國裡面,其推動政府開放資料的國家已超過四分之一。 美國政府的「Data.gov」網站上也列出了全世界擁有開放資料網站的國家分布圖, 如圖 2-5 所示。. 圖 2- 5 全球擁有開放資料平台網站的國家分布圖(資料來源:Data.gov) 如圖 2-6 所示,目前我國政府也於 2013 年 4 月 30 號推出政府資料開放平台 (Data.gov.tw)[12],其資料整合了行政院內各政府機關的資訊內容,例如:食、 醫、住、行、育樂、文化、就業、經濟發展和生活品質。目前平台上所提供的測 試資料是由各政府部門提供,依據不同的資料性質,產生不同的資料格式,初期 平台提供的開放檔案格式如 CSV、XML 及 JSON 等格式為主,部分提供 Web Services 直接透過系統介接。各資料集的更新頻率可分為即時、每日、每週、每 13.

(23) 季、每半年、每年、不定期等。. 圖 2- 6 政府資料開放平臺(圖片來源:Data.gov.tw). 2.6 Dropbox 雲端檔案儲存服務 Dropbox 透過雲端儲存來實現檔案同步,讓使用者可以儲存與共享檔案,目 前免費用戶只擁有 2GB 容量,但可以藉由邀請好友加入或完成某些活動任務獲 得額外的空間配額。Dropbox 支援恢復歷史紀錄,若檔案遺失也能從任何一個同 步的電腦中恢復其內容。 目前 Dropbox 所提供的服務內容包含檔案儲存與同步(File Sync)、檔案共享 (File Sharing)、線上備份(Online Backup)、網頁存取(Web Access)、安全與隱私 (Security & Privacy)、手機存取(Mobile Device Access)等特點進行說明如下: 1.. 檔案儲存與同步(File Sync):同步各種類型及大小的檔案,當偵測到有 新增檔案或者檔案內容有所更動時會自動進行同步,若使用者屬於離線 狀態也可將檔案存於本機 Dropbox 資料夾中,當網路恢復連線後檔案會 14.

(24) 自動進行同步更新。 2.. 檔案共享(File Sharing):藉由共享資料夾允許多人同時使用,若其他使 用者對檔案進行更新也能即時得知更新資訊,Dropbox 資料夾中都有一 個 Public 資料夾,可將要公開的資訊內容放入其中並透過公開連結與其 他人分享。. 3.. 線上備份(Online Backup):系統自動備份使用者所有檔案內容且內部還 有反刪除(Undelete)功能,若檔案及資料夾不小心被刪除也能將檔案救 回,檔案刪除回復紀錄時間為 30 天,付費帳號將擁有無限期的回復時 間。. 4.. 網頁存取(Web Access):使用網頁登入 Dropbox 頁面,操作檔案方式與 本機端擁有一樣的功能,如:新增、刪除、編輯、重新命名等等。此外 可透過邀請好友加入獲得額外的使用空間。. 5.. 安全與隱私(Security & Privacy):共享資料夾只有使用者邀請的好友才 能觀看內容,所有資料傳輸採用 SSL 加密技術的通訊協定。所有儲存 在 Dropbox 伺服器的檔案都是 AES-256 加密過,擁有帳號密碼的使用 者才能對檔案進行存取。. 6.. 手機存取(Mobile Device Access):目前免費提供 iPhone APP、Android APP、iPad APP 或黑莓機版本用戶端軟體,讓使用者可隨時隨地存取個 人 Dropbox 且可下載檔案供離線觀看,若使用者使用手持裝置拍照及錄 影也能同步上傳至 Dropbox 中。. 15.

(25) 第3章 系統規劃 近幾年政府積極推動開放政府的概念,經由行政院院會通過,所屬各機關必 需配合主動開放、制定開放資料規範、推動共用平台(Data.gov.tw)與宣導及服務 推廣的四大策略。如圖 3-1,台北市政府率先推出台北市政府開放資料平台 (Data.Taipei)方便使用者共享政府公開資料,截至目前為止資料筆數已有 189 筆, 所提供的資料格式包含:JSON、CSV、EXCEL 等較常見的資料類型,雖然資料 內容並沒有到相當完整,不過對於政府提倡的開放政府的概念已成功邁出一步。. 圖 3- 1 台北市政府開放資料平台(Data.Taipei.gov.tw) 根據 Android 官方網站截至 2013 年 5 月 1 日公布的資料顯示,2010 年 12 月份發布 Android 2.3(Gingerbread) 、2011 年 2 月份推出平板作業系統 Android 3.0(Honeycomb)到 2011 年 4 月份推出手機與平板共生的作業系統 Android4.0(Ice Cream Sandwich),經過數個版本 Android 依然存在著分散多樣化(Fragmentation) 的問題,這也意味著開發者必須注意各個版本之間相容性的問題。. 16.

(26) 圖 3- 2 Android 版本分布(資料來源:Android Developers) 情境感知主要是擷取、分析使用者個人資料或環境分析來讓使用者取得一個 或多個適合的服務項目,而一個較完整的情境感知系統必須符合自動化且要將客 製化的設計納入考量當中。系統執行時,資訊擷取若屬於無中斷狀態且自動執行 就稱為自動化。本研究中主要以空間資訊、環境資訊、設備資訊三種 Context 作 為判斷使用者所需的場景資料的依據,使用者本身可自行選取需使用何種資訊當 作判斷標準,讓系統透過此標準自動回傳相關場景資訊內容。. 3.1. 系統架構 本研究中提出的系統整體架構分為三大部分,分別為 Client 端的使用者、. Server 端的服務系統以及提供查詢與儲存資料的 Database,且希望提供 Client 端 更好的操作方式與減少使用者輸入次數來達到更好的操作結果。如圖 3-3 所示, Client 服務內容包含:GPS 定位、地圖瀏覽、校園導覽、播放影音、查詢公開資 訊、自訂公開資訊內容、瀏覽網頁且使用者可將 Camera 取得的照片藉由 Dropbox API 同步上傳到自己的 Dropbox 空間中儲存與備份,此外使用者透過 Http 抓取 Server 端公開資訊內容並在裝置上解析資料內容且透過多層次畫面方式呈現給 使用者。Server 端服務內容涵蓋 Dropbox 儲存資料夾、資料搜尋、資料比對、資 17.

(27) 料儲存,資料處理方式採用一種輕量級的資料交換語言 JSON[6]與 PHP 程式語 言,JSON 主要以文字為基礎且方式閱讀,其描述資料結構形式為陣列(Array)或 物件(Object)。本研究中的 Database 採用 MySQL 儲存,此種資料庫屬於一個開 放原始碼的關聯式資料庫管理系統,讓管理者可透過 Web 介面管理 MySQL 資料 庫。藉由 Web 介面可簡化繁複的 SQL 語法,尤其在處理大量資料匯出或匯入時 更為方便。當使用者搜尋資料時會將輸入的內容與後端 Database 比對並將資料 於 Server 轉換成 JSON 格式再將檔案回傳至 Client 做分析與呈現。. 圖 3- 3 系統架構圖. 3.2. 台北市政府開放資料平台 本研究中主要是使用台北市政府所提供的開放資料(Open Data),從中挑選使. 用者較常使用的資料進行分析,由於目前的開放資料仍然缺少一致性與多樣性等 問題,因此本研究將資料略為加工,其可增加內容的多樣性,另外這些公開資料 內容存在不可抗力因素,因為資料內容本身錯誤導致系統分析結果也連帶錯誤, 以至於使用者獲得的資訊內容不一定完整。本研究針對「臺北公眾區免費無線上 18.

(28) 網熱點」 、 「臺北市 101 個觀光亮點」 、 「臺北市公私立醫療院所」 、 「臺北市藥局」、 「臺北市微笑單車(Ubike)」等公開資料內容進行分析與探討,另外基於公開資 訊的概念也將使用者生活中所產生的資料內容列為公開資訊的範圍。. 3.2.1. 查詢判斷與分類標準. 依據台北市政府民政局門牌整合檢索系統中查詢用戶門牌區里鄰為標準, 再配合中華郵政各區域街道名稱將公開資訊內容進行分類。臺北市政府於 2010 年為了配合台北國際花卉博覽會進行徵選十二行政區特色區域花卉,並將各區域 選出的代表花卉設計成各行政區域花門牌。本研究根據新門牌格式來進行分類, 由於新門牌中已加入行政區域名稱,因此使用者在查詢時只需要輸入路段名稱即 可(例如:八德路),不僅增加了搜尋的方便性也減少輸入錯誤字的機率,如圖 3-4 所示。. 圖 3- 4 新舊門牌對照圖(右:維基百科、左:台北市信義區公所). 3.3 臺北市公眾區免費無線上網熱點 此資料集是由臺北市政府資訊局所提供且資料將不定期進行更新,如表 3-1 所示,主要欄位結構分別為:熱點名稱、類別、地址、熱點類別、經度、緯度。 此外在每筆資料前面額外加入編號(id)來當作資料處理時的判斷依據。此類別資 料內容結算至 2013 年 3 月 13 日資料數量為 5596 筆。 19.

(29) 表 3- 1 臺北市免費無線上網熱點欄位表 欄位. 欄位類別. 欄位類型. 編號. id. int(4). 熱點名稱. hotspot_name. varchar(24). 類別. area. varchar(48). 地址. address. varchar(209). 熱點類別. hotspot_type. varchar(43). 經度. lng. decimal(10,7). 緯度. lat. decimal(10,8). 如圖 3-5 所示,當進入無線上網熱點查詢系統時,臺北市公眾區免費無線上 網必須使用臺北市政府所提供之帳號密碼,所以使用者在使用前要前往註冊畫面 取得個人專屬的個人資訊,註冊完成後,使用者可選取想查詢的區域名稱,進入 區域內部後使用者可以查閱更詳細的資料內容。區域內部詳細資料內容包含使用 者所選取的區域詳細資料與輸入查詢路段位置相關免費無線上網資訊,使用者查 詢的資料將會透過 PostData.php 存回 Database 資料庫中,當查詢次數達到一定數 量時,系統可自行判斷使用者輸入紀錄來進行資料先後排序。單一筆資料內容是 讓使用者可詳細的了解該資料的場域、區域、種類、地址等資訊且可透過地圖呈 現方式讓使用者了解本身位置與查詢地點相對應位置。. 20.

(30) 進入熱點查 詢系統. 選擇查詢區域. 申請熱點帳號. 區域內部詳細 資料內容. 搜尋路段 資料內容. 單一筆資 料內容. 街景圖. PostData.php. 導航 圖 3- 5 熱點系統操作流程圖. 3.3.1. 各區域內部資料解析. 由於台北市政府開放資料平台所提供的資料串接格式多為 JSON 檔案格 式,此格式多以文字為基礎且方便讓使用者閱讀。JSON 與 XML 最大的差異在 於 XML 是屬於一個比較完整的標記語言,而 JSON 不是。使用 XML 在程式判 讀與解析上需要花較多的時間,XML 利用標記語言特性提供較好的延展性,如: Xpath,在擴充功能與資料儲存上面具有較佳的優勢,反觀 JSON 相對於 XML 來說更加輕巧,更適用於網路資料傳輸。 本研究透過 Http 方式取的 JSON 資料,並在手持裝置上進 JSON 檔案解析與 呈現。圖 3-6 為一個 Http URL 連線並取得 JSON 資料的 Java Class,本研究中系 統解析 JSON 檔案皆是使用此 class 完成,完整內容請參考附錄。 21.

(31) //透過 HTTP 取的 JSON Data try { DefaultHttpClient httpClient = new DefaultHttpClient(); HttpPost httpPost = new HttpPost(url); HttpResponse httpResponse = httpClient.execute(httpPost); HttpEntity httpEntity = httpResponse.getEntity(); is = httpEntity.getContent(); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } catch (ClientProtocolException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } try { // utf-8 為編碼方式、8 為 bufferedreadfer size BufferedReader reader = new BufferedReader(new InputStreamReader(is, "utf-8"), 8); StringBuilder sb = new StringBuilder(); String line = null; while ((line = reader.readLine()) != null) { sb.append(line + "\n"); } is.close(); json = sb.toString(); } catch (Exception e) { } try {. // 解析 String JSON 物件 jObj = new JSONObject(json); } catch (JSONException e) {. } return jObj; // 回傳 JSON string }. 圖 3- 6 Http 連接 URL 取得 JSON 檔案 22.

(32) 如圖 3-7,以 7-ELEVEN 區域為例,Server 端透過 MySQL 語法查詢無線上 網熱點資料庫內容,依據表 3-1 取出所有類別欄位(area)為 7-ELEVEN 的資料並 透過 MySQL 轉 JSON 的 Class 進行格式輸出,再將結果直接透過網頁傳值方式 回傳至使用者手持裝置上進行分析。如圖 3-8,系統中也加入 LocationManager 物件來判斷使用者目前所在位置,並透過 LocationListener 介面取得位置是否更 新的資訊,如圖 3-9。 //載入 json class include('mysql_to_json.class.php'); mysql_connect('localhost', 'database_user', 'database_password'); mysql_select_db('database'); //資料庫編碼方式 mysql_query("SET NAMES 'UTF8'"); mysql_query("SET CHARACTER SET UTF8"); mysql_query("SET CHARACTER_SET_RESULTS=UTF8'"); //SQL 查詢語法 $query = 'SELECT * FROM senven_eleven'; //建立一個 mysql_to_json instance $mtj = new mysql_to_json($query); //顯示 JSON 輸出 echo $mtj->get_json(); $mtj = new mysql_to_json(); echo $mtj->set_query($query)->set_cbfunc('loels')->get_json(); 圖 3- 7 將 MySQL 查詢結果輸出成 JSON 格式 // 取得 LocationManager 物件 locationManager = (LocationManager) getSystemService(LOCATION_SERVICE); // 建立 Criteria 物件,求更精準的定位功能 criteria = new Criteria(); criteria.setAccuracy(Criteria.ACCURACY_FINE); // criteria 回傳最適合的定位名稱, true 代表只回傳目前可提供的定位名稱 String provider = locationManager.getBestProvider(criteria, true); // 指定的定位名稱取得自己最新位置 Location myLocation = locationManager.getLastKnownLocation(provider); this.myLocation = myLocation; 圖 3- 8 透過 LocationManager 物件取得目前位置資訊 23.

(33) // listener 物件實作 LocationListener 介面,專門監聽自己位置是否改變 private LocationListener myLocationListener = new LocationListener() { //若位置改變就更新資訊 public void onLocationChanged(Location location) { myLocation = location; updateMyLocationInfo(location); } }; // 判斷自己位置是否改變 protected void onResume() { super.onResume(); // 當位置改變時讓系統重新擷取最適當的定位方式 String provider = locationManager.getBestProvider(criteria, true); //透過 LocationListener 來判斷自己位置是否改變,1000=1 秒,10=10 公尺 locationManager.requestLocationUpdates(provider, 1000, 10,myLocationListener); } // 畫面切換時即停止更新自己位置 protected void onPause() { locationManager.removeUpdates(myLocationListener); super.onPause(); } 圖 3- 9 LocationListener 更新使用者位置 透過 HTTP 取得 JSON Data 資料格式皆屬於字串(String),因此我們必須將 字串格式的經度與緯度轉換成 double 格式,如圖 3-10。因此我們將轉換完成的 值與自己所在位置的經緯度進行距離的計算,並存入陣列中,經由計算完成的數 值單位為公尺,為了方便使用者查詢本系統將此數值轉為公里,如圖 3-11。 double json_lng = Double.parseDouble(lng); double json_lat = Double.parseDouble(lat); 圖 3- 10 將字串轉換成 double 型態 float[] results = new float[1]; // 計算兩點間的距離(公尺),結果存入 results[0] Location.distanceBetween(myLocation.getLatitude(), myLocation.getLongitude(), json_lat,json_lng, results); //將結果公尺除以 1000 轉換成公里 distance = NumberFormat.getInstance().format(results[0]/1000)+"公里"; 圖 3- 11 計算兩點之間的距離並換算成公里 24.

(34) 當進入單一資料查詢時,畫面會呈現該點位的詳細資料內容並透過 Google Map 來顯示點位內容,若點選地圖上標記訊息視窗系統會將使用者導引至街景圖 中。此外系統中也額外加入導航功能,自動化幫使用者規劃路徑並將相關路徑繪 製於地圖上,如圖 3-12。導航功能必須將使用者目前位置經緯度與目的地位置經 緯度取出後傳入 Map 中,且利用 Intent 方式指定內建 Google 地圖應用程式,如 圖 3-13。 //將經緯度值傳入街景圖中 String strUri = "google.streetview:cbll="+wifi_area_latitude+","+wifi_area_longtitude; //顯示該點位地址 Toast.makeText(SingleTaipeiWifiTrackActivity.this, wifi_area_address, Toast.LENGTH_LONG).show(); //利用 Intent 方式開啟 Google Map 街景圖 Intent intent = new Intent(android.content.Intent.ACTION_VIEW, Uri.parse(strUri)); startActivity(intent); 圖 3- 12 透過 Intent 方式啟動 Google Map 街景圖 // 取得自己位置緯經度 double fromLat = myLocation.getLatitude(); double fromLng = myLocation.getLongitude(); //取的目的地位置經緯度 double toLat = Double.parseDouble(wifi_area_latitude); double toLng = Double.parseDouble(wifi_area_longtitude); direct(fromLat, fromLng, toLat, toLng); // 開啟 Google 地圖應用程式來完成導航 private void direct(double fromLat, double fromLng, double toLat, double toLng) { // 設定前往的 Uri,saddr-出發地緯經度;daddr-目的地緯經度 String uriStr = String.format( "http://maps.google.com/maps?saddr=%f,%f&daddr=%f,%f", fromLat, fromLng, toLat, toLng); Intent intent = new Intent(); // 指定 Google 地圖應用程式 intent.setClassName("com.google.android.apps.maps", "com.google.android.maps.MapsActivity"); // ACTION_VIEW-呈現資料給使用者觀看 intent.setAction(android.content.Intent.ACTION_VIEW); 25.

(35) // 將 Uri 資訊附加到 Intent 物件上 intent.setData(Uri.parse(uriStr)); startActivity(intent); } 圖 3- 13 透過 Intent 啟動 Google Map 導航. 3.3.2. 無線上網熱點資訊查詢. 根據台北市政府所提供的資料進行分析發現公開資訊缺少一致性的問題,如 圖 3-14 所示,無線熱點所提供的位址資訊有提供區域資訊內容而公私立醫療院 所卻無法得知各區域位置,因此本研究使用 3.2.1 章節所提及探討的方式做為判 斷依據。圖 3-15 為使用者搜尋熱點資訊流程圖,首先輸入路段名稱且將資料透 過 PostData.php 將輸入字串存回 searchlog database 且將資料與 allwifipoint 資料表 進行字串比對,並回傳查詢結果。 資料類型:台北市公眾區域免費無線上網熱點 Ex:臺北市內湖區陽光街 383 號(前路燈) 資料類型:台北市公私立醫療院所 Ex:台北市敦化北路 199 號. 圖 3- 14 公開資訊內容差異性. 26.

(36) 輸入搜尋 路段名稱. PostData.php. searchlog. allwifipoint. 圖 3- 15 使用者搜尋熱點流程圖 表 3-2 所示,儲存使用者查詢資料欄位架構為:編號、查詢資料、資料所屬 區域、發布時間。如圖 3-16 所示,Client 端利用 Android Thread 方式送出資料和 圖 3-17,Server 端透過 Http GET 或 Http POST 方式接收 Thread 送出的值。Client 送出的值分別為:查詢資料(Data)、資料所屬區域(hotpoint_code_area),當 Server 端處理完畢後會將資料轉成 JSON 格式並回傳至 Client 端上進行解析。 表 3- 2 儲存使用者查詢資料欄位表 欄位. 欄位類別. 欄位類型. 編號. log_id. int(11). 查詢資料. data. varchar(255). 資料所屬區域. data_area. varchar(255). 發布時間. post_time. timestamp. 27.

(37) /**更新版面的訊息 */ protected static final int REFRESH_DATA = 0x00000001; /**使用的 Handler,來接收其他 Thread 來的訊息 */ Handler mHandler = new Handler() { public void handleMessage(Message msg) { switch (msg.what) { // 顯示 Http 上抓取的資料 case REFRESH_DATA: String result = null; if (msg.obj instanceof String) result = (String) msg.obj; if (result != null){ url = http://xxx.xxx.xxx.xxx./xxx/xxx.php "; start(); }break; } } }; public void startthread(){ /**取得使用者輸入的值並將值放入 Thread 中*/ final String msg = input_search.getEditableText().toString(); Thread t = new Thread(new sendPostRunnable(msg,hotpoint_code_area)); t.start(); } class sendPostRunnable implements Runnable { String strTxt = null; //輸入的值 String strTxt1 = null; //區域值 // 建構子,設定要傳的字串 public sendPostRunnable(String strTxt,String strTxt1) { this.strTxt = strTxt; this.strTxt1 = strTxt1; } public void run() { String result = sendPostDataToInternet(strTxt,strTxt1); mHandler.obtainMessage(REFRESH_DATA, result).sendToTarget(); } } private String sendPostDataToInternet(String strTxt,String strTxt1) { /**建立 Http Post 連線 */ HttpPost httpRequest = new HttpPost(uriAPI); 28.

(38) /**使用 Pos 傳送變數必須用 NameValuePair[]陣列儲存*/ List<NameValuePair> params = new ArrayList<NameValuePair>(); params.add(new BasicNameValuePair("data", strTxt)); params.add(new BasicNameValuePair("hotpoint_code_area", strTxt1)); try { /* 發出 Http request */ httpRequest.setEntity(new UrlEncodedFormEntity(params, HTTP.UTF_8)); /* 取得 Http response */ HttpResponse httpResponse = new DefaultHttpClient() .execute(httpRequest); if (httpResponse.getStatusLine().getStatusCode() == 200) { String strResult = EntityUtils.toString(httpResponse .getEntity());//取出回傳字串 return strResult; // 回傳回應字串 } } catch (Exception e) { e.printStackTrace(); } return strTxt; } 圖 3- 16 Client 端 Android Thread 資料傳送方式 現行 Android 裝置版本為 4.0 以上都有網路連線 Activity 問題,若事件 超過 5 秒鐘沒回應,系統就會強制關閉並且跳出應用程式無回應(Application Not Responsed)簡稱 ANR,因此系統功能中有使用網路連線部分必須放入多執行緒中 處理才行(Thread)。 // 接收 POST/GET 的資料 $data=$_REQUEST['data']; $hotpoint_code_area=$_REQUEST['hotpoint_code_area']; // 如果有資料 if (strcmp(trim($data), "")!=0) { $insertSQL = sprintf("INSERT INTO searchlog (data,data_area) VALUES ('%s','%s');", $data,$hotpoint_code_area); //將資料輸入進資料庫 mysql_query($insertSQL, $dblink) or die(mysql_error()); } 圖 3- 17 Http GET/POST 接收資料且存回資料庫 29.

(39) 3.3.3. 資料呈現方式. 使用者介面(UI)在資料呈現效果上有很大的差異性,為了要讓使用者更方便 操查詢系統,本研究使用多層次畫面作為呈現的方式,如圖 3-18 所示。將使用 者介面分為三層:第一層列出所有區域範圍、第二層列出各區域內每筆資料內容、 第三層將上一層資料描述更詳細並且搭配 Google Map 顯示相對應的點位。多層 次的介面設計將會帶給使用者全新的使用體驗,讓系統操作更加流暢。 申請免費帳號 申請免費帳號 7-ELEVEN 7-ELEVEN 台北捷運公司 台北捷運公司. 台北小巨蛋 台北小巨蛋. 室內公共場域熱點 室內公共場域熱點 地址:台北市xxxx 地址:台北市xxxx 緯度:25.xxxxx 緯度:25.xxxxx 經度:121.xxxxx 經度:121.xxxxx 室外公共場域熱點 室外公共場域熱點 地址:台北市xxxx 地址:台北市xxxx 緯度:25.xxxxx 緯度:25.xxxxx 經度:121.xxxxx 經度:121.xxxxx 室內公共場域熱點 室內公共場域熱點 地址:台北市xxxx 地址:台北市xxxx 緯度:25.xxxxx 緯度:25.xxxxx 經度:121.xxxxx 經度:121.xxxxx. 編號 編號 室內公共場域熱點 室內公共場域熱點 地址:台北市xxxx 地址:台北市xxxx 緯度:25.xxxxx 緯度:25.xxxxx 經度:121.xxxxx 經度:121.xxxxx. Google Google Maps Maps. 街景圖 街景圖. 查詢 查詢 First ListView. Second ListView. Third ListView. 圖 3- 18 使用者介面(UI)設計圖. 3.4 台北市公私立醫療院所 此資料集是由台北市政府衛生局所提供且資料將每月進行更新,如表 3-3 所 示,主要欄位結構分別為:醫療院所名稱、醫療院所地址、醫療院所負責人、醫 療院所電話、醫療院所經度、醫療院所緯度,雖然此公開資訊有提供經度與緯度 欄位,卻無提供相對應的數值,因此本研究將此數值省略不採用。此外在每筆資 料前面額外加入編號(id)來當作資料處理時的判斷依據。此類別資料內容結算至. 30.

(40) 2013 年 5 月 10 日資料量為 3338 筆。 表 3- 3 台北市公私立醫療院所欄位表 欄位. 欄位類別. 欄位類型. 編號. id. int(4). 醫療院所名稱. org_name. varchar(105). contact. varchar(12). 醫療院所地址. addr. varchar(50). 醫療院所電話. contact_phone. varchar(46). 醫療院所負責人. 如圖 3-19 所示,當使用者進入醫療查詢系統時,可選取想查詢的區域名稱, 進入區域內部後使用者可以觀看該區域內所有醫療院所的公開資訊內容,且系統 可透過搜尋方式快速尋找使用者所在地附近的相關資訊。區域內部搜尋方式分為 一般搜尋和關聯式搜尋,一般搜尋是當使用者輸入查詢資料後透過 PostData.php 存回 Database 資料庫中並且回傳查詢資料結果,進階搜尋模組屬於關聯式查詢 方式,利用系統存在的公開資訊當作判斷依據,顯示使用者查詢項目附近其它相 關資訊內容,如:查詢醫院資料時也同時將附近相關的藥局或公眾區域無線上網 熱點資訊回傳給使用者達到更好的使用效果。進階搜尋時會將資料回傳至 DataPharmcy.php 與 DataWifi.php,其中 DataPharmcy.php 接收使用者輸入的查詢 資料與資料所屬區域名稱兩筆內容,而 DataWifi.php 則是將查詢資料放入無線熱 點資料表中進行查詢並將符合該點位的資料內容回傳到 Client 端,如圖 3-20 所 示。. 31.

(41) 進入醫療查 詢系統. 選擇查詢區域. 區域內部詳細 資料內容 搜尋路段 資料內容 PostData.php. 進階搜尋路段 資料內容. 查詢 結果. 街景圖. 進階查 詢結果. DataPharmcy.php DataWifi.php. 導航. 圖 3- 19 公私立醫療院所操作流程圖. 3.4.1. 關聯式進階資料搜尋. 本章節採用 3.2.1 章節所提及的搜尋方式作為判斷依據,當使用者點選進階 搜尋來查詢相關資料時,系統會先呈現該區域查詢結果(如:醫療院所)並將其它 相關結果先暫存於其它 Activity 中,當使用者點選其它相關內容時,系統才會將 資料內容顯示出來,一方面避免記憶體的浪費且增加了使用者操作系統的流暢度 與查詢速度。. 32.

(42) 進階搜尋路段 資料內容 DataPharmcy.php DataWifi.php. 醫療診所資訊. 藥局資訊. 無線網路資訊. 圖 3- 20 關聯式搜尋流程圖 如圖 3-21 本研究中使用 Tab 方式來呈現關聯式搜尋結果且透過切換 Tab 來 顯示資料型態,第一次顯示查詢結果時必須透過網路抓取回傳資料並將資料進行 解析,當資料進行一次解析後若進行資料間 Tab 切換就不需要重新進行網路抓取 資料與解析的動作。. PostData.php. DataPharmcy.php. DataWifi.php. Tab. 醫療院所資訊. 藥局資訊. 無線網路資訊. 圖 3- 21 Tab 切換資訊流程圖 一套完善且多功能的使用者介面必然是由多個 Activity 所組成,每一個 Activity 介面都擁有一個可編輯的且獨立的 XML 檔案。此進階搜尋 Tab 切換是 由三個 Activity 組成,透過 Intent 方式切換每一個 Tab 之間的 Activity,如圖 3-22。. 33.

(43) TabSpec hospital = tabHost.newTabSpec("醫院"); hospital.setIndicator("醫院"); Intent hospitalIntent = new Intent(AndroidTabActivity.this, HospitalAdvanceRelateActivity.class); hospital.setContent(hospitalIntent); tabHost.addTab(hospital); 圖 3- 22 醫院 Tab Intent Activity. 3.4.2. 資料呈現方式. 使用者介面(UI)使用多層次畫面作為呈現方式,如圖 3-23,介面架構主要 分為三層:第一層中列出台北 12 行政區域,如:大安區、中山區、信義區、中 正區、士林區、萬華區、內湖區、北投區、大同區、南港區、文山區。第二層則 是列出各區域內部每筆詳細的數據內容,並搭配查詢與關聯式進階查詢。第三層 顯示查詢結果並計算使用者所在位置與目的地位置的距離關係,也可透過該點位 街景圖讓使用者更了解周遭環境。. 大安區 中山區. 醫院名稱:xxx 醫院地址:xxxx 醫院負責人:xxxx 醫院電話:xxxxx. 醫院名稱:xxx 醫院地址:xxxx 醫院負責人:xxxx 醫院電話:xxxxx 相對距離:xxx.公里. 醫院名稱:xxx 醫院地址:xxxx 醫院負責人:xxxx 醫院電話:xxxxx. 文山區. 醫院名稱:xxx 醫院地址:xxxx 醫院負責人:xxxx 醫院電話:xxxxx. Google Maps 街景圖. 查詢 關聯式查詢 First ListView. Third ListView. Second ListView. 圖 3- 23 使用者介面(UI)設計圖 34. 醫院名稱:xxx 醫院地址:xxxx 醫院負責人:xxxx 醫院電話:xxxxx 藥局名稱:xxx 藥局地址:xxxx. Wifi場域:xxx Wifi地址:xxxx Third ListView.

(44) 3.4.3. 醫療院所資訊查詢. 依據 3.3.2 章節所討論的結果,由於台北市政府所提供的資料內容缺乏完整 性,如圖 3-14,資料集的資料類型皆不相同,因此本研究使用 3.2.1 章節所提及 的查詢方式為依據,使用者只需輸入路段名稱即可查詢。如圖 3-24,輸入路段名 稱後資料透過 PostData.php 將輸入字串存回 searchlog database 且將使用者輸入的 資料與 hospital 資料表進行字串比對,並回傳查詢結果。 如表 3-2 所示,儲存使用者查詢資料欄位架構為:編號、查詢資料、資料所 屬區域、發布時間。如圖 3-16 所示,Client 端利用 Android Thread 方式送出資料 和 Server 端透過 Http GET 或 Http POST 方式接收 Thread 送出的值,如圖 3-17 所示。Client 端送出值分為別:查詢資料(Data)、資料所屬區域(hospital_code_area), 當 Server 端處理完畢後會將資料轉換成 JSON 格式並回傳值至 Client 端進行解析。 如圖 3-14,醫療院所資料類型無分區概念,因此本系統將透過各區域路段名稱來 判斷每筆資料所要擺放的位置,如:台北市鄭州路 145 號(臺北市立聯合醫院), 系統將會根據台北市各行政區域路名來判斷「鄭州路」歸屬於哪一個行政區域, 最後系統判定「鄭州路」為「大安區」 ,如圖 3-25 所示。如圖 3-26,PostData.php. 35.

(45) 輸入搜尋 路段名稱. PostData.php. searchlog. hospital. 圖 3- 24 使用者搜尋醫療院所流程圖 行政區:大同區 行政區所屬路段:大龍街、天水路、太原路、民生西路 民族西路、民權西路、甘州街、西寧北路、赤峰街 延平北路一段、延平北路二段、延平北路三段 昌吉街、長安西路、保安街、南京西路、哈密街 迪化街一段、重慶北路一段、重慶北路二段 重慶北路三段、酒泉街、華陰街、寧夏路、 撫順街、鄭州路、錦西街、歸綏街 雙連街、蘭州街 圖 3- 25 大同區相關路段名稱(資料來源:中華郵政) 接收 Client 端輸入資料後,將資料寫入 searchlog 資料表中並進行資料比對,本 系統將各路段資訊內容放入陣列中,再透過 MySQL 語法進行搜尋,最後將結果 回傳給使用者。 $database_dblink = "taipei_hospital"; $username_dblink = "USERNAME"; $password_dblink = "PASSWORD"; // 建立資料庫連線 $dblink = mysql_pconnect("localhost", $username_dblink, $password_dblink) or trigger_error(mysql_error(),E_USER_ERROR); mysql_query("SET NAMES utf8",$dblink); mysql_query("SET CHARACTER_SET_CLIENT=utf8",$dblink); mysql_query("SET CHARACTER_SET_RESULTS=utf8",$dblink); mysql_select_db($database_dblink, $dblink); 36.

(46) // 如果有資料 if (strcmp(trim($data), "")!=0) { // 將資料輸入進資料庫 $insertSQL = sprintf("INSERT INTO searchlog (data,data_area) VALUES ('%s','%s');", $data,$hospital_code_area); mysql_query($insertSQL, $dblink) or die(mysql_error()); } // 從資料庫撈出來最後一筆資料 $query_rs = "SELECT * FROM searchlog order by log_id desc limit 0,1"; $rs = mysql_query($query_rs, $dblink) or die(mysql_error()); while ($row = mysql_fetch_assoc($rs)) { $test = $row['data_area']; //陣列個數 29 if($test == "大同區"){ $search = array("大龍街","天水路","太原路","民生西路","民族西路","民 權西路","甘州街","西寧北路","赤峰街","延平北路一段","延平北路 二段","延平北路三段","昌吉街","長安西路","保安街","南京西路"," 哈密街","迪化街一段","重慶北路一段","重慶北路二段","重慶北路 三段","酒泉街","華陰街","寧夏路","撫順街","鄭州路","錦西街","歸 綏街","雙連街","蘭州街"); $str = $row['data']; $query = "SELECT * FROM hospital WHERE ( addr LIKE BINARY '%$search[0]%' OR addr LIKE BINARY '%$search[1]%' OR addr LIKE BINARY '%$search[2]%' OR addr LIKE BINARY '%$search[3]%'OR addr LIKE BINARY '%$search[4]%' OR addr LIKE BINARY '%$search[5]%' OR addr LIKE BINARY '%$search[6]%' OR addr LIKE BINARY '%$search[7]%' OR addr LIKE BINARY '%$search[8]%'OR addr LIKE BINARY '%$search[9]%' OR addr LIKE BINARY '%$search[10]%' OR addr LIKE BINARY '%$search[11]%' OR addr LIKE BINARY '%$search[12]%' OR addr LIKE BINARY '%$search[13]%'OR addr LIKE BINARY '%$search[14]%' OR addr LIKE BINARY '%$search[15]%' OR addr LIKE BINARY '%$search[16]%' OR addr LIKE BINARY '%$search[17]%' OR addr LIKE BINARY '%$search[18]%' OR addr LIKE BINARY '%$search[19]%'OR addr LIKE BINARY '%$search[20]%' OR addr LIKE BINARY '%$search[21]%' OR 37.

(47) addr LIKE BINARY '%$search[22]%' OR addr LIKE BINARY '%$search[23]%' OR addr LIKE BINARY '%$search[24]%' OR addr LIKE BINARY '%$search[25]%' OR addr LIKE BINARY '%$search[26]%' OR addr LIKE BINARY '%$search[27]%' OR addr LIKE BINARY '%$search[28]%' OR addr LIKE BINARY '%$search[29]%') AND (addr LIKE BINARY '%$str%')"; //Client 端的比對字串內容 $mtj = new mysql_to_json($query); echo $mtj->get_json(); echo $mtj->set_query($query); } } 圖 3- 26 接收與比對使用者輸入的路段名稱. 3.5. 台北市藥局公開資訊 此資料集是由台北市政府衛生局所提供且資料將每月進行更新,如表 3-4 所. 示,主要欄位結構分別為:藥局名稱、藥局地址,此外在每筆資料前面額外加入 編號(id)來當作資料處理時的判斷依據。由於本資料所提供的欄位略嫌不足且資 料筆數不足 1000 筆因此藥局公開資訊採用一層架構將資料顯示出來。此類別資 料內容結算至 2013 年 5 月 10 日資料數量為 790 筆。 表 3- 4 台北市藥局欄位表 欄位. 欄位類別. 欄位類型. 編號. id. int(3). 藥局名稱. name. varchar(30). 藥局地址. addr. varchar(47). 如圖 3-27 所示,當進去藥局系統時,可直接查詢 ListView 表格內的資訊內 容或者利用查詢功能按鈕快速尋找使用者所在地點附近的相關資訊內容。使用者 38.

(48) 查詢的資料將會透過 PostData.php 存回 Database 資料庫中。. 進入藥局查 詢系統 顯示藥局 資料內容. 搜尋路段 資料內容. 街景圖. 導航. PostData.php. 圖 3- 27 藥局系統操作流程圖. 3.5.1. 資料呈現方式. 使用者介面(UI)使用多層次畫面作為呈現方式,如圖 3-28,主要架構分為 兩層:由於資料筆數不多因此第一層架構直接呈現資料內容,包含藥局名稱與藥 局地址,第二層內容則是顯示查詢資料結果並計算使用者所在位置與目的地位置 的距離關係,也能藉由該點位街景圖讓使用者更了解周遭環境。 藥局名稱:xxx 藥局名稱:xxx 藥局地址:xxxx 藥局地址:xxxx. 藥局名稱:xxx 藥局名稱:xxx 藥局地址:xxxx 藥局地址:xxxx 相對距離:xxx.公里 相對距離:xxx.公里. 藥局名稱:xxx 藥局名稱:xxx 藥局地址:xxxx 藥局地址:xxxx 藥局名稱:xxx 藥局名稱:xxx 藥局地址:xxxx 藥局地址:xxxx 藥局名稱:xxx 藥局名稱:xxx 藥局地址:xxxx 藥局地址:xxxx 藥局名稱:xxx 藥局名稱:xxx 藥局地址:xxxx 藥局地址:xxxx. Google Google Maps Maps 街景圖 街景圖. 藥局名稱:xxx 藥局名稱:xxx 藥局地址:xxxx 藥局地址:xxxx 查詢 查詢 First ListView. Second ListView. 圖 3- 28 使用者介面(UI)設計圖. 39.

(49) 3.5.2. 藥局資訊查詢. 根據 3.3.2 章節所討論的結果,由於台北市政府所提供的藥局資訊內容較為 簡單,因此只需將使用者輸入的路段名稱透過 Android Thread 方式傳送至 Server 端,且 Server 端經由 Http GET 或 Http POST 方式接收 Thread 所送出的值。如圖 3-29,藉由 MySQL 語法儲存使用者搜尋的資料結果,當 Server 端處理完畢後會 將資料轉換成 JSON 格式並回傳值至 Client 端進行解析。 $database_dblink = "taipei_pharmacy"; $username_dblink = "USERNAME"; $password_dblink = "PASSWORD"; // 建立資料庫連線 $dblink = mysql_pconnect("localhost", $username_dblink, $password_dblink) or trigger_error(mysql_error(),E_USER_ERROR); mysql_query("SET NAMES utf8",$dblink); mysql_query("SET CHARACTER_SET_CLIENT=utf8",$dblink); mysql_query("SET CHARACTER_SET_RESULTS=utf8",$dblink); mysql_select_db($database_dblink, $dblink); // 如果有資料 if (strcmp(trim($data), "")!=0) { // 將資料輸入進資料庫 $insertSQL = sprintf("INSERT INTO searchlog (data) VALUES ('%s');", $data); mysql_query($insertSQL, $dblink) or die(mysql_error()); } // 從資料庫撈出來最後一筆資料 $query_rs = "SELECT * FROM searchlog order by log_id desc limit 0,1"; $rs = mysql_query($query_rs, $dblink) or die(mysql_error()); while ($row = mysql_fetch_assoc($rs)) { $str = $row['data']; $query = "SELECT * FROM pharmacy WHERE addr LIKE BINARY '%$str%'"; $mtj = new mysql_to_json($query); echo $mtj->get_json(); echo $mtj->set_query($query); } 圖 3- 29 儲存使用者查詢資料並進行資料庫比對 40.

(50) 3.6 臺北市 101 個觀光亮點 此資料集是由台北市政府觀光傳播局所提供且資料將不定期進行更新,如表 3-5 所示,主要欄位分別為景點名稱、景點服務處電話、景點網站、景點地址、 景點開放時間。此外在每筆資料前面將加入編號(id)來當作資料處理時的判斷依 據,此類別資料內容結算至 2013 年 3 月 29 日資料數量為 101 筆。 表 3- 5 台北市 101 個觀光亮點欄位表 欄位. 欄位類別. 欄位類型. 編號. id. int(3). 景點名稱. attractions. varchar(39). 景點服務處電話. tel. varchar(67). 景點網站. website. varchar(80). 景點地址. addr. varchar(109). 景點開放時間. opening_hour. varchar(261). 如圖 3-31,使用者進入觀光景點查詢系統時,可選取想查詢的區域,進入區 域內部後使用者可以查詢更詳細的資料內容,該區域提供觀光景點名稱、地址、 電話與開放時間等資訊,點選欲查詢的選項並進入下一層 Activity,此層內容會 額外顯示該景點的網站資訊內容。此外使用者也可透過搜尋方式查詢景點資訊, 使用者查詢的資訊將會透過 PostData.php 存回 Database 資料庫中。另外資料提供 了 Website 欄位來存放網站網址內容,Client 必須使用 Android WebView 元件才 能顯示出此資料內容,WebView 加載網頁也必須在 AndroidManifest.xml 中添加 41.

(51) "android.permission.INTERNET"這個網路權限,如圖 3-30。 <uses-permission android:name="android.permission.INTERNET" /> 圖 3- 30 開啟 Internet 權限. 進入觀光景點 查詢系統 選擇查詢區域. 區域內部詳細 資料內容 搜尋路段 資料內容. 單一筆資 料內容. PostData.php. 圖 3- 31 觀光景點系統操作流程圖. 3.6.1. 資料呈現方式. 如圖 3-32,使用者介面使用多層次畫面作為呈現方式,介面架構主要分 層三層:第一層架構中主要呈現台北市 12 個行政區域,第二層則是列出各個區 域內部資料的詳細內容資訊並且搭配查詢功能,第三層架構主要是用顯示單筆資 料內容且透過 WebView 方式將解析完的網址直接顯示出來,此方式方便使用者 進行操作與查詢相關景點資訊。此外網頁載入技術如 3.6 章節所敘述,必須使用 Android 網路權限才有辦法正常使用。. 42.

參考文獻

相關文件

五、 最遲應於甄試日前一週,於分署網站公告甄試資訊。甄試資

下列哪一種記憶體屬於非揮發性記憶體, 不會因電源關閉而使其中的資料消 失, 但是可以透過電壓的方式重複抹除資料, 可用於基本輸入/ 輸出系統 (Basic Input / Output System,BIOS)

審查整理呈現資料:蒐集到的資料應先審核 是否完整、正確、合理與一致,然後利用敘

課程開課月份及預計學生人數(表格1) 8月 – 7月(翌年) 於「統⼀登入系統」呈報更新的學⽣資料.

操作流程: 系統選單-&gt;財產管理系統-&gt;點選報廢申請單-&gt;填寫報廢申請單資料(主 單、明細)-&gt;點選確認

 想要設計一個具有兩個輸入G(gate閘控)和 D(data資料)以及一個輸出Q的閘控閂電 路。當G等於1時,在輸入D出現的二進位資料

資料 詳細 標示

6月上旬 於「統一登入系統」呈報新學年 課程開課月份及預計學生人數(表格1) 8月 – 7月(翌年) 於「統一登入系統」呈報更新的學生資料.