当我们利用B4A来开发AndroidAPP时课件_第1页
当我们利用B4A来开发AndroidAPP时课件_第2页
当我们利用B4A来开发AndroidAPP时课件_第3页
当我们利用B4A来开发AndroidAPP时课件_第4页
当我们利用B4A来开发AndroidAPP时课件_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第一章

AndroidApp導論課程名稱:程式設計授課老師:李春雄博士本章學習目標

1.讓讀者了解行動載具與行動應用程式的關係及

AndroidAPP的種類。2.讓讀者了解Android作業系統的架構及活動介面。3.讓讀者了解Android應用程式檔案的產生過程

。本章內容1-1行動載具(MobileDevices)1-2行動應用程式(MobileApplication)1-3應用程式(Application;App)的種類1-4Android作業系統1-5Android作業系統的架構1-6AndroidAPP的活動介面1-7Android應用程式檔案的產生過程

1-1行動載具(MobileDevices)【引言】我們都知道,任何載具(例如:手機、平板電腦或筆電…等),都是不會動的。那到底是誰可以讓這些「載具」變成「行動載具」呢?答案就是:「人」!當我們把不會動的載具(例如:手機或ipad),固定放在「室內」時,

就不能稱為「行動載具」了。當我們把不會動的載具(例如:手機或ipad),隨身攜帶在「室外」時,

就稱為「行動載具」了。因此,想要在「室外」聽音樂、看影片或玩通訊軟體(LINE)等各種活動,就必須要攜帶載具,也就目前最熱門的「智慧型行動載具」,並且在後PC時代,利用行動載具來上網的數量與應用,已經呈現爆炸性的成長。1-1行動載具(續…)【種類】

手機、電子書閱讀器(iPad)、筆記型電腦(平板電腦)及個人數位助理

(PDA)。【分類】1.行動「通訊」裝置2.行動「閱讀」裝置【示意圖】1-1.1

行動「通訊」裝置【定義】是指具備多媒體上網功能的小螢幕行動裝置,主要做為通訊使用。【例如】手機(iPhone)與個人數位助理(PDA)【優點】攜帶方便(2∼5英寸的掌上型螢幕)。【適用族群】學生族【示意圖】1-1.2行動「閱讀」裝置【定義】是指具備傳統筆記型電腦基本的上網及文書處理功能。

主要是支援閱讀與查詢的功能。【例如】「電子書閱讀器(iPad)」與「平板電腦」【特性】1.具有「輕、薄、短、小」的特點。2.「省電機制」讓使用者能長時間地閱讀。3.「輕薄不占空間」讓使用者隨時隨地可閱讀。【優點】閱讀攜帶方便(9∼10英寸的書本型螢幕)。【適用族群】上班族【示意圖】【使用者介面】許有專家及學者認為使用者介面可分為三大類:1.硬體操作介面:稱為實體操作介面,包含傳統的控制器、顯示器的控

制面板,以及產品實體由使用者操作的部位。2.軟體操作介面:一般稱為圖形操作介面,即藉由圖像增加使用者的理

解程度而方便操作。3.觸控式操作介面:在觸控式面板上結合「軟、硬體使用者介面」,讓

使用者只需使用手指就可操作。【示意圖】【隨堂抽問】作業1.請問各位同學「平板電腦」與「筆記型電腦」有何不同?(針對功能面及使用面來討論)2.請問各位同學未來有可能「平板電腦」取代「筆記型電腦」嗎?

請說明為什麼?1-2行動應用程式(MobileApplication)【引言】

由於資訊科技的進步,使得一般的使用者的「閱讀模式」已從「個人電腦PC」轉移到利用「行動載具」。【原因】硬體成熟、攜帶方便。【示意圖】【目前存在的問題】如果只有「行動載具」,沒有適合自己喜歡的「行動應用程式」時,英雄無用武之地。【示意圖】

【解決方法】開發「行動應用程式」「行動應用程式」對於使用者利用「行動載具」來進行「行動應用」是非常重要。【示意圖】【註】行動應用程式(MobileApplication)又稱為應用程式(Application;簡稱為App),它是指在行動載具上執行的應用程式。如果此App是在Android作業系統上執行時,又稱為AndroidApp。【隨堂抽問】作業1.請各位同學到GooglePlay商店中,查詢「行動應用程式」分成那些

類別?並說明列出之。1-3AndroidApp開發方式【引言】

既然行動應用程式對於使用者(包括一般使用者、企業、醫院、學校…等)在利用「行動載具」那些重要。那未來(或目前)想要成為程式設計師的讀者們,要如何選擇適當的開發工具,將是非常重要的議題。

因此,在為企業之使用者開發APP之前,必須要先考慮開發的目的與使用對象。是給企業內部的使用者?還是給外部客戶與消費民眾使用呢?必須要界定清楚。否則,如果使用者分析錯誤,或是選擇不合適的開發工具,可能會因此弄巧成拙,導致企業讓使用者有負面評價。【開發方式】基本上,依照目前市面上APP開發工具,可以分為三種開發方式:1.原生應用程式(NativeApplication);又稱為原生APP。2.Web應用程式(WebApplication);又稱為WebAPP。3.混合式應用程式(HybridApplication);又稱為混合式APP。1-3.1

原生應用程式(NativeApplication)【定義】又稱為原生APP,它是指利用各種作業系統所支援的標準程式語言來進行開發,再透過各種作業系統的SDK(如AndroidSDK)來編譯成可安裝及執行的應用程式(.apk)。【常見的原生APP】【說明】除了手機內建之外,都必須要下載及安裝(.apk)。【使用技術工具之種類】1.

iOS作業系統:使用Objective-C。2.

Android作業系統:使用JAVA或B4A(Basic4Android)註13.

WindowsPhone作業系統:使用C#或VB.NET等。【註1】Basic4Android程式語言(簡稱為B4A),是一套專門開發AndroidAPP的BASIC語言,它是由以色列國家的「AnywhereSoftware」軟體公司所開發。詳細介紹,請參見第二章。原生APP【適用時機】1.需要使用行動載具上的硬體功能(如:照相機、GPS定位服務…等)

例如1:合成照片APP可以使用手機內的照相機。

例如2:尋找離你最近的加油站或餐廳的功能可以使用GPS定位服務。2.需要使用行動載具上的軟體功能(如:通訊錄、SQLite資料庫…等)

例如1:LINE通訊軟體APP可以使用手機內的通訊錄。

例如2:行動資訊系統APP可以使用手機內的SQLite資料庫。3.離線環境也能使用(如:手電筒APP、遊戲APP)。原生APP【優點】1.可能使用行動載具上的軟、硬體資源(如:照相機、GPS定位服務…)。

2.執行效能最高(優於WebAPP及混合式APP)。

3.可以離線使用資料庫(如SQLite)。4.具有推播通知功能(如:電池剩餘電量過低時的通知、時區動態更新

(台灣與日本相差一個小時,會自動轉換)…)。原生APP【缺點】1.程式難度較高,開發不容易。

例如:必須要學會Objective-C、JAVA或B4A。2.無法跨平台,亦即不同平台必須使用不同的語言來開發。

例如:iOS平台必須要使用Objective-C。

Android平台必須要使用JAVA或B4A。3.硬體成本高。

例如:開發iOS版本時,必須要使用Mac電腦。

例如:開發Android版本時,因為版本種類較多,必須要準備較多機

器進行實測使用。4.發佈上架成本高(加入開發者會員)。

例如:開發者註冊費用為美金25元。1-3.2Web應用程式

(WebApplication)【定義】又稱為WebAPP。它是指直接使用瀏覽器來操作網頁應用程式。【常見的WebAPP】【說明】不需要下載及安裝,透過瀏覽器可直接操作網頁應用程式。【使用技術工具之種類】1.

使用HTML5與CSS3。2.

使用Javascript與開發者已熟悉網頁技術,如ASP.NET來進行開發。3.

使用VisualStudio2012,可以直接建立JQueryMobile的網頁應用

程式,就可以來達到大小螢幕都可以使用的效果。WebAPP【適用時機】1.

沒有程式設計背景者。2.

上架到AppStore可能「審核不過」的APP。3.

資訊必須要「經常更新」(如:頭條新聞…)4.

有「跨平台」需求者(如:可同時在iOS、Android或Windows

Phone等使用)WebAPP

【優點】1.開發門檻低,不需學習難度較高的Objective-C或JAVA。2.開發成本低,不需購買各種硬體及繳交開發者授權費。3.更新版本容易,直接在網頁伺服器更新即可,不需要重新上架到

GooglePlay。4.可跨平台使用,透過瀏覽器可以在不同的行動載具上使用。WebAPP

【缺點】1.無法使用行動載具上的軟、硬體資源與系統API(如:照相機、GPS…)。

2.執行效能最差(網頁的操作反應速度較慢)。

3.離線時無法操作頁面。4.沒有推播通知功能。(所以無法通知使用者目前電池剩餘電量過低的

狀態)。1-3.3

混合式應用程式(HybridApplication)【定義】又稱為混合式APP;是指將網頁內容嵌入或封裝於原生應用程式中。【常見的混合式APP】【說明】必須要下載及安裝(.apk或.ipk)。【使用技術工具之種類】1.透過Android原生應用程式中WebView物件2.透過iOS原生應用程式中UIWebView物件3.透過第三方的框架(例如:PhoneGap、Titanium、AppMobi等)

將網頁內容直接包裝成應用程式檔(.apk、.ipa)發佈。混合式APP【優點】1.兼具「原生App」系統硬體支援與「WebApp」跨平台整合能力。2.可以順利使用系統上軟、硬體資源與系統API(如:照相機、GPS…等)。3.具有跨平台整合能力(如:透過第三方的框架,提供各種跨平台的API

讓開發者使用。4.可降低開發及維護成本(設計者不需學習難度較高的Objective-C或JAVA)。5.離線時可以操作頁面。混合式APP【缺點】速度與效能仍然比不上原生APP。(原因:多透過一層程式碼轉換)。【小結】

綜合上述,未來想成為程式設計師的讀者們,想要開發某一企業的行動應用程式(APP)時,務必先要進行使用者操作情境分析。

例如:網路連線狀況(是否隨時有網路環境)、頻寬大小、平台的種類(iOS或Android)以及對於資訊內容的即時性、時效性…等,如此,才能針對各種不同應用程式需求,選擇最適合的開發方式。

例如,平常只能使用離線操作,但是,當連上網路時,必須要將異動資料內容與資料庫同步更新,此時,您的開發方式就必須要選擇「原生APP」或「混合式APP」,而不適合使用「WebAPP」了。【隨堂抽問】作業1.請各位同學再針對以下三種APP,再各找二個案例:(1)原生應用程式(NativeApplication)

(2)Web應用程式(WebApplication)(3)混合式應用程式(HybridApplication)1-4Android作業系統【定義】Android是一套建構在Linux作業系統之上的智慧型手機作業系統。【英文意思】機器人。【圖示】利用綠色機器人圖號表示Android【版本】Android作業系統在2007年11月發佈Android測試版。第一個正式版本為Android1.0,發佈於2008年9月。Android是由谷歌和開發手機聯盟(OHA)的不斷發展之下,已經開發出一系列Android系統。並且每一個版本都會更新前一個版本的錯誤及增加新功能。

因此,自從2009年4月開始,Android版本每開發一個新版本,就會有一個代號,如果按照字母順序排列:蛋糕、甜甜圈、…等。Android【版本】(續…)Android【版本】(續…)Android【特色】1.完全免費的作業系統。2.真正為行動載具打造的專屬作業系統。3.符合環境概念(因為行動載具輕薄短小的特性)。Android【對使用者及開發者的關係】1.對一般使用者而言:

打電話、傳簡訊、上網瀏覽網頁、收發e-mail…等。2.對程式開發者而言:(1)開發應用程式(如:遊戲軟體、影音娛樂軟體甚至企業商用軟體)(2)上架到Google的Play商店(3)提供給使用者下載、分享或其他的商業活動。Android【功能】1.多點觸控:Android支援原生的多點觸摸功能。2.顯示佈局:除了支援2D之外,運用OpenGLES3D圖形處理函式庫

來處理3D立體圖形之遊戲的開發工作。3.網路:支援所有的網路格式,包括:藍牙(Bluetooth)、無線網絡(Wi-Fi)、

第四代無線通訊(WiMAX)…等。4.瀏覽器:內置Webkit網頁引擎(Webbrowserengine),它可以讓電

腦網頁,自動調整成手機小螢幕大小的畫面。5.資料存儲:內建SQLite資料庫管理系統來負責存儲行動應用程式所需

的資料。Android【功能】(續…)6.多媒體支援:(1)聲音檔:MP3、MIDI、WAV…等(2)圖像檔:JPEG、PNG、GIF、BMP…等。(3)影音檔:MP4及支援Flash(但要先安裝RealPlayer)…等。7.硬體支援:GPS、加速計、陀螺儀、氣壓計、磁強計、USBDisk、

專用的遊戲控制器、體感控制器、感應和壓力感測器、溫度計…等。8.語言:Android作業系統支援多國語言。9.截圖功能:允許用戶直接抓取智慧型手機螢幕上的任何畫面。10.語音功能:使用語音操作來使用Google進行網頁搜尋等功能。資料來源:維基百科/wiki/Android1-5Android作業系統的架構Android作業系統的架構是由四層式的軟體堆疊(SoftwareStack)組合而成。1.第一層(最上層):應用程式(Applications)2.第二層:應用程式框架(ApplicationFramework)。3.第三層:函式庫(Libraries)及Android執行環境4.第四層(最下層):Linux核心1-5Android作業系統的架構(續…)開發者必需要透過Java或B4A程式語言來撰寫應用程式,才能在Android平台上執行。(1)函式庫(Libraries)

提供給AndroidApp

開發者API。(2)Android執行環境

包含DalvikVM(虛擬機

器)及核心函式庫。Android作業系統是建構在Linux作業系統上層。AndroidApp開發者只要透過Java或B4A程式呼叫「應用程式框架(ApplicationFramework)」所提供的應用程式界面(ApplicationProgrammingInterface,API),就可以呼叫第三層的函式庫(Libraries)功能。1-5Android作業系統的架構(續…)【說明】從上圖中,應用程式開發者就可以不需要了解手機硬體內部的結構,而只需要透過Android作業系統所提供的軟體開發套件(SoftwareDevelopmentKit,SDK,)以及開發者熟悉的高階語言(如Java或B4A),便可以自行開發及設計可安裝於智慧型手機上的應用程式。1-6AndroidAPP的活動介面【引言】

當我們利用VB來設計一套資訊系統時,不可能只用到一個表單(WindowsForm)來設計,因為一個較有規模的專案程式一定是由數個或數十個表單所組成的,因此,當我們利用B4A來開發AndroidAPP時,也不例外。【實際專案例子】在AndroidAPP中的每一個表單,其實就是一個活動(Activity),並且每一支App是由多個活動所組成。因此,當我們執行某一支AndroidAPP專案程式時,會循序的切換多層不同的活動畫面。例如:筆者開發有一套【行動電子書閱讀及管理系統】,它是由5層活動(Activity)所組成。第1層第2層第3層第4層第5層【實際專案例子】活動的步驟步驟一:使用者從主畫面開始,Android作業系統就會自動啟動第1層Activity。步驟二:如果使用者點選「讀者專區」時,就會自動啟動第2層Activity。步驟三:讀者登入畫面中輸入帳號與密碼,就會進入第3層Activity,步驟四:如果是合法的讀者時,則可以進入到第4層Activity,也就是

讀者查詢及閱讀系統中,可以讓讀者自行點選各種查詢種類。步驟五:最後,就可以進入到第5層Activity的讀者各子系統的功能介面

中進行操作。活動堆疊(A

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论