Presentation is loading. Please wait.

Presentation is loading. Please wait.

第一章 Android App導論 課程名稱:程式設計 授課老師:李春雄 博士

Similar presentations


Presentation on theme: "第一章 Android App導論 課程名稱:程式設計 授課老師:李春雄 博士"— Presentation transcript:

1 第一章 Android App導論 課程名稱:程式設計 授課老師:李春雄 博士
授課老師:李春雄 博士 各位同學大家好,我是李春雄老師,本學期所開設的課程名稱為「資料結構」, 今天所要為各位介紹的是第一章「資料結構導論」

2 本章學習目標 1.讓讀者了解行動載具與行動應用程式的關係及 Android APP的種類。
開始: 本章學習目標 有二項:

3 本章內容 1-1 行動載具(Mobile Devices) 1-2 行動應用程式(Mobile Application)
1-3 應用程式(Application; App)的種類 1-4 Android 作業系統 1-5 Android作業系統的架構 1-6 App Inventor拼圖程式 1-1 認識資料與資訊的關係: 其中,「資料」轉換成「資訊」必須要經過一連串處理過程,而這一連串的處理過程就是透過「程式」來處理。 1-2 何謂資料結構? 「資料結構」(Data Structures)主要是探討如何將資料更有組織地存放到電腦記憶體中,以提昇程式之執行效率的一 門學問。 1-3 何謂演算法?演算法就是「解決問題的方法」 1-4 程式設計概念: 步驟1. 分析所要解決的問題 步驟2. 設計解題的步驟 步驟3. 編寫程式 步驟4. 上機測試、偵測錯誤 步驟5. 編寫程 式說明書 1-5 結構化程式設計 利用「由上而下」的技巧,將程式分解成許多個獨立功能的模組。並且每一個模組都是由三種結構所組成。分別為循序結構、選擇結構及重複結構。 1-6 演算法的效率評估 指用來計算某些演算法所撰寫的程式,在經過編譯之後,實際執行所需要的時間。

4 1-1 行動載具(Mobile Devices)
【引言】 我們都知道,任何載具(例如:手機、平板電腦或筆電…等),都是不會動的。那到底是誰可以讓這些「載具」變成「行動載具」呢? 答案就是:「人」! 當我們把不會動的載具(例如:手機或ipad),固定放在「室內」時, 就不能稱為「行動載具」了。 當我們把不會動的載具(例如:手機或ipad),隨身攜帶在「室外」時, 就稱為「行動載具」了。 因此,想要在「室外」聽音樂、看影片或玩通訊軟體(LINE)等各種活動,就必須要攜帶載具,也就目前最熱門的「智慧型行動載具」,並且在後PC時代,利用行動載具來上網的數量與應用,已經呈現爆炸性的成長。 圖: 接下來,我們可以從圖1-1來說明「資料與資訊的關係」 當我們「輸入原始成績」之後,如何輸出一張成績單呢?那就必須要透過「程式」來進行處理, 而在資料結構中,程式=資料結構+演算法

5 1-1 行動載具(續…) 【種類】 手機、電子書閱讀器(iPad)、筆記型電腦(平板電腦)及個人數位助理 (PDA)。
1-1 行動載具(續…) 【種類】 手機、電子書閱讀器(iPad)、筆記型電腦(平板電腦)及個人數位助理 (PDA)。 【分類】1.行動「通訊」裝置 2.行動「閱讀」裝置 【示意圖】 圖: 接下來,我們可以從圖1-1來說明「資料與資訊的關係」 當我們「輸入原始成績」之後,如何輸出一張成績單呢?那就必須要透過「程式」來進行處理, 而在資料結構中,程式=資料結構+演算法

6 1-1.1 行動「通訊」裝置 【定義】是指具備多媒體上網功能的小螢幕行動裝置,主要做為通訊使用。
行動「通訊」裝置 【定義】是指具備多媒體上網功能的小螢幕行動裝置,主要做為通訊使用。 【例如】手機(iPhone)與個人數位助理(PDA) 【優點】攜帶方便(2∼5英寸的掌上型螢幕)。 【適用族群】學生族 【示意圖】 圖: 接下來,我們可以從圖1-1來說明「資料與資訊的關係」 當我們「輸入原始成績」之後,如何輸出一張成績單呢?那就必須要透過「程式」來進行處理, 而在資料結構中,程式=資料結構+演算法

7 1-1.2 行動「閱讀」裝置 【定義】是指具備傳統筆記型電腦基本的上網及文書處理功能。 主要是支援閱讀與查詢的功能。
【例如】「電子書閱讀器(iPad)」與「平板電腦」 【特性】1.具有「輕、薄、短、小」的特點。 2.「省電機制」讓使用者能長時間地閱讀。 3.「輕薄不占空間」讓使用者隨時隨地可閱讀。 【優點】閱讀攜帶方便(9∼10英寸的書本型螢幕)。 【適用族群】上班族 【示意圖】 圖: 接下來,我們可以從圖1-1來說明「資料與資訊的關係」 當我們「輸入原始成績」之後,如何輸出一張成績單呢?那就必須要透過「程式」來進行處理, 而在資料結構中,程式=資料結構+演算法

8 【使用者介面】 許有專家及學者認為使用者介面可分為三大類: 1.硬體操作介面:稱為實體操作介面,包含傳統的控制器、顯示器的控
制面板,以及產品實體由使用者操作的部位。 2.軟體操作介面:一般稱為圖形操作介面,即藉由圖像增加使用者的理 解程度而方便操作。 3.觸控式操作介面:在觸控式面板上結合「軟、硬體使用者介面」,讓 使用者只需使用手指就可操作。 【示意圖】 圖: 接下來,我們可以從圖1-1來說明「資料與資訊的關係」 當我們「輸入原始成績」之後,如何輸出一張成績單呢?那就必須要透過「程式」來進行處理, 而在資料結構中,程式=資料結構+演算法

9 【隨堂抽問】作業 1.請問各位同學「平板電腦」與「筆記型電腦」有何不同? (針對功能面及使用面來討論)
2.請問各位同學未來有可能「平板電腦」取代「筆記型電腦」嗎? 請說明為什麼? 圖: 接下來,我們可以從圖1-1來說明「資料與資訊的關係」 當我們「輸入原始成績」之後,如何輸出一張成績單呢?那就必須要透過「程式」來進行處理, 而在資料結構中,程式=資料結構+演算法

10 1-2 行動應用程式(Mobile Application)
【引言】 由於資訊科技的進步,使得一般的使用者的「閱讀模式」已從「個人電腦PC」轉移到利用「行動載具」。 【原因】硬體成熟、攜帶方便。 【示意圖】 圖: 接下來,我們可以從圖1-1來說明「資料與資訊的關係」 當我們「輸入原始成績」之後,如何輸出一張成績單呢?那就必須要透過「程式」來進行處理, 而在資料結構中,程式=資料結構+演算法

11 【目前存在的問題】 如果只有「行動載具」,沒有適合自己喜歡的「行動應用程式」時, 英雄無用武之地。 【示意圖】 圖:
接下來,我們可以從圖1-1來說明「資料與資訊的關係」 當我們「輸入原始成績」之後,如何輸出一張成績單呢?那就必須要透過「程式」來進行處理, 而在資料結構中,程式=資料結構+演算法

12 【解決方法】 開發「行動應用程式」 「行動應用程式」對於使用者利用「行動載具」來進行「行動應用」是非常重要。 【示意圖】 【註】
行動應用程式(Mobile Application)又稱為應用程式(Application;簡稱為App),它是指在行動載具上執行的應用程式。如果此App是在Android作業系統上執行時,又稱為Android App。 圖: 接下來,我們可以從圖1-1來說明「資料與資訊的關係」 當我們「輸入原始成績」之後,如何輸出一張成績單呢?那就必須要透過「程式」來進行處理, 而在資料結構中,程式=資料結構+演算法

13 【隨堂抽問】作業 1.請各位同學到Google Play商店中,查詢「行動應用程式」分成那些 類別?並說明列出之。 圖:
接下來,我們可以從圖1-1來說明「資料與資訊的關係」 當我們「輸入原始成績」之後,如何輸出一張成績單呢?那就必須要透過「程式」來進行處理, 而在資料結構中,程式=資料結構+演算法

14 1-3 Android App開發方式 【引言】 既然行動應用程式對於使用者(包括一般使用者、企業、醫院、學校…等)在利用「行動載具」那些重要。那未來(或目前)想要成為程式設計師的讀者們,要如何選擇適當的開發工具,將是非常重要的議題。 因此,在為企業之使用者開發APP之前,必須要先考慮開發的目的與使用對象。是給企業內部的使用者?還是給外部客戶與消費民眾使用呢?必須要界定清楚。否則,如果使用者分析錯誤,或是選擇不合適的開發工具,可能會因此弄巧成拙,導致企業讓使用者有負面評價。 圖: 接下來,我們可以從圖1-1來說明「資料與資訊的關係」 當我們「輸入原始成績」之後,如何輸出一張成績單呢?那就必須要透過「程式」來進行處理, 而在資料結構中,程式=資料結構+演算法

15 【開發方式】 基本上,依照目前市面上APP開發工具,可以分為三種開發方式:
1.原生應用程式(Native Application);又稱為原生APP。 2.Web應用程式(Web Application);又稱為Web APP。 3.混合式應用程式(Hybrid Application);又稱為混合式APP。 圖: 接下來,我們可以從圖1-1來說明「資料與資訊的關係」 當我們「輸入原始成績」之後,如何輸出一張成績單呢?那就必須要透過「程式」來進行處理, 而在資料結構中,程式=資料結構+演算法

16 1-3.1 原生應用程式(Native Application)
【定義】又稱為原生APP,它是指利用各種作業系統所支援的標準程式語言來進行開發,再透過各種作業系統的SDK(如Android SDK)來編譯成可安裝及執行的應用程式(.apk)。 【常見的原生APP】 【說明】 除了手機內建之外,都必須要下載及安裝(.apk)。 圖: 接下來,我們可以從圖1-1來說明「資料與資訊的關係」 當我們「輸入原始成績」之後,如何輸出一張成績單呢?那就必須要透過「程式」來進行處理, 而在資料結構中,程式=資料結構+演算法

17 【使用技術工具之種類】 1. iOS作業系統:使用Objective-C。
2. Android作業系統:使用JAVA或B4A(Basic4Android)註1 3. Windows Phone作業系統:使用C#或VB.NET等。 【註1】 Basic4Android程式語言(簡稱為B4A),是一套專門開發Android APP的BASIC語言,它是由以色列國家的「Anywhere Software」軟體公司所開發。詳細介紹,請參見第二章。 圖: 接下來,我們可以從圖1-1來說明「資料與資訊的關係」 當我們「輸入原始成績」之後,如何輸出一張成績單呢?那就必須要透過「程式」來進行處理, 而在資料結構中,程式=資料結構+演算法

18 原生APP 【適用時機】 1. 需要使用行動載具上的硬體功能(如:照相機、GPS定位服務…等)
2. 需要使用行動載具上的軟體功能(如:通訊錄、SQLite資料庫…等) 例如1:LINE通訊軟體APP可以使用手機內的通訊錄。 例如2:行動資訊系統APP可以使用手機內的SQLite資料庫。 3. 離線環境也能使用(如:手電筒APP、遊戲APP)。 圖: 接下來,我們可以從圖1-1來說明「資料與資訊的關係」 當我們「輸入原始成績」之後,如何輸出一張成績單呢?那就必須要透過「程式」來進行處理, 而在資料結構中,程式=資料結構+演算法

19 原生APP 【優點】 1. 可能使用行動載具上的軟、硬體資源(如:照相機、GPS定位服務…)。 2. 執行效能最高(優於Web APP及混合式APP)。 3. 可以離線使用資料庫(如SQLite)。 4. 具有推播通知功能(如:電池剩餘電量過低時的通知、時區動態更新 (台灣與日本相差一個小時,會自動轉換)…)。 圖: 接下來,我們可以從圖1-1來說明「資料與資訊的關係」 當我們「輸入原始成績」之後,如何輸出一張成績單呢?那就必須要透過「程式」來進行處理, 而在資料結構中,程式=資料結構+演算法

20 原生APP 【缺點】 1.程式難度較高,開發不容易。 例如:必須要學會Objective-C、JAVA或B4A。
2.無法跨平台,亦即不同平台必須使用不同的語言來開發。 例如:iOS平台必須要使用Objective-C。 Android平台必須要使用JAVA或B4A。 3.硬體成本高。 例如:開發iOS版本時,必須要使用Mac電腦。 例如:開發Android版本時,因為版本種類較多,必須要準備較多機 器進行實測使用。 4.發佈上架成本高(加入開發者會員)。 例如:開發者註冊費用為美金25元。 圖: 接下來,我們可以從圖1-1來說明「資料與資訊的關係」 當我們「輸入原始成績」之後,如何輸出一張成績單呢?那就必須要透過「程式」來進行處理, 而在資料結構中,程式=資料結構+演算法

21 1-3.2 Web應用程式 (Web Application)
【說明】不需要下載及安裝,透過瀏覽器可直接操作網頁應用程式。 圖: 接下來,我們可以從圖1-1來說明「資料與資訊的關係」 當我們「輸入原始成績」之後,如何輸出一張成績單呢?那就必須要透過「程式」來進行處理, 而在資料結構中,程式=資料結構+演算法

22 【使用技術工具之種類】 1. 使用HTML5與CSS3。
2. 使用Java script與開發者已熟悉網頁技術,如ASP.NET來進行開發。 3. 使用Visual Studio 2012,可以直接建立JQuery Mobile的網頁應用 程式,就可以來達到大小螢幕都可以使用的效果。 圖: 接下來,我們可以從圖1-1來說明「資料與資訊的關係」 當我們「輸入原始成績」之後,如何輸出一張成績單呢?那就必須要透過「程式」來進行處理, 而在資料結構中,程式=資料結構+演算法

23 Web APP 【適用時機】 1. 沒有程式設計背景者。 2. 上架到App Store 可能「審核不過」的APP。
3. 資訊必須要「經常更新」(如:頭條新聞…) 4. 有「跨平台」需求者(如:可同時在iOS、Android或Windows Phone等使用) 圖: 接下來,我們可以從圖1-1來說明「資料與資訊的關係」 當我們「輸入原始成績」之後,如何輸出一張成績單呢?那就必須要透過「程式」來進行處理, 而在資料結構中,程式=資料結構+演算法

24 Web APP 【優點】 1. 開發門檻低,不需學習難度較高的Objective-C或JAVA。
2. 開發成本低,不需購買各種硬體及繳交開發者授權費。 3. 更新版本容易,直接在網頁伺服器更新即可,不需要重新上架到 Google Play。 4.可跨平台使用,透過瀏覽器可以在不同的行動載具上使用。 圖: 接下來,我們可以從圖1-1來說明「資料與資訊的關係」 當我們「輸入原始成績」之後,如何輸出一張成績單呢?那就必須要透過「程式」來進行處理, 而在資料結構中,程式=資料結構+演算法

25 Web APP 【缺點】 1. 無法使用行動載具上的軟、硬體資源與系統API(如:照相機、GPS…)。 2. 執行效能最差(網頁的操作反應速度較慢)。 3. 離線時無法操作頁面。 4. 沒有推播通知功能。(所以無法通知使用者目前電池剩餘電量過低的 狀態)。 圖: 接下來,我們可以從圖1-1來說明「資料與資訊的關係」 當我們「輸入原始成績」之後,如何輸出一張成績單呢?那就必須要透過「程式」來進行處理, 而在資料結構中,程式=資料結構+演算法

26 1-3.3 混合式應用程式(Hybrid Application)
【說明】必須要下載及安裝(.apk或.ipk)。 圖: 接下來,我們可以從圖1-1來說明「資料與資訊的關係」 當我們「輸入原始成績」之後,如何輸出一張成績單呢?那就必須要透過「程式」來進行處理, 而在資料結構中,程式=資料結構+演算法

27 【使用技術工具之種類】 1. 透過Android原生應用程式中Web View物件 2. 透過iOS原生應用程式中UIWeb View物件
3. 透過第三方的框架(例如:PhoneGap、Titanium、AppMobi等) 將網頁內容直接包裝成應用程式檔(.apk、.ipa)發佈。 圖: 接下來,我們可以從圖1-1來說明「資料與資訊的關係」 當我們「輸入原始成績」之後,如何輸出一張成績單呢?那就必須要透過「程式」來進行處理, 而在資料結構中,程式=資料結構+演算法

28 混合式APP 【優點】 1.兼具「原生App」系統硬體支援與「Web App」跨平台整合能力。
2.可以順利使用系統上軟、硬體資源與系統API(如:照相機、GPS…等)。 3.具有跨平台整合能力(如:透過第三方的框架,提供各種跨平台的API 讓開發者使用。 4.可降低開發及維護成本(設計者不需學習難度較高的Objective-C或 JAVA)。 5.離線時可以操作頁面。 圖: 接下來,我們可以從圖1-1來說明「資料與資訊的關係」 當我們「輸入原始成績」之後,如何輸出一張成績單呢?那就必須要透過「程式」來進行處理, 而在資料結構中,程式=資料結構+演算法

29 混合式APP 【缺點】 速度與效能仍然比不上原生APP。 (原因:多透過一層程式碼轉換)。 圖:
接下來,我們可以從圖1-1來說明「資料與資訊的關係」 當我們「輸入原始成績」之後,如何輸出一張成績單呢?那就必須要透過「程式」來進行處理, 而在資料結構中,程式=資料結構+演算法

30 【小結】 綜合上述,未來想成為程式設計師的讀者們,想要開發某一企業的行動應用程式(APP)時,務必先要進行使用者操作情境分析。
例如:網路連線狀況(是否隨時有網路環境)、頻寬大小、平台的種類(iOS或Android)以及對於資訊內容的即時性、時效性…等,如此,才能針對各種不同應用程式需求,選擇最適合的開發方式。 例如,平常只能使用離線操作,但是,當連上網路時,必須要將異動資料內容與資料庫同步更新,此時,您的開發方式就必須要選擇「原生APP」或「混合式APP」,而不適合使用「Web APP」了。 圖: 接下來,我們可以從圖1-1來說明「資料與資訊的關係」 當我們「輸入原始成績」之後,如何輸出一張成績單呢?那就必須要透過「程式」來進行處理, 而在資料結構中,程式=資料結構+演算法

31 【隨堂抽問】作業 1.請各位同學再針對以下三種APP,再各找二個案例: (1)原生應用程式(Native Application)
(2)Web應用程式(Web Application) (3)混合式應用程式(Hybrid Application) 圖: 接下來,我們可以從圖1-1來說明「資料與資訊的關係」 當我們「輸入原始成績」之後,如何輸出一張成績單呢?那就必須要透過「程式」來進行處理, 而在資料結構中,程式=資料結構+演算法

32 1-4 Android 作業系統 【定義】 Android是一套建構在Linux作業系統之上的智慧型手機作業系統。 【英文意思】機器人。
【圖示】利用綠色機器人圖號表示 圖: 接下來,我們可以從圖1-1來說明「資料與資訊的關係」 當我們「輸入原始成績」之後,如何輸出一張成績單呢?那就必須要透過「程式」來進行處理, 而在資料結構中,程式=資料結構+演算法

33 Android 【版本】 Android作業系統在2007年11月發佈Android測試版。
Android是由谷歌和開發手機聯盟(OHA)的不斷發展之下,已經開發出一系列Android系統。並且每一個版本都會更新前一個版本的錯誤及增加新功能。 因此,自從2009年4月開始,Android版本每開發一個新版本,就會有一個代號,如果按照字母順序排列:蛋糕、甜甜圈、…等。 圖: 接下來,我們可以從圖1-1來說明「資料與資訊的關係」 當我們「輸入原始成績」之後,如何輸出一張成績單呢?那就必須要透過「程式」來進行處理, 而在資料結構中,程式=資料結構+演算法

34 Android 【版本】(續…) 圖: 接下來,我們可以從圖1-1來說明「資料與資訊的關係」
當我們「輸入原始成績」之後,如何輸出一張成績單呢?那就必須要透過「程式」來進行處理, 而在資料結構中,程式=資料結構+演算法

35 Android 【版本】(續…) 圖: 接下來,我們可以從圖1-1來說明「資料與資訊的關係」
當我們「輸入原始成績」之後,如何輸出一張成績單呢?那就必須要透過「程式」來進行處理, 而在資料結構中,程式=資料結構+演算法

36 Android 【特色】 1.完全免費的作業系統。 2.真正為行動載具打造的專屬作業系統。 3.符合環境概念(因為行動載具輕薄短小的特性)。
圖: 接下來,我們可以從圖1-1來說明「資料與資訊的關係」 當我們「輸入原始成績」之後,如何輸出一張成績單呢?那就必須要透過「程式」來進行處理, 而在資料結構中,程式=資料結構+演算法

37 Android 【對使用者及開發者的關係】
1.對一般使用者而言: 打電話、傳簡訊、上網瀏覽網頁、收發 …等。 2.對程式開發者而言: (1)開發應用程式(如:遊戲軟體、影音娛樂軟體甚至企業商用軟體) (2)上架到Google的Play商店 (3)提供給使用者下載、分享或其他的商業活動。 圖: 接下來,我們可以從圖1-1來說明「資料與資訊的關係」 當我們「輸入原始成績」之後,如何輸出一張成績單呢?那就必須要透過「程式」來進行處理, 而在資料結構中,程式=資料結構+演算法

38 Android 【功能】 1. 多點觸控:Android支援原生的多點觸摸功能。
2. 顯示佈局:除了支援2D之外,運用OpenGL ES 3D圖形處理函式庫 來處理3D立體圖形之遊戲的開發工作。 3. 網路:支援所有的網路格式,包括:藍牙(Bluetooth)、無線網絡 (Wi-Fi)、 第四代無線通訊(WiMAX)…等。 4. 瀏覽器:內置Webkit網頁引擎(Web browser engine),它可以讓電 腦網頁,自動調整成手機小螢幕大小的畫面。 5.資料存儲:內建SQLite資料庫管理系統來負責存儲行動應用程式所需 的資料。 圖: 接下來,我們可以從圖1-1來說明「資料與資訊的關係」 當我們「輸入原始成績」之後,如何輸出一張成績單呢?那就必須要透過「程式」來進行處理, 而在資料結構中,程式=資料結構+演算法

39 Android 【功能】(續…) 6.多媒體支援: (1) 聲音檔:MP3、MIDI、WAV…等
(2) 圖像檔:JPEG、PNG、GIF、BMP…等。 (3) 影音檔:MP4及支援Flash(但要先安裝RealPlayer) …等。 7.硬體支援:GPS、加速計、陀螺儀、氣壓計、磁強計、USB Disk、 專用的遊戲控制器、體感控制器、感應和壓力感測器、溫度計…等。 8.語言:Android作業系統支援多國語言。 9.截圖功能:允許用戶直接抓取智慧型手機螢幕上的任何畫面。 10.語音功能:使用語音操作來使用Google進行網頁搜尋等功能。 資料來源:維基百科 圖: 接下來,我們可以從圖1-1來說明「資料與資訊的關係」 當我們「輸入原始成績」之後,如何輸出一張成績單呢?那就必須要透過「程式」來進行處理, 而在資料結構中,程式=資料結構+演算法

40 1-5 Android作業系統的架構 Android作業系統的架構是由四層式的軟體堆疊(Software Stack)組合而成。
1.第一層(最上層):應用程式(Applications) 2.第二層:應用程式框架(Application Framework) 。 3.第三層:函式庫(Libraries)及Android執行環境 4.第四層(最下層) :Linux核心 圖: 接下來,我們可以從圖1-1來說明「資料與資訊的關係」 當我們「輸入原始成績」之後,如何輸出一張成績單呢?那就必須要透過「程式」來進行處理, 而在資料結構中,程式=資料結構+演算法

41 1-5 Android作業系統的架構(續…) (1) 函式庫(Libraries) 提供給Android App 開發者API。
開發者必需要透過Java或B4A程式語言來撰寫應用程式,才能在Android平台上執行。 (1) 函式庫(Libraries) 提供給Android App 開發者API。 (2) Android執行環境 包含Dalvik VM(虛擬機 器)及核心函式庫。 圖: 接下來,我們可以從圖1-1來說明「資料與資訊的關係」 當我們「輸入原始成績」之後,如何輸出一張成績單呢?那就必須要透過「程式」來進行處理, 而在資料結構中,程式=資料結構+演算法 Android作業系統是建構在Linux作業系統上層。 Android App開發者只要透過Java或B4A程式呼叫「應用程式框架(Application Framework)」所提供的應用程式界面(Application Programming Interface, API),就可以呼叫第三層的函式庫(Libraries)功能。

42 1-5 Android作業系統的架構(續…) 【說明】 從上圖中,應用程式開發者就可以不需要了解手機硬體內部的結構,
圖: 接下來,我們可以從圖1-1來說明「資料與資訊的關係」 當我們「輸入原始成績」之後,如何輸出一張成績單呢?那就必須要透過「程式」來進行處理, 而在資料結構中,程式=資料結構+演算法 【說明】 從上圖中,應用程式開發者就可以不需要了解手機硬體內部的結構, 而只需要透過Android作業系統所提供的軟體開發套件(Software Development Kit, SDK,)以及開發者熟悉的高階語言(如Java或B4A) ,便可以自行開發及設計可安裝於智慧型手機上的應用程式。

43 1-6 App Inventor拼圖程式 還記得您在小學時,最喜歡的組合玩具是什麼嗎?我想大部份的同學都會回答「樂高積木」,為什麼呢?其實就是因為它可以依照每一位同學的「想像力及創造力」來建構個人喜歡的作品,並且它還可以透過「樂高專屬的軟體」來控制NXT或EV3樂高機器人。 那各位同學是否有想過一個有趣的問題?那就是為何「小學生」也可以撰寫程式來控制NXT樂高機器人呢?其實它就是透過「拼圖」方式來撰寫程式。 反觀,目前高中職及大專院校學生,如果想自己開發Android App程式,則必須要學習困難的Java程式語言,使得大部份學習者望而卻步,甚至半途而廢。 圖: 接下來,我們可以從圖1-1來說明「資料與資訊的關係」 當我們「輸入原始成績」之後,如何輸出一張成績單呢?那就必須要透過「程式」來進行處理, 而在資料結構中,程式=資料結構+演算法

44 1-6 App Inventor拼圖程式(續…)
MIT行動學習中心在2013年12月發表 App Inventor 2 (簡稱AI2),除了省略需要使用 Java 才能開啟的 Blocks Editor之外,並且大幅度的改善開發環境。因此,目前App Inventor已經被公認為小學生也可以開發Android App程式的重要工具,其主要原因如下: 1. 提供「雲端化」的「整合開發環境」來開發專案 2. 提供「群組化」的「元件庫」來快速設計使用者介面 3. 利用「視覺化」的「拼圖程式」來撰寫程式邏輯 4. 支援「娛樂化」的「NXT樂高機器人」製作的控制元件 5. 提供「多元化」的「專案發佈模式」來輕易在手機上執行測試 圖: 接下來,我們可以從圖1-1來說明「資料與資訊的關係」 當我們「輸入原始成績」之後,如何輸出一張成績單呢?那就必須要透過「程式」來進行處理, 而在資料結構中,程式=資料結構+演算法


Download ppt "第一章 Android App導論 課程名稱:程式設計 授課老師:李春雄 博士"

Similar presentations


Ads by Google