智能手機(jī)開(kāi)發(fā)簡(jiǎn)介 PPT課件_第1頁(yè)
智能手機(jī)開(kāi)發(fā)簡(jiǎn)介 PPT課件_第2頁(yè)
智能手機(jī)開(kāi)發(fā)簡(jiǎn)介 PPT課件_第3頁(yè)
智能手機(jī)開(kāi)發(fā)簡(jiǎn)介 PPT課件_第4頁(yè)
智能手機(jī)開(kāi)發(fā)簡(jiǎn)介 PPT課件_第5頁(yè)
已閱讀5頁(yè),還剩42頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、智能手機(jī)軟件開(kāi)發(fā)小議,使用J2ME進(jìn)行手機(jī)編程,主講人:吳佳磊 ,蘭州理工大學(xué)蘋果俱樂(lè)部?jī)?nèi)部講座課件,1,Agenda,智能手機(jī)開(kāi)發(fā)概述 認(rèn)識(shí)J2ME及WTK套件 Eclipse_For_J2ME J2ME中常用類的介紹 程序Demo演示,2,智能手機(jī)開(kāi)發(fā)概述,3,智能手機(jī) 公式表示:“智能手機(jī)=掌上電腦+手機(jī)” 廣義上講,智能手機(jī)就是將PDA的大部分功能,特別是個(gè)人信息管理和基于無(wú)線數(shù)據(jù)通信的網(wǎng)頁(yè)瀏覽和郵件收發(fā)功能,集成到手機(jī)終端中得到的新型概念手機(jī) 智能手機(jī)的特點(diǎn):便攜性、可擴(kuò)展性、可定制性、功能多樣性、可實(shí)現(xiàn)增值業(yè)務(wù),4,Smart Phones,5,一則來(lái)自BBC的市場(chǎng)調(diào)查信息: 十年

2、之前的SmartPhone市場(chǎng),我們可以看到的智能手機(jī)界面都類似于黑莓手機(jī) 如今的智能手機(jī)市場(chǎng)中,充斥著更多廠家的手機(jī),但是它們看上去都像是iPhone 這說(shuō)明什么呢? 顯而易見(jiàn),蘋果公司在智能手機(jī)的市場(chǎng)上擁有絕對(duì)的優(yōu)勢(shì),引領(lǐng)了整個(gè)行業(yè)的潮流 作為蘋果的開(kāi)發(fā)者,我們可以引以為榮!,6,為何要進(jìn)行智能手機(jī)的開(kāi)發(fā)? 廣泛的用戶群體(中國(guó)有過(guò)5億手機(jī)用戶) 眾多設(shè)備制造商(如Nokia, MOTO, Apple等)及國(guó)內(nèi)主要的網(wǎng)絡(luò)運(yùn)營(yíng)商(中國(guó)移動(dòng)、中國(guó)聯(lián)通、中國(guó)電信等)都在積極開(kāi)拓者一塊處女地,并提供良好的SDK支持 已經(jīng)比較成熟的運(yùn)作模式,即從創(chuàng)意、研發(fā)、發(fā)布、經(jīng)營(yíng)到后期維護(hù)的運(yùn)營(yíng)平臺(tái)和一條龍服務(wù)

3、模式,包括各種手機(jī)的App商城,7,補(bǔ)充內(nèi)容,對(duì)于在特定幾個(gè)智能手機(jī)品牌下進(jìn)行開(kāi)發(fā),可以在相應(yīng)的官方網(wǎng)站上了解相關(guān)信息和下載開(kāi)發(fā)資源包(包括開(kāi)發(fā)使用的API和測(cè)試模擬器等,通常免費(fèi)) Apple Nokia Moto,8,智能手機(jī)開(kāi)發(fā)必備條件 開(kāi)發(fā)環(huán)境:這里選擇使用Java的ME版本進(jìn)行手機(jī)的開(kāi)發(fā),需要配置JDK和JRE 手機(jī)功能API的支持:我們這里使用SUN公司自帶的WTK,其中包含了CLDC信息、MIDP包和一款SUN公司研發(fā)的通用手機(jī)模擬器 IDE編譯窗口,可使用Eclipse或NetBeans,并在其中綁定J2ME和WTK 此外,還需要準(zhǔn)備后期測(cè)試的真實(shí)手機(jī)平臺(tái),9,認(rèn)識(shí)J2ME和W

4、TK套件,10,什么是Java? Java是一種面向?qū)ο?、可移植并被視為?yōu)于C語(yǔ)言(仍然有爭(zhēng)議)的編程語(yǔ)言 什么是J2ME? 全稱為Java Micro Edition,是Java的微型版本,主要用于進(jìn)行智能終端和嵌入式環(huán)境的開(kāi)發(fā)。例如,高級(jí)汽車的智能控制軟件,智能家電的控制軟件等,11,Java是一個(gè)非常廣泛的概念。主要包括三種版本,分別稱為J2ME、J2SE、J2EE。其中J2SE是其它兩種Java版本運(yùn)行的基礎(chǔ) 有關(guān)J2EE的相關(guān)知識(shí)后續(xù)講座會(huì)涉及,Table1. 基本Java開(kāi)發(fā)環(huán)境的組成,12,JAVA,J2ME,J2SE,J2EE,(Java家族中的標(biāo)準(zhǔn)版本,僅需要最基本的環(huán)境配置

5、,開(kāi)發(fā)桌面環(huán)境下的軟件使用,提供Java的開(kāi)發(fā)及調(diào)試環(huán)境、Java虛擬機(jī)等組件),(Java家族中的服務(wù)器版本,主要是用于在服務(wù)器端提供由Java開(kāi)發(fā)出的動(dòng)態(tài)網(wǎng)頁(yè)及后臺(tái)小程序的運(yùn)行環(huán)境。除了JRE環(huán)境之外,還需要服務(wù)器端的支持,如NetBean或者Apache等),(Java家族中的微型版本,主要用于智能終端的開(kāi)發(fā),例如手機(jī)、智能家電控制、機(jī)頂盒等。除了JRE之外,還需要支持移動(dòng)終端各種功能額外API的支持),13,WTK (Wireless Tool Kit) 確切的講,這是一個(gè)API的集合,由SUN公司提供的,包含CLDC和MIDP配置信息,還包括手機(jī)模擬器在其中 主要內(nèi)容:11個(gè)Java

6、相關(guān)包,每個(gè)包內(nèi)還有相關(guān)的類(具體后面介紹) 幾個(gè)需要了解的相關(guān)概念:CLDC、CDC、MIDP等,14,名詞術(shù)語(yǔ)解釋,CLDC (Connection Limited Device Configuration),即有限連接設(shè)備配置信息,如手機(jī)、汽車主板就屬于這一類 CDC (Connection Device Configuration),即連接設(shè)備配置信息,如機(jī)頂盒、智能冰箱等就屬于這一類 Tip:兩者的區(qū)別其實(shí)就是電源供電模式不同 MIDP (Mobile Information Device Profile),即移動(dòng)信息設(shè)備配置文件,它專指移動(dòng)CLDC設(shè)備的配置文件,例如手機(jī)的啟動(dòng)、初

7、始化信息等,15,補(bǔ)充信息,手機(jī)的內(nèi)嵌Java運(yùn)行環(huán)境體系,Optional Packets,Profile,Configurations,Java Virtual Machine,Embeded Host OS,手機(jī)廠商為自己的產(chǎn)品研發(fā)的功能API,MIDP,即通用的一般性手機(jī)功能API,CDC/CLDC配置文件,類似于固件信息,寫(xiě)入固件中的Java虛擬機(jī),手機(jī)廠商為自己的產(chǎn)品研發(fā)的操作系統(tǒng),16,Eclipse_For_J2ME,17,開(kāi)始之前 所謂IDE,就是指Integrated Development Environment,即集成開(kāi)發(fā)環(huán)境。 它本身并不代表任何的編程語(yǔ)言,只是一個(gè)窗

8、口化界面,為整個(gè)編譯、測(cè)試和管理程序文件提供了一個(gè)集中環(huán)境,類似于VC、Xcode等 要在某一種系統(tǒng)平臺(tái)下使用某一種編程語(yǔ)言制作軟件,可以選擇的平臺(tái)其實(shí)有很多種。例如在win下開(kāi)發(fā)J2ME可以使用Eclipse、NetBeans,甚至文本編輯器加命令行操作來(lái)完成,唯一的區(qū)別就是過(guò)程中的操作方式和工作量會(huì)有所不同,18,Eclipse最早是在Linux下進(jìn)行Java開(kāi)發(fā)的IDE客戶端,該軟件本身也是用純Java編寫(xiě)的 正由于它是用Java開(kāi)發(fā)的,所以Eclipse能夠跨平臺(tái)工作,在Win、Linux和Mac下也有相應(yīng)的版本 Elipse軟件的官方主頁(yè):,在這里可以下

9、載到各種平臺(tái)下的Eclipse版本,IDE客戶端:Eclipse,19,以Windows下的情況為例進(jìn)行講解 聲明:在Linux和MacOS下均有相應(yīng)的JDK和Eclipse版本,可以自行下載安裝,但是遺憾的是WTK只有Windows和Linux下的版本,MacOS下暫時(shí)沒(méi)有 但是,在MacOS下可以使用Xcode(另一種IDE,內(nèi)置了蘋果開(kāi)發(fā)的SDK,只能在蘋果操作系統(tǒng)下運(yùn)行)進(jìn)行iPhone的開(kāi)發(fā),后面會(huì)單獨(dú)安排這方面的講座,20,IDE客戶端:Eclipse(續(xù)),Eclipse通常情況下是以文件包的格式存在的,所以不需要安裝,下載解壓后即可使用 Eclipse中常用的J2ME組件是Ec

10、lipseMe,可以在Eclipse中通過(guò)安裝更新包的方式將EclipseMe加入,加入后即可在Eclipse中調(diào)用J2ME的API,21,Eclipse運(yùn)行加載界面,首次運(yùn)行時(shí) 需要設(shè)定默 認(rèn)的工作路 徑,也叫做 工作區(qū)。今 后的工程文 件就會(huì)放在 該路徑下,22,Eclipse的軟件主窗口,23,IDE客戶端:Eclipse(續(xù)),注意:Eclipse在第一次啟動(dòng)的時(shí)候,會(huì)自動(dòng)檢測(cè)系統(tǒng)中的Java運(yùn)行環(huán)境,如果沒(méi)有正確安裝Java環(huán)境,Eclipse也無(wú)法正常加載! 需要在軟件的預(yù)設(shè)頁(yè)面中,將WTK安裝目錄與Eclipse進(jìn)行綁定,這一步完成后可以在Eclipse中調(diào)用API和模擬器,24

11、,25,搜索完畢,發(fā)現(xiàn)由Sun公司提供的WTK中會(huì)包含四款通用的手機(jī)模擬器,選擇一款作為默認(rèn)運(yùn)行的模擬器(通常選擇DefaultColourPhone) 默認(rèn)手機(jī)模擬器綁定完畢之后,保存設(shè)置,現(xiàn)在就可以正式開(kāi)始了,恭喜! 右側(cè)顯示的就是默認(rèn)彩屏手機(jī)模擬器的界面,26,J2ME中常用類的介紹,27,首先,這里所說(shuō)的J2ME中的類是特指WTK中的類,不包括JDK中的基本類 可以在WTK的安裝目錄下,找到docsapimidp子目錄,打開(kāi)其中的index.html文件,界面如下頁(yè)圖 該界面中包含由MIDP提供的常用API包,共11個(gè),負(fù)責(zé)常見(jiàn)軟件的界面功能實(shí)現(xiàn),每個(gè)包中包含許多具體的類,28,29,

12、術(shù)語(yǔ)簡(jiǎn)介,Java面向?qū)ο缶幊讨?,常用的幾個(gè)術(shù)語(yǔ)羅列如下(具體內(nèi)容后面的講座中會(huì)涉及到) 類(class):一般性的邏輯的抽象概念 包(packet):Java中對(duì)于相同功能的一組類的集合 接口(Interface):類似于框架的一種公共類的功能模塊,可以供其他類的實(shí)例來(lái)實(shí)現(xiàn),一旦實(shí)現(xiàn)后可以在目的類中使用源類的成員函數(shù) 一個(gè)類中的函數(shù)主要可以分為構(gòu)造函數(shù)(不一定都有)和成員函數(shù),30,幾個(gè)重要的包: javax.microedition.io和java.io負(fù)責(zé)各種輸出輸入 javax.microedition.lcdui 負(fù)責(zé)界面元素的生成 javax.microedition.midlet

13、 繼承于object的最基本的包,負(fù)責(zé)程序初始化對(duì)象實(shí)例的創(chuàng)建 幾個(gè)重要的類 javax.microedition.lcdui.displayable 所有顯示類的基類 javax.microedition.lcdui.display 負(fù)責(zé)程序界面的顯示 javax.microedition.lcdui.item所有選項(xiàng)類的基類 java.lang.thread 負(fù)責(zé)線程的管理 javax.microedition.lcdui.font負(fù)責(zé)顯示字體的設(shè)置 javax.microedition.lcdui.graphics 負(fù)責(zé)顏色的顯示 mand 負(fù)責(zé)按鍵的設(shè)置,31,幾個(gè)重要的接口 mand

14、Listener實(shí)現(xiàn)按鍵事件的監(jiān)聽(tīng)操作 javax.microedition.io.connection實(shí)現(xiàn)連接請(qǐng)求 javax.lang.runnable實(shí)現(xiàn)多線程 javax.microedition.lcdui.itemCommandListener實(shí)現(xiàn)對(duì)象按鍵時(shí)間的監(jiān)聽(tīng)操作 接口的作用 接口主要是為了方便某一個(gè)子類的功能實(shí)現(xiàn),通俗地講也就是實(shí)現(xiàn)類的多重繼承操作,32,幾個(gè)重要的類,javax.microedition.lcdui.displayable 這個(gè)類適用于需要進(jìn)行界面顯示的部分,它是所有界面顯示類的根類,所有與顯示相關(guān)的類都是displayable類的子類 常見(jiàn)的界面元素有F

15、orm、Canvas、List、TextBox、Alert等,它們都是可以在界面上顯示的,有相應(yīng)的類管理它們,在它們之上添加功能 程序最開(kāi)始首先創(chuàng)建并初始化一個(gè)顯示類的對(duì)象,使用哪一種需要根據(jù)具體的界面用途來(lái)定,33,幾個(gè)重要的類,javax.microedition.lcdui.display 這個(gè)類主要用于負(fù)責(zé)界面上的顯示,它也是系統(tǒng)預(yù)置的需要實(shí)例化和使用的類之一 程序中的對(duì)象間關(guān)系:,Display對(duì)象,Displayable對(duì)象,功能對(duì)象,按鍵對(duì)象,事件、線程對(duì)象,應(yīng)用程序本身,34,幾個(gè)重要的類,javax.microedition.lcdui.displayable類下面的幾個(gè)子類

16、,分別為:javax.microedition.lcdui.canvas和javax.microedition.lcdui.screen 其中,canvas是畫(huà)布,負(fù)責(zé)精確的繪制手機(jī)界面上的元素顯示,在做游戲界面時(shí)可以用到 Screen下面的子類包括Alert,F(xiàn)orm,List和Textbox等,根據(jù)需要進(jìn)行選擇,35,幾個(gè)重要的類,mand Command類用于生成八種類型的按鍵,這八種類型分別為:BACK、CANCEL、EXIT、SCREEN、HELP、OK、ITEM、STOP,每種不同類型按鍵的優(yōu)先級(jí)不同,具體可以參考用戶API手冊(cè) 按鍵生成之后,需要使用displayable子類的成

17、員函數(shù)addCommand來(lái)添加按鍵 若要使command生效,程序還需要實(shí)現(xiàn)commandListener接口,36,幾個(gè)重要的類,javax.microedition.lcdui.item 凡是這個(gè)類和這個(gè)類的子類實(shí)現(xiàn)的元素均是為了表明一個(gè)事件或是元素,主要的類型有:選擇框、文本框、日期框、圖像等等這些元素如果想要正常的顯示在屏幕上,只能夠顯示在form類中 item類下的子類功能的實(shí)現(xiàn)還需要程序?qū)崿F(xiàn)itemCommamdListener接口,37,幾個(gè)重要的類,javax.microedition.midlet.MIDlet 首先,需要解釋什么叫做MIDlet,其實(shí)是MIDApplet的

18、簡(jiǎn)稱 手機(jī)中的大型程序其實(shí)就是由一個(gè)個(gè)小的MIDlet共同組合,稱為一個(gè)project,再又編譯器完成編譯并打包為Jar文件 這個(gè)類是編譯系統(tǒng)默認(rèn)為J2ME程序添加的一個(gè),是整個(gè)程序存在的前提和基礎(chǔ),38,幾個(gè)重要的類,javax.microedition.io.conector 這個(gè)類的作用,簡(jiǎn)單的來(lái)講就是一個(gè)連接器的作用,用于創(chuàng)建各種外部連接使用 例如,在進(jìn)行網(wǎng)絡(luò)連接的時(shí)候,首先就需要?jiǎng)?chuàng)建一個(gè)connector類的實(shí)例,通過(guò)它所包含的各種輸出輸入流方法來(lái)實(shí)現(xiàn)程序和外界之間的聯(lián)系,39,幾個(gè)重要的類,java.lang.thread 這個(gè)類是專門用在程序中的線程創(chuàng)建的,也就是說(shuō)程序在多線程執(zhí)行中會(huì)用到 這個(gè)類有四種構(gòu)造函數(shù)(其實(shí)其他的幾個(gè)類有的也有多種構(gòu)造函數(shù)),選擇一個(gè)適合自己需要的創(chuàng)建類的實(shí)例對(duì)象 補(bǔ)充內(nèi)容:線程thread vs. 進(jìn)程process,40,幾個(gè)重要的類,java.lang.exception 這個(gè)類是所有java程序(不僅限于J2ME)中最常用到的一個(gè)類 包含多種子類,用于特定的某一種程序編譯過(guò)程中出現(xiàn)的意外 結(jié)構(gòu):try

溫馨提示

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

評(píng)論

0/150

提交評(píng)論