智能手機應用開發(fā)基礎(chǔ).ppt_第1頁
智能手機應用開發(fā)基礎(chǔ).ppt_第2頁
智能手機應用開發(fā)基礎(chǔ).ppt_第3頁
智能手機應用開發(fā)基礎(chǔ).ppt_第4頁
智能手機應用開發(fā)基礎(chǔ).ppt_第5頁
已閱讀5頁,還剩68頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、智能手機應用開發(fā)基礎(chǔ)蘭州大學移動聯(lián)合實驗室,2011.11,主要內(nèi)容,智能手機是什么,智能手機有哪些,智能手機的操作系統(tǒng),OHA Android,Android 應用編程實例,智能手機(Smartphone),智能手機的特點 具備普通手機的全部功能,如正常的通話、收發(fā)短信等 具備無線接入互聯(lián)網(wǎng)的能力,即支持GPRS/CDMA1X/3G網(wǎng)絡(luò) 具備PDA的功能,包括個人信息管理、日程記事、多媒體應用等 具備一個具有開放性的操作系統(tǒng),擴展性能強,可安裝更多的第三方應用程序 具有人性化的一面,可根據(jù)個人需要定制機器功能,智能、非智能,具備中央處理器(CPU)的,未必就是智能手機 聯(lián)發(fā)科 MTK6225

2、: 內(nèi)核:ARM ARM7EJ-S 主頻:104MHz TI OMAP4430: 內(nèi)核:ARM Cortex-A9 MPCore + PowerVR SGX540 主頻:1GHz,安裝有操作系統(tǒng)(OS)的,未必就是智能手機 S40、Nucleus: 簡單易用 幾乎沒有什么擴展能力 Android、iOS、Symbian、Windows Mobile: 可擴展、定制 高功耗,支持 3G 的手機,未必就是智能手機 3rd Generation,第三代數(shù)字通信,只是一種通信技術(shù)標準 符合 3G 標準就是 3G 手機,與智能與否無關(guān) 簡言之,智能手機就是一臺可以隨意安裝和卸載應用軟件的手機(專用計算機

3、): 很容易就能夠從網(wǎng)絡(luò)上獲取第三方應用軟件 檢索軟件的依據(jù)是手機操作系統(tǒng)而不是手機品牌型號 獲取軟件的網(wǎng)站是手機軟件市場而不是手機廠商網(wǎng)站,智能手機的主要品牌,智能手機的操作系統(tǒng),BlackBerry 郵件是特色,對輸入設(shè)備做過特別設(shè)計 iPhone OS Mac OS X 的衍生,類 Unix 系統(tǒng),Objective-C Windows CE 微軟:“ Windows Mobile 將熟悉的 Windows 體驗擴展到了移動環(huán)境中,所以您可以立即使用它投入工作。” Symbian 諾基亞為主,2010年2月開放,以 S60 為主流 Palm OS 掌上電腦專用,節(jié)能、資源占用少、內(nèi)置數(shù)據(jù)

4、庫 MeeGo 由英特爾和諾基亞整合 Moblin 和 Maemo 而來 Android、MontaVista 基于嵌入式 Linux,BlackBerry,RIM 1984年成立,加拿大為數(shù)不多的全球知名品牌之一 特點:手機和電子郵件的融合,商務(wù)性能優(yōu)越 寬大的屏幕和便于輸入的 QWERTY 鍵盤,為拇指輸入而優(yōu)化 推送郵件服務(wù)(push email):新郵件自動由 RIM 服務(wù)器傳送到手機服務(wù)運營商,然后直接推送到黑莓終端上 RIM 服務(wù)器的數(shù)量、分布、可靠性直接影響用戶的郵件應用 封閉源碼,iPhone OS,源自 Mac OS X,類 Unix 系統(tǒng) iPhone、iPod Touch

5、、iPad 特點: 多點觸摸(Multi-Touch)界面 對 Java、Flash 的支持有限 系統(tǒng)架構(gòu)分為四個層次 內(nèi)核操作系統(tǒng)層(the Core OS layer) 內(nèi)核服務(wù)層(the Core Services layer) 媒體層(the Media layer) 可輕觸層(the Cocoa Touch layer) 封閉源碼 + 開放源碼組件,Windows CE,Windows CE:精簡的 Windows95 類似的操作界面、類似的編程工具 2009.2Windows Mobile 6.5 2010.10Windows Phone 7 2011.2Nokia 加盟 2011

6、.9Windows Phone 7.5,WinCE 的系統(tǒng)結(jié)構(gòu)、主要組成部件,Symbian,Symbian 的前身是 Psion 公司的 EPOC 系統(tǒng) 實時性、多任務(wù)的純32位操作系統(tǒng) 搶占式的多任務(wù)調(diào)度和內(nèi)存保護 具有功耗低、內(nèi)存占用少等特點 三個系統(tǒng)設(shè)計原則 用戶數(shù)據(jù)的完整性和安全性至關(guān)重要 不能浪費用戶的時間 所有的資源都是稀少的 Symbian OS 分類 按內(nèi)核版本分有v6.1,v7.0,v8.0,v8.1,v9.1,v9.2等 按用戶平臺(UI)分有S60,S80,S90,UIQ,MOAP等,Symbian,1998年6月,為了在智能移動終端領(lǐng)域?qū)刮④?、Palm,諾基亞、摩托

7、羅拉、愛立信、三菱和寶意昂(Psion)共同成立 Symbian 公司 2003年,競爭加劇,Symbian 陣營成員開始腳踏多只船,摩托羅拉轉(zhuǎn)投 Windows Mobile 2004年2月,諾基亞收購了 Psion 的 Symbian 股權(quán),在 Symbian 的股權(quán)達到63.3%;10月 Symbian 宣布與英特爾合作 風光一時,Symbian,Symbian,Symbian,由于對新興的社交網(wǎng)絡(luò)和 Web 2.0 支持欠佳, Symbian 的市場占有率從2006年三季度的72.8%逐年下降至2010年三季度的37.6% 自2009年底開始,摩托羅拉、三星、LG、索愛等各大廠商紛紛轉(zhuǎn)

8、投 Android,而諾基亞則推出了面向高端市場的 Maemo 平臺 2011年初,諾基亞宣布與微軟成立戰(zhàn)略聯(lián)盟,推出基于Windows Phone 的智能手機,并宣布 Symbian 系統(tǒng)不再更新,僅對用戶界面 UI 進行改進,Symbian 系統(tǒng)的生命周期終止,Palm OS,一個開放式軟件架構(gòu),簡單高效 主要特點: 良好的節(jié)能功能,極低功耗 合理的內(nèi)存管理,內(nèi)存占用非常小 以數(shù)據(jù)庫的形式存儲數(shù)據(jù) 與3Com公司幾經(jīng)離合,最終獨立 2009年2月,Palm 公司宣布將專注于 webOS 和 Windows Mobile,終止 Palm OS 的研發(fā)應用 2010年,與3Com同時被HP收購

9、 2011年8月,惠普放棄 webOS,Meego,Nokia N9,Meego,2010年2月,Intel 和 Nokia 合作在 MWC 發(fā)布 MeeGo 整合了 Intel 的 Moblin 和 Nokia 的 Maemo 2011年9月,Nokia 首款 MeeGo 手機 N9 上市,也是最后一款 2011年4月, Nokia 宣布放棄開發(fā) Meego,轉(zhuǎn)向 Windwos Phone 7;9月28日,Intel 宣布將 MeeGo 與 LiMo 合并成為 Tizen 2011年10月官網(wǎng)公告:MeeGo is dead,Android,Droid,Nielsen、Beareyes,O

10、HA 開放手機聯(lián)盟,OHA:Open Handset Alliance Google 公司于2007年11月發(fā)起的一個全球性的聯(lián)盟組織 聯(lián)盟目標 加速智能移動設(shè)備的發(fā)展 提供用戶更多更好更便宜的服務(wù) 聯(lián)盟支持 Google 可能發(fā)布的手機操作系統(tǒng)或者應用軟件,共同開發(fā)名為 Android 的開放源代碼的移動系統(tǒng),聯(lián)盟創(chuàng)始成員 Aplix、Ascender、Audience、Broadcom、中國移動、eBay、Esmertec、谷歌、宏達電、英特爾、KDDI、Living Image、LG、Marvell、摩托羅拉、NMS、NTT DoCoMo、Nuance、Nvidia、PacketVide

11、o、高通、三星、SiRF、SkyPop、Sonic Network、Sprint Nextel、Synaptics、TAT、意大利電信、西班牙電信、德州儀器、T-Mobile 和 Wind River 至2011年5月,成員已達 80 家 手機芯片商、手機制造商 移動運營商 軟件開發(fā)商、軟件服務(wù)商,Android,Android 是 OHA 發(fā)布的開源手機操作系統(tǒng) 第一個完整的、開放的、免費的智能移動開發(fā)平臺 基于 Linux 2.6 內(nèi)核,使用 Java 進行編程 Android 包括操作系統(tǒng)、中間件和一些關(guān)鍵應用,Android 優(yōu)勢,平臺的開放性 源代碼完全開放帶來更多的第三方應用、更具

12、差異性的程序、更多的競爭 不受限制的開發(fā)商 針對有限內(nèi)存、電池、CPU 優(yōu)化的 Dalvik 虛擬機 Android 源碼遵循 Apache V2 而不是 GPL v2 良好的盈利模式 3-7 開的盈利模式極大的激發(fā)了軟件開發(fā)者的熱情 Google 應用的無縫結(jié)合 10 余年間,Google 已完成全面的互聯(lián)網(wǎng)滲透 地圖、郵件、搜索等服務(wù)與手機的無縫結(jié)合,Android 不足,由于采用了 Java 作為應用開發(fā)語言,目前可用的傳統(tǒng)第三方應用還很少 Google 僅提供了一套 Java 核心包(J2SE 5,J2SE 6)的有限子集,可能會造成 Java 陣營的進一步分裂 基于 QEMU 開發(fā)的

13、模擬器調(diào)試手段不夠豐富,只支持通話、SMS 等,運行速度慢 不具備 Push Mail、Office 功能,對商業(yè)用戶支持尚弱,Android 系統(tǒng)架構(gòu),Linux 內(nèi)核,API 庫,應用程序框架,應用程序,Android 特點,應用框架可以重復使用,其組件也可以更換 Dalvik 虛擬機針對移動設(shè)備進行了優(yōu)化 優(yōu)化的圖形能力支持 2D/3D 圖形(OpenGL ES 1.0 ) 集成了開源 WebKit 引掣、SQLite 輕型數(shù)據(jù)庫等 豐富的開發(fā)環(huán)境,包括模擬機、調(diào)試工具、內(nèi)存運行檢測,以及為 Eclipse IDE 所寫的插件,多媒體支持多種音頻、視頻格式 GSM Telephony (

14、hardware dependent) 支持藍牙 Bluetooth,3G 和 WiFi 支持照相機、GPS、指南針和加速度儀等傳感器硬件 應該有的都有,DVM vs. JVM,DVM(Google) 針對便攜設(shè)備有限的系統(tǒng)資源和供電進行專門優(yōu)化 Dalvik excutable bytecode 每個應用程序在它自己的 Dalvik VM 實例中執(zhí)行優(yōu)化后的 dex 代碼 JVM(Sun) 跨平臺 Java bytecode 唯一的 JVM 實例,最新消息,2011年7月,國內(nèi)可直接訪問 Android 開發(fā)者網(wǎng)站 2011年8月,Google 以 125 億美元收購摩托羅拉移動,以應對 A

15、pple 和微軟針對 Android 設(shè)備制造商進行的專利訴訟 2011年10月,Google 發(fā)布 Android SDK 4.0,實現(xiàn)手機和平板電腦應用開發(fā)平臺的統(tǒng)一,Android 應用編程,Android SDK 所支持的操作系統(tǒng): Windows XP(32 bit)or Vista(32/64 bit) Mac OS X 10.5.8 or later(x86 only) Linux(tested on Linux Ubuntu Dapper Drake),開發(fā)環(huán)境,IDE Eclipse for Java Eclipse plug-in ADT(Android Developme

16、nt Tools) Software Development Kit Android SDK,調(diào)試工具,Android Emulator AVD(Android Virtual Device) Debuger ADB(Android Debug Bridge) DDMS(Dalvik Debug Monitor Service),開發(fā)環(huán)境建立,安裝配置順序 jdk eclipse sdk adt ok 請參考 參考視頻:youku、tudou,獲取 Android 資料的途徑, 下載 sdk 等相關(guān)軟件 查看文檔、在線幫助 開發(fā)社區(qū) 國內(nèi)需要代理才能訪問 news、sdk下載 開發(fā)FAQ、源碼

17、下載、移植,Say Hello to Android,Android Emulator 可模擬電話本、通話等功能 內(nèi)置的瀏覽器和 Google Maps 都可以聯(lián)網(wǎng) 可以使用 PC 鍵盤輸入(不包括小鍵盤) 可使用模擬器按鍵、鍵盤輸入 可以使用鼠標單擊、拖拽屏幕進行操作,Android Emulator 和真機的不同 不支持呼叫和接聽實際來電,但可以通過控制臺模擬電話呼入和呼出 不支持USB連接 不支持相機、視頻捕捉 不支持音頻輸入,但支持輸出 不支持擴展耳機 不能確定連接狀態(tài) 不能確定電池電量水平和交流充電狀態(tài) 不能確定 SD 卡的插入/彈出 不支持藍牙 模擬器在 PC 機上產(chǎn)生的臨時文件需

18、要手工清理,apk 文件:Android 上的安裝文件 apk 是 Android 安裝包的擴展名,安裝包內(nèi)包含了與該 Android 應用程序相關(guān)的所有文件 Android 將 AndroidManifest.xml 文件、應用程序代碼(.dex文件)、資源文件和其他文件打成一個壓縮包,即 .apk apk 文件的本質(zhì)是一個壓縮包,Activity 活動,Android 應用程序中最基本的組件,應用程序中一個Activity 通常就是一個單獨的屏幕 每一個活動都被實現(xiàn)為一個獨立的類,并且從活動基類中繼承而來,活動類將會顯示由視圖控件組成的用戶接口,并對事件做出響應 大多數(shù)的應用是由多個屏幕顯

19、示組成,示例:Hello world,on Android,Hello World,Eclipse 下自動生成 new android project HelloWorld,HelloWorld.java,Java 程序,package test.helloworld; import android.app.Activity; import android.os.Bundle; public class HelloWorld extends Activity /* Called when the activity is first created. */ Override public voi

20、d onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.main); ,返回,R.java,Java 程序,/* AUTO-GENERATED FILE. DO NOT MODIFY. */ package test.helloworld; public final class R public static final class attr public static final class drawable public static final in

21、t icon=0 x7f020000; public static final class layout public static final int main=0 x7f030000; public static final class string public static final int app_name=0 x7f040001; public static final int hello=0 x7f040000; ,返回,main.xml,xml 文件, ,Resources,返回,strings.xml,xml 文件, Hello World, HelloWorld! Hel

22、loWorld ,顯示內(nèi)容: Hello World, HelloWorld!,AndroidManifest.xml,xml 文件, ,返回,RUN,RUN,模擬器運行,顯示內(nèi)容: Hello World, HelloWorld!,屏幕分辨率,入門級的:QVGA(320 x240) 主流的:HVGA(480 x320) 主流的:WVGA800(800 x480) moto特有的:WVGA854(854x480) 魅族 M9:960 x640 三星 Galaxy Tab P1000:1024x600(7 寸屏) 基準分辨率:VGA(640 x480) HVGA-L 或是 -P:橫屏、豎屏 模擬

23、器的默認分辨率依 SDK 版本而不同,(1)Emulator Control: (2)adb 命令:sms send 10086 ? (3)模擬器之間互發(fā):55545556 (3)模擬器自發(fā)自收:55545554,發(fā)送短信的方式,Activity 的生命周期,onCreate() onStart() onResume() onPause() onStop() onRestart() onDestroy(),示例:Activity,on Android,findViewById 方法實現(xiàn) UI 組件的實例化 不同 Activity 之間的切換 Activity 在 manifest.xml 文件

24、中的注冊 Toast 的使用,Intent:組件之間的使者,Intent:不同組件之間通信的“媒介”,用于描述程序想要做什么 Intent 可以包括: 動作 Action 數(shù)據(jù) Data,以 URI 的形式表示 分類 Category 類型 Type 組件 Component 擴展信息 Extra 常用于啟動新的 Activty、Service 或是發(fā)起新的 Broadcast 等,用于啟動一個新的Activity,實現(xiàn)多個Activity 間的切換 定義并實例化一個 Intent 調(diào)用 startActivity() 方法啟動新的 Activity,button0=(Button)findV

25、iewById(R.id.button0); button0.setOnClickListener(new View.OnClickListener() Override public void onClick(View v) / TODO Auto-generated method stub Intent intent=new Intent(MainActivity.this, Common_Widget_Test.class); startActivity(intent); );,示例:IntentAction,on Android,實例:Test_of_Intent_Action,使用系

26、統(tǒng)提供的標準 Action 不同的 Action 執(zhí)行不同的動作,Service:后臺服務(wù),后臺運行,幾乎不與用戶交互,沒有可視化界面 與 Activity 一樣,同屬 Android 基本組件 同樣需要在 AndroidManifest.xml 中注冊, ,Service:后臺服務(wù),每一個服務(wù)均繼承自父類 Service 同樣以 startService() 方法啟動服務(wù),button1=(Button)findViewById(R.id.button1); button1.setOnClickListener(new View.OnClickListener() public void o

27、nClick(View v) Intent intent1=new Intent(Runnable_Service_Test.this, Runnable_Service.class); intent1.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startService(intent1); );,示例:Service,on Android,實例:Test_of_Service,private Runnable task1 = new Runnable() public void run() intCounter+; Log.i(test, int Cou

28、nter: +Integer.toString(intCounter); Toast.makeText(getApplicationContext(), Integer.toString(intCounter), Toast.LENGTH_SHORT) .show(); handler1.postDelayed(task1, 1000*second); ;,Runnable: 允許服務(wù)持續(xù)運行,即使啟動服務(wù)的應用退出 類似于 定時器中斷的中斷服務(wù)程序,Broadcast Receiver:系統(tǒng)級別的事件處理機制 UI的事件處理機制:程序、組件級別的 sendBroadcast(Intent intent)方法 發(fā)送廣播 BroadcastReceiver.onReceive()方法 接收廣播并做相應處理 多個廣播接收器可能同時接收同一個廣播,Broadcast Receiver:廣播接收器,標準的 Broadcast Action 常量: ACTION_TIME_CHANGED時間改變 ACTION_DATE_CHANGED日期改變 ACTION_BATTERY_LOW電量不足 ACTION_MEDIA_EJECT插拔外

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論