Introduction on Smartphone Platform

Slides:



Advertisements
Similar presentations
湖南城市学院 Android 智能手机开发 信息科学与工程学院 主 讲:李 旎. 湖南城市学院 课程结构 Android 平台概述 – 平台介绍 开发环境: – 构建 Android 开发环境 Android 的基本操作 -- 五种基本操作 应该程序: – 应用程序结构 典型应用: – 用户界面 –
Advertisements

跨平台移动开发框架比较 How many mobile platforms android 拥有最多的 developer. 开发语言-大众脸- java 开发成本最低,不用单独买一台电脑. 开发者账号-免费 发布应用很快-当天提交,当天就能发布 iOS 贵族平台-至少把自己包装的很高大上.
1 网站设计理念 大连理工大学创新实验学院 优秀网站展示 - LAMP 类网站
Google Play 应用数量. 安卓平台安全现状 开发者面临的安全威胁 梆梆为开发者提供的服务 内容.
玩转安卓智能手机 工程师 王东亮 图书馆 手机的发展 手机已经不仅仅是一个通讯设备,在智能系统的潮流之下, 手机已经成了一个多媒体的智能移动终端 有人喜欢用手机上 QQ ,玩微博,看网页;有人喜欢听歌, 拍照,玩游戏;有人利用手机进行日程的安排和办公 ······
中国电信桐梓分公司. 阅读方式 曾经的 2G 时代 沟通方式 曾经的 2G 时代 影视方式 曾经的 2G 时代.
1 智能手机 —— 智能手机基础知识讲解 客户支持部 V1.0. Page  2 前言 ■ 智能手机时代已经全面开启,手机 已经不仅仅是打电话发短信的工具, 同时也是生活中不可或缺的移动伴 侣。 ■ 3G 手机大多以智能手机为主,想 要良好的销售智能手机产品,基础 的智能手机知识是不可或缺的。
Android App簡介及 App Inventor 2體驗 靜宜大學資管系 楊子青
資訊軟體人才培育先導計畫102年度課程發展專案計畫 資訊軟體人才培育雲端計算與服務課程發展專案計畫- 雲端運算與行動計算課程
CH02 電腦軟體 介紹電腦軟體之概念 認識系統軟體、程式語言與軟體開發 認識作業系統的主要功能 認識作業系統的演進歷史 認識常用之應用軟體
《书海拾贝-电子版》 第三期 图书馆编辑部邮箱: 图书馆主页(内部网): /library2002/library.htm
交通部資安教育訓練 趨勢科技 資安顧問 邱豊翔.
嵌入式系统简介 Introduction to Embedded System
臺中市政府警察局 婦幼警察隊 小隊長吳敏男、謝豐昌
第1章 Java语言概述.
課程地圖 (104年入學-日間部) 校通識核心 專業課程 必修與選修 與管理模組 網路技術 App設計與應用模組 學院通識核心 學院專業核心
網站「開外掛」 優化營業人員的戰鬥力 介紹 Web365行動展售網站系統的10大特色
資訊科技管理 王淑卿.
Course 0.
Foundations of Computer Science
第四章 電腦軟體 課前指引 實體的電腦裝置,我們稱之為「硬體」(Hardware),至於軟體則是個抽象的概念,軟體是經由人類以各種不同的程式語言撰寫而成,以達到控制硬體、進行各種工作的抽象化(例如文書處理)等動作。有些讀者經常迫不及買了一台新電腦,就以為可以開始使用!事實不然,一部配備齊全的電腦,如果沒有合適的軟體來控制與搭配,絕對也是英雄無用武之地。一般來說,我們將軟體分「系統軟體」(System.
2010年手机之家第二次圆桌会议 共同参与共创手机之家 2010年7月10日 北京双井.
教育雲端科技的現況與未來發展 臺北市政府教育局聘任督學 韓長澤.
浅谈我与Android相处的点滴 一、个人自动化经验分享 二、Android基本架构了解 三、MonkeyTest指令学习
開店法寶 VIVIPOS 簡介 June, 2009.
行動終端應用軟體創作專題競賽 題目:商品後端管理APP
Android环境搭建 倚动软件工厂实验室 网络课程地址:
財金三乙 卓采筠 財金三甲 蔡瑜婷 財金三乙 郭孟京
Mm Framework MakingMobile是一套基于HTML5的手机应用系统开发框架,致力将既有的桌面Web系统平滑延展到手机上。其架构特点强调易用性、延展性、跨平台、解耦化、组件化,主要面向定制性较强的行业应用市场。
第八讲 信号分析案例:安卓 2017年3月20日星期一.
8.1 系統軟件、應用軟件和驅動程序 電腦軟件 是使電腦處理指定工作的一連串指令 大致可分大為三類: 驅動程序 系統軟件 應用軟件.
多媒體整合設計期末報告 – Google Maps App
荷福威士顿机器人科技有限公司 上海荷福集团
行動終端應用軟體創作專題競賽 參賽主題: 具備車牌辨識功能的快速得來速服務 學校單位:國立雲林科技大學電機工程系 參賽隊名:ESoC
作業系統的結構 日期 : 2018/9/17.
Android App 系統開發教學 Luna 陳雯琳 2014/12/18
厦门大学数据库实验室 报告人:谢荣东 导师:林子雨 2014年8月30日
APP課程:Android程式設計開發環境與工具介紹
App 晶片一甲 4A 林渼茵.
Review: Android简介.
基隆社區大學 智慧型手機、平板及電腦之生活應用
手機作業系統及功能之比較 朝陽科技大學資訊管理系 王淑卿.
Symbian OS介绍 概述 第一部分.
課程名稱:計算機概論 授課老師:李春雄 博士
作業系統 補充: 雲端運算.
ICS著重細節與操作的一致性體驗 將顯著推升Android行動裝置市佔
Android程式開發準備 Android智慧型手機程式設計 建國科技大學 資管系 饒瑞佶 2012/4 V1 2012/8 V2
APPLE, iPhone 智慧型手機- 指導老師:葛維鈞老師 (企3B) 組長:童楹鈞
手機作業系統介紹.
指導老師 : 張文智 組員: B 黃美華 B 林耕宇 B 蕭凱中 B 游振偉
嵌入式系統架構 長高科技 顏旭偉.
第8章 移动界面设计 山东大学计算机学院.
Cloud Computing(雲端運算) 技術的現況與應用
Android 课程讲义 智能手机开发
指導老師:王文彥 老師 學生:王冠樺、鄭培宇、許智惟、黃柏翎 崑山科技大學資訊工程系 2012/01/16
第一章 認識Java Java 程式設計入門(I).
Native Development Kit
iOS 5結合iCloud 蘋果iOS平台體系整合大業再進一步
教務行政資訊系統 簡介 資訊科技中心 資訊系統組 徐振琦
《网上报告厅》使用说明 北京爱迪科森教育科技股份有限公司.
App Inventor 2體驗 靜宜大學資管系 楊子青
認識 Java.
Android智慧型手機程式設計實務應用班
智慧型手機於網路管理的應用 iPhone 3GS 王雅玲.
金蝶KIS商贸同步服务器1分钟教程 1.设置 2.设备授权 3.同步 4.查看日志 5.Android端下载.
电 子 商 务 实 务 王宁宁 主讲.
第1章 Java语言概述 学习目标 本章要点 上机练习 习 题.
Tour of PDA 電機四 b 莊惠涵.
金中移动抄表系统培训手册 广西金中软件有限公司 2015年8月7日.
案例分析: THE NEXTGEN POS SYSTEM
Presentation transcript:

Introduction on Smartphone Platform Chapter 1 Introduction on Smartphone Platform

What is Android?

What is Android? 傳統以來,手機一直被視為用來打電話的,與電腦分屬於電信及網際網路兩個不同世界。 而提供語音的電信服務在網際網路尚未興起前,一直是一寡佔且封閉的產業,早期的手機也只提供通話服務。 因此除打電話過程中需與電信業者基地台間的控制訊號需遵循標準協定外,手機本身大多是封閉的平台,所有跟手機相關的服務都需由電信業者提供,使用者很難在上面開發新的應用服務。

What is Android? 隨著手機與網際網路結合,上網普及化之後,使用者對手機的功能有截然不同的需求。 透過網際網路,各種新的服務與應用應運而生,使用者也希望手機平台能像電腦一樣,讓使用者能發揮設計創意,自主地開發服務。

What is Android? 因此智慧型手機隨之上市,於是微軟公司以其在電腦終端作業系統霸主的地位,推出智慧型手機專用之WinCE及Window Mobile作業平台。 由於微軟公司的作業系統並不開放原始程式碼,因此除有版權問題外,也因無法深入作業系統核心而限縮了應用軟體發展的空間。

What is Android? 有鑑於此,以開放程式碼Linux作業系統為基礎發展Android手機平台的構想應運而生。Android字面上的意義是指科技小說裏面的機器人,隱含有新奇、能接受指示,且具有智慧的意思。 它是Google在2007年鼓吹它為手機系統平台,初期由Google開發,後由開放手機聯盟(Open Handset Alliance)接手後續發展推廣。

What is Android? 由於它開放式架構的特性,可以很容易地進行系統擴充。Android平台具有以下特點: 系統的開放性 應用程式的對等性 跨應用程式的整合性: 開發環境的效率性: 系統的開放性:Android強調開放式架構,除了有開放程式碼以外,也可以讓應用程式呼叫使用系統內部及一些通訊控制程式,例如,由應用程式啟動打電話、送簡訊、操作照相機功能等。另外,由於是採開放式,軟體開發人員可以分享其設計的軟體,因此平台功能也可以持續擴充。 應用程式的對等性:在Android平台上,不論是系統本身既有之應用程式,或開發者自行開發之應用程式(Third party applications),從作業系統角度來看均為對等,不會有差別。因此,Android的應用程式開發者可以自行設計一應用程式,取代系統既有之應用程式。例如,使用者可以自己寫一撥號盤的介面程式取代系統提供的電話鍵盤。 跨應用程式的整合性:為提供更寬廣之應用,Android打破應用程式間彼此之界限,讓使用者可以利用多個既有之應用程式,並將他們所產出之資料加以彙整,設計出跨應用程式之整合應用。例如,可以將網頁與從手機上個人行事曆取到之資料,加以統合,設計出更新穎之應用服務。 開發環境的效率性:Android提供非常豐富的函式庫及工具,讓使用者可以很容易地加以應用。除了一般作業系統該提供之功能外,Android也提供許多配合手機特性及通訊相關的函式及工具,讓程式開發者可以很容易的運用到其應用程式中。例如,程式設計者可以很容易的取用GPS收到的位置資訊,也可以利用系統所提供的Peer-to-peer服務,讓兩隻手機可以透過通訊介面直接溝通。

Overview on Framework of Android Platform

Overview on Framework of Android Platform Android使用堆層(Stack)做為軟體平台的建構方式。 堆疊主要分為四層,分別為作業系統核心層、系統函式庫層、應用架構層、及應用程式層,如下頁圖所示。 作業系統核心層以Linux核心工作為基礎,提供作業系統基本功能及一些硬體驅動程式。

Overview on Framework of Android Platform

Overview on Framework of Android Platform 要注意到的一點是,目前Android的Linux核心與常用的GNU/Linux並不完全相同,GNU/Linux有的東西在Android Linux核心中並不一定有。 為提供在手機環境使用,Android的Linux核心特別加強了程式間通訊(Inter Process Communication, IPC)及電源管理(Power Management)的功能。

Overview on Framework of Android Platform 作業系統核心底層之上是函式庫及Android 執行環境(Android Runtime),函式庫有許多開放原始碼的有用函式,例如,OpenGL、libc (bionic)、WebKit等等。 而Android Runtime主要包括核心函式庫(Core Libraries)及Android專有之虛擬機器Dalvik (Dalvik Virtual Machine, DVM)。 核心函式庫包含了許多Java常用的函式,Android應用程式係以程序(Process)呈現,可以呼叫上述函式。 Android是以物件導向概念設計的,應用程式以Java做為語言開發工具,可是Android並不使用常見的Java虛擬機器(Java Virtual Machine, JVM),而是使用Dalvik虛擬機器。為了配合在輕薄短小的手機上使用,DVM在設計上考慮到降低記憶體的使用,並可以同時執行好幾個應用程式,以提高系統效率。

Overview on Framework of Android Platform 應用架構層主要是提供Android應用程式的API,包括位置管理、資源管理、電話管理、提示管理等一些軟體套件,應用架構層再透過JNI去呼叫下層函式庫。 若有新的函式加到函式庫裏,則應用架構層就需要加以擴充。透過應用架構層的規範,可以對軟體函式的增加做較好的管理。

Overview on Framework of Android Platform 有了上述三層的支援,系統已將硬體元件抽象化(Hardware Abstraction),並以層次的架構提供各種有用且方便取用的函式庫,再經由其DVM建構的跨平台Java開發環境,使用者即可在應用程式層設計Android平台上的各種好玩的應用服務。

Introduction on Android Market

Android Market 平台介紹 Android是一開放平台,任何人都可以在此平台上發揮創意,設計應用服務,而且可以與別人分享。除了分享之外,如果認為所開發的軟體有市場性,也可以線上以收費方式讓他人下載。 為提供便利的分享與銷售環境,Android Market平台提供此一交流管道。就類似蘋果iPhone及iPod的App Store一樣,提供軟體分享。

Introduction on Android Market 為提供便利的分享與銷售環境,Android Market平台提供此一交流管道。就類似蘋果iPhone及iPod的App Store一樣,提供軟體分享。

Introduction on Android Market 為提供便利的分享與銷售環境,Android Market平台提供此一交流管道。就類似蘋果iPhone及iPod的App Store一樣,提供軟體分享。

Introduction on Android Market 為提供便利的分享與銷售環境,Android Market平台提供此一交流管道。就類似蘋果iPhone及iPod的App Store一樣,提供軟體分享。 該網頁網址為http://www.android.com/market/。網頁提供免費(http://www.android.com/market/free.html) 及付費(http://www.android.com/market/paid.html)兩個不同網頁,分別如下頁圖所示。

Introduction on Android Market

Introduction on Android Market

Introduction on Android Market

Introduction on Android Market 除了蘋果的Apple Store及Android Market之外,微軟的Windows Mobile手機平台也推出具類似功能的Windows Marketplace,讓軟體程式開發者可以有分享及銷售的管道。 而這種發展趨勢,將提供個人工作室及SOHO族創業的另類的商業模式。 Windows Marketplace(網址: http://marketplace.windowsphone.com/Default.aspx)

Comparison of Existing Mobile Platforms

Comparison of Existing Mobile Platforms 手機的功能從傳統的打電話為主,逐步增加影音與相機功能,到具無線網路上網,再到現今的開放使用者可以自行設計應用服務並分享自己作品,甚至可透過Apple Store、Android Market、及Windows Marketplace等交易平台散佈及銷售自己設計的軟體。這短短五、六年的變化不可謂不大。

Comparison of Existing Mobile Platforms Eevolution of mobile platforms is listed below: 手機平台演進 主要功能 目標使用者 基本手機 語音收發話 僅將手機當為電話使用 整合影音功能手機 除基本手機功能外,增加MP3播放器、及數位相機等影音功能 喜歡影音服務及隨機攝影之使用者 網路手機 除整合影音手機之功能外,還提供無線WiFi及藍牙Bluetooth通訊功能 喜歡隨時上網,並經常需送收電子郵件之使用者 開放式手機 除上述網路手機功能外,還開放手機軟體開發環境,提供使用者自行設計應用服務,及應用服務軟體之散播通路 喜歡嘗試新的網路應用服務,或熟悉軟體設計,對手機應用具創意之使用者 由於手機已不再只是講電話而已,各種與網際網路相關的應用服務也大量地在手機平台上蓬勃發展;甚至,由於開放式手機平台的興起,手機上應用服務也不再只由傳統電信業者提供,使用者也可以很輕易的自行研發並透過手機平台業者所建立之管道分享或行銷。 此一發展已成為不可逆之趨勢,在手機服務新的商業模式下,培養開放平台手機軟體開發能力,將是晉身此一全新軟體市場不可或缺之基本門檻。 在此商業模式下,應用軟體開發者需先註冊並繳交費用後,方能在此軟體分享與銷售平台上傳開發好之應用軟體,在觀念上是手機平台業者聯合使用者從目前行動電話電信業者手中的網路內容的商機搶奪過來。

Comparison of Existing Mobile Platforms 本教材除針對Android平台之軟體設計進行詳細解說之外,也在最後兩章分別說明Window Mobile 6.5及iPhone的軟體開發環境與簡單範例,供讀者做比較。 除此之外,在本章最後也對其他包括Palm的webOSdev、Qualcomm的BREW、Nokia的Symbian、及BlackBerry OS等手機平台做精簡的介紹。

Palm WebOS dev Platform

Palm WebOS dev Platform 隨著手機平台走向開放,Palm在2009年7月正式宣佈將其webOS開放給使用者,並一併將開發所需之軟體工具與如何上傳所設計的軟體等環境完整建立在其portal網站http://developer.palm.com/上。 在該網站上,使用者可下載Palm的Mojo軟體開發工具(Software Development Kit and Tools),參考網站上豐富的技術文件,從第一個簡單的Hello World程式逐步開始學習。

Palm WebOS dev Platform Palm的webOS是以HTML及Javascript做為應用程式開發的基礎,應用程式的兩個主要元件是scenes及stage。 基本上stage代表一個應用卡(applications card),相當於是一個瀏覽器上的視窗或tab,而scene則是視為不同的網頁,每一scene再透過Javascript來設計其動作與呈現方式。

Palm WebOS dev Platform 除此之外,Palm也隨時透過Blog(http://pdnblog.palm.com/)發佈其webOSdev的一些最新發展情形,供使用者參考,如下頁圖所示。

Palm WebOS dev Platform Palm webOSdev的Blog

Qualcomm BREW Platform

Qualcomm BREW 平台 Qualcomm公司是一家專門研究開發通訊產品的廠商,一直以來對於嵌入式系統之研發非常熱衷,其網站http://brew.qualcomm.com/brew/en/上也有相當豐富的開發資源供應用,如下頁圖所示。

Qualcomm BREW Platform

Qualcomm BREW Platform 近年來,除了既有手機晶片及相關專利授權外,也積極投入手機平台研發。 BREW初期是定位在Client端之平台,稱為BREW Client,而配合最近興起的手機平台開放熱潮,Qualcomm將其平台擴充為BREW MP (Mobile Platform),如下頁圖所示。

Qualcomm BREW Platform BREW MP在擴充後之平台主要有四層: 作業系統服務層(OS Services),包括硬體及記憶體的抽象化(Abstraction)處理。 平台服務層(Platform Services),提供數據機與多媒體服務及系統API。 應用環境層(Application Environment),提供讓使用者方便軟體開發的視窗管理及Flash等資源。 最上層是提供使用者可以用C/C++及Java開發手機服務的應用層(Application)。 BREW MP主要以微軟的Visual Studio做為軟體開發工具,除原本SDK既有之軟體提供的一些dll及介面函式外,還增加包括移植驗證套件(Porting Validation Suite, PVS)及模擬器建置工具(Simulator Construction Kit, SCK)。 BREW MP平台

Nokia Symbian Platform

Nokia Symbian Platform 其版本v9.0開始,即將其原有EKA2的即時作業系統核心加以擴充演進加強包括新的通訊介面、圖型架構、與即時性,因應B3G時代高網路傳輸頻寬之需求,以提供包括音視訊串流,及手機廣播電視服務。 目前的Symbian版本是2008年年底出來的v9.4,而v9.5也即將上市

Nokia Symbian Platform 在其http://developer.symbian.com/main/index.jsp網頁上提供包括技術說明文件及Sample code等有用資訊,如圖所示。 Symbian的發展平台可以在Windows XP及2000上,安裝其軟體開發所需之SDK,並支援Java及OPL等程式語言,但其作業系統核心及所提供的API主要是以C++為主,因此,程式設計者仍需具備C++的程式設計經驗。 Symbian使用其自訂的Symbian C++,但其基本架構及語法與標準C++差不多。 Symbian平台網頁

BlackBerry OS Platform

BlackBerry OS Platform 黑莓機(BlackBerry)主要由加拿大RIM公司所發展(據說也曾給台灣宏達電代工),其主要的強項是在便捷的電子郵件功能,另外在內建GPS及地圖應用軟體與影音服務也頗為人稱道,因此廣受政商界的喜愛。 BlackBerry平台提供頗為豐富的使用者介面(UI),讓使用者可以很容易地取用,設計多變化的顯示介面。

BlackBerry OS Platform 軌跡輪(TrackWheel),如7100及8700等系列。 軌跡球(TrackBall),如8800及Pearl 8100等系列。 軌跡板(TrackPad),如Bold 9700及Curve 8500等系列。 觸控螢幕(Touch Screen),如Storm 9500系列等。

BlackBerry OS Platform 在開發環境的規劃方面,BlackBerry也依應用的不同而有不同的開發環境,主要可分為以Java為基礎的應用開發環境(Java Application Development)及以網頁為基礎的應用開發環境(Web Development)

BlackBerry OS Platform 而配合企業網路所需與管理相關應用程式開發方面,則提供了企業應用開發環境(Enterprise Application Development)。BlackBerry 技術支援相關網頁如下頁圖所示(http://na.blackberry.com/eng/support/)。

BlackBerry OS Platform

Google Chrome Operating System

Google Chrome Operating System 近年來,由於雲端計算(Cloud Computing)架構的興起,未來許多電腦、行動裝置、及手機等終端設備的應用服務將有可能放置在由許多高效能伺服器組成的雲端架構中,終端設備將儘量簡化,所需要之各種應用服務都從雲端接取。

Google Chrome Operating System 雲端計算架構的最重要推手是Google,因此Google以開放程式碼概念對於作業系統提出另一思考模式。 Google所提出之Chrome作業系統是一以Web為基礎的作業系統,所有的運作均架構在Web介面上,而且除Chrome作業系統外,所需之軟體服務都是透過瀏覽器介面向雲端取得。

Google Chrome Operating System 這種架構有如下幾項優點: 由於作業系統的極簡化,因此,終端設備的運作將更為快速。 而且由於所有應用軟體都由雲端提供,因此只要雲端伺服器做好安全把關,則一些包括電腦病毒在內的安全威脅,都有可能獲得舒解。這種新的架構將對軟體市場造成結構性的轉變,類似像Apple Store或Android Market的商業模式將更盛行。 當然,Chrome的運作效能跟網路是否暢通及雲端伺服器的負荷量百分之百相關,而這也是雲端計算最需克服的問題。 目前的Chrome作業系統跑起來的介面一如Google網頁一樣清爽;而透過其瀏覽器介面,可以找到Chrome提供的應用軟體,,如下頁圖所示。Chrome作業系統的相關資訊可參考以下網站: http://googleblog.blogspot.com/2009/07/introducing-google-chrome-os.html

Google Chrome Operating System Chrome OS Operating Interface

Google Chrome Operating System Using Chrome Browsing Cloud Computing Application Software