《智能手機(jī)開發(fā)簡(jiǎn)介》由會(huì)員分享,可在線閱讀,更多相關(guān)《智能手機(jī)開發(fā)簡(jiǎn)介(47頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級(jí),第三級(jí),第四級(jí),第五級(jí),*,智能手機(jī)軟件開發(fā)小議,使用,J2ME進(jìn)行手機(jī)編程,主講人:吳佳磊,蘭州理工大學(xué)蘋果俱樂部?jī)?nèi)部講座課件,Agenda,智能手機(jī)開發(fā)概述,認(rèn)識(shí)J2ME及WTK套件,Eclipse_For_J2ME,J2ME中常用類的介紹,程序Demo演示,智能手機(jī)開發(fā)概述,智能手機(jī),公式表示:“智能手機(jī)=掌上電腦+手機(jī)”,廣義上講,智能手機(jī)就是將PDA的大部分功能,特別是個(gè)人信息管理和基于無線數(shù)據(jù)通信的網(wǎng)頁瀏覽和郵件收發(fā)功能,集成到手機(jī)終端中得到的新型概念手機(jī),智能手機(jī)的特點(diǎn):便攜性、可擴(kuò)展性、可定制性、功能多樣性、可實(shí)現(xiàn)增值
2、業(yè)務(wù),Smart,Phones,一則來自BBC的市場(chǎng)調(diào)查信息:,十年之前的SmartPhone市場(chǎng),我們可以看到的智能手機(jī)界面都類似于黑莓手機(jī),如今的智能手機(jī)市場(chǎng)中,充斥著更多廠家的手機(jī),但是它們看上去都像是iPhone,這說明什么呢?,顯而易見,蘋果公司在智能手機(jī)的市場(chǎng)上擁有絕對(duì)的優(yōu)勢(shì),引領(lǐng)了整個(gè)行業(yè)的潮流,作為蘋果的開發(fā)者,我們可以引以為榮!,為何要進(jìn)行智能手機(jī)的開發(fā)?,廣泛的用戶群體(中國(guó)有過5億手機(jī)用戶),眾多設(shè)備制造商(如Nokia,MOTO,Apple等)及國(guó)內(nèi)主要的網(wǎng)絡(luò)運(yùn)營(yíng)商(中國(guó)移動(dòng)、中國(guó)聯(lián)通、中國(guó)電信等)都在積極開拓者一塊處女地,并提供良好的SDK支持,已經(jīng)比較成熟的運(yùn)作模式
3、,即從創(chuàng)意、研發(fā)、發(fā)布、經(jīng)營(yíng)到后期維護(hù)的運(yùn)營(yíng)平臺(tái)和一條龍服務(wù)模式,包括各種手機(jī)的App商城,補(bǔ)充內(nèi)容,對(duì)于在特定幾個(gè)智能手機(jī)品牌下進(jìn)行開發(fā),可以在相應(yīng)的官方網(wǎng)站上了解相關(guān)信息和下載開發(fā)資源包(包括開發(fā)使用的API和測(cè)試模擬器等,通常免費(fèi)),Apple,Nokia,Moto,http:/,智能手機(jī)開發(fā)必備條件,開發(fā)環(huán)境:這里選擇使用Java的ME版本進(jìn)行手機(jī)的開發(fā),需要配置JDK和JRE,手機(jī)功能API的支持:我們這里使用SUN公司自帶的WTK,其中包含了CLDC信息、MIDP包和一款SUN公司研發(fā)的通用手機(jī)模擬器,IDE編譯窗口,可使用Eclipse或NetBeans,并在其中綁定J2ME和W
4、TK,此外,還需要準(zhǔn)備后期測(cè)試的真實(shí)手機(jī)平臺(tái),認(rèn)識(shí)J2ME和WTK套件,什么是Java?,Java是一種面向?qū)ο?、可移植并被視為?yōu)于C語言(仍然有爭(zhēng)議)的編程語言,什么是J2ME?,全稱為Java Micro Edition,是Java的微型版本,主要用于進(jìn)行智能終端和嵌入式環(huán)境的開發(fā)。例如,高級(jí)汽車的智能控制軟件,智能家電的控制軟件等,Java是一個(gè)非常廣泛的概念。主要包括三種版本,分別稱為J2ME、J2SE、J2EE。其中J2SE是其它兩種Java版本運(yùn)行的基礎(chǔ),有關(guān)J2EE的相關(guān)知識(shí)后續(xù)講座會(huì)涉及,基本組件,主要功能,JRE,(Java Runtime Environment),為基于J
5、ava的軟件提供運(yùn)行環(huán)境,包括JVM,JDK,(Java Develop Kit),為Java軟件的開發(fā)提供基本的編譯器、類庫等,IDE,(Integrated Develop Environment),提供一個(gè)集成化的窗口界面利于進(jìn)行項(xiàng)目文件的組織和管理,Table1.基本Java開發(fā)環(huán)境的組成,JAVA,J2ME,J2SE,J2EE,(Java家族中的標(biāo)準(zhǔn)版本,僅需要最基本的環(huán)境配置,開發(fā)桌面環(huán)境下的軟件使用,提供Java的開發(fā)及調(diào)試環(huán)境、Java虛擬機(jī)等組件),(Java家族中的服務(wù)器版本,主要是用于在服務(wù)器端提供由Java開發(fā)出的動(dòng)態(tài)網(wǎng)頁及后臺(tái)小程序的,運(yùn)行環(huán)境。除了JRE環(huán)境之外,還
6、需要服務(wù)器端的支持,如NetBean或者Apache等,),(Java家族中的微型版本,主要用于智能終端的開發(fā),例如手機(jī)、智能家電控制、機(jī)頂盒等。除了JRE之外,還需要支持移動(dòng)終端各種功能額外API的支持),WTK(Wireless Tool Kit),確切的講,這是一個(gè)API的集合,由SUN公司提供的,包含CLDC和MIDP配置信息,還包括手機(jī)模擬器在其中,主要內(nèi)容:11個(gè)Java相關(guān)包,每個(gè)包內(nèi)還有相關(guān)的類(具體后面介紹),幾個(gè)需要了解的相關(guān)概念:CLDC、CDC、MIDP等,名詞術(shù)語解釋,CLDC(Connection Limited Device Configuration),即有限連
7、接設(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)、初始化信息等,補(bǔ)充信息,手機(jī)的內(nèi)嵌Java運(yùn)行環(huán)境體系,Optional Packets,Profile,Configurations,Java Virtual Machine,Embeded Host OS,手機(jī)廠商為自己的產(chǎn)
8、品研發(fā)的功能API,MIDP,即通用的一般性手機(jī)功能API,CDC/CLDC配置文件,類似于固件信息,寫入固件中的Java虛擬機(jī),手機(jī)廠商為自己的產(chǎn)品研發(fā)的操作系統(tǒng),Eclipse_For_J2ME,開始之前,所謂IDE,就是指Integrated Development Environment,即集成開發(fā)環(huán)境。,它本身并不代表任何的編程語言,只是一個(gè)窗口化界面,為整個(gè)編譯、測(cè)試和管理程序文件提供了一個(gè)集中環(huán)境,類似于VC、Xcode等,要在某一種系統(tǒng)平臺(tái)下使用某一種編程語言制作軟件,可以選擇的平臺(tái)其實(shí)有很多種。例如在win下開發(fā)J2ME可以使用Eclipse、NetBeans,甚至文本編輯器
9、加命令行操作來完成,唯一的區(qū)別就是過程中的操作方式和工作量會(huì)有所不同,Eclipse最早是在Linux下進(jìn)行Java開發(fā)的IDE客戶端,該軟件本身也是用純Java編寫的,正由于它是用Java開發(fā)的,所以Eclipse能夠跨平臺(tái)工作,在Win、Linux和Mac下也有相應(yīng)的版本,Elipse軟件的官方主頁:,在這里可以下載到各種平臺(tái)下的Eclipse版本,IDE客戶端:Eclipse,以Windows下的情況為例進(jìn)行講解,聲明:在Linux和MacOS下均有相應(yīng)的JDK和Eclipse版本,可以自行下載安裝,但是遺憾的是WTK只有Windows和Linux下的版本,MacOS下暫時(shí)沒有,但是,在
10、MacOS下可以使用Xcode(另一種IDE,內(nèi)置了蘋果開發(fā)的SDK,只能在蘋果操作系統(tǒng)下運(yùn)行)進(jìn)行iPhone的開發(fā),后面會(huì)單獨(dú)安排這方面的講座,IDE客戶端:Eclipse(續(xù)),Eclipse通常情況下是以文件包的格式存在的,所以不需要安裝,下載解壓后即可使用,Eclipse中常用的J2ME組件是EclipseMe,可以在Eclipse中通過安裝更新包的方式將EclipseMe加入,加入后即可在Eclipse中調(diào)用J2ME的API,Eclipse運(yùn)行加載界面,首次運(yùn)行時(shí),需要設(shè)定默,認(rèn)的工作路,徑,也叫做,工作區(qū)。今,后的工程文,件就會(huì)放在,該路徑下,Eclipse的軟件主窗口,IDE客
11、戶端:Eclipse(續(xù)),注意:Eclipse在第一次啟動(dòng)的時(shí)候,會(huì)自動(dòng)檢測(cè)系統(tǒng)中的Java運(yùn)行環(huán)境,如果沒有正確安裝Java環(huán)境,Eclipse也無法正常加載!,需要在軟件的預(yù)設(shè)頁面中,將WTK安裝目錄與Eclipse進(jìn)行綁定,這一步完成后可以在Eclipse中調(diào)用API和模擬器,搜索完畢,發(fā)現(xiàn)由Sun公司提供的WTK中會(huì)包含四款通用的手機(jī)模擬器,選擇一款作為默認(rèn)運(yùn)行的模擬器(通常選擇DefaultColourPhone),默認(rèn)手機(jī)模擬器綁定完畢之后,保存設(shè)置,現(xiàn)在就可以正式開始了,恭喜!,右側(cè)顯示的就是默認(rèn)彩屏手機(jī)模擬器的界面,J2ME中常用類的介紹,首先,這里所說的J2ME中的類是特指
12、WTK中的類,不包括JDK中的基本類,可以在WTK的安裝目錄下,找到docsapimidp子目錄,打開其中的index.html文件,界面如下頁圖,該界面中包含由MIDP提供的常用API包,共11個(gè),負(fù)責(zé)常見軟件的界面功能實(shí)現(xiàn),每個(gè)包中包含許多具體的類,術(shù)語簡(jiǎn)介,Java面向?qū)ο缶幊讨?,常用的幾個(gè)術(shù)語羅列如下(具體內(nèi)容后面的講座中會(huì)涉及到),類(class):一般性的邏輯的抽象概念,包(packet):Java中對(duì)于相同功能的一組類的集合,接口(Interface):類似于框架的一種公共類的功能模塊,可以供其他類的實(shí)例來實(shí)現(xiàn),一旦實(shí)現(xiàn)后可以在目的類中使用源類的成員函數(shù),一個(gè)類中的函數(shù)主要可以分
13、為構(gòu)造函數(shù)(不一定都有)和成員函數(shù),幾個(gè)重要的包:,和java.io負(fù)責(zé)各種輸出輸入,負(fù)責(zé)界面元素的生成,繼承于object的最基本的包,負(fù)責(zé)程序初始化對(duì)象實(shí)例的創(chuàng)建,幾個(gè)重要的類,所有顯示類的基類,負(fù)責(zé)程序界面的顯示,所有選項(xiàng)類的基類,負(fù)責(zé)線程的管理,負(fù)責(zé)顯示字體的設(shè)置,負(fù)責(zé)顏色的顯示,負(fù)責(zé)按鍵的設(shè)置,幾個(gè)重要的接口,實(shí)現(xiàn)按鍵事件的監(jiān)聽操作,實(shí)現(xiàn)連接請(qǐng)求,實(shí)現(xiàn)多線程,實(shí)現(xiàn)對(duì)象按鍵時(shí)間的監(jiān)聽操作,接口的作用,接口主要是為了方便某一個(gè)子類的功能實(shí)現(xiàn),通俗地講也就是實(shí)現(xiàn)類的多重繼承操作,幾個(gè)重要的類,這個(gè)類適用于需要進(jìn)行界面顯示的部分,它是所有界面顯示類的根類,所有與顯示相關(guān)的類都是display
14、able類的子類,常見的界面元素有Form、Canvas、List、TextBox、Alert等,它們都是可以在界面上顯示的,有相應(yīng)的類管理它們,在它們之上添加功能,程序最開始首先創(chuàng)建并初始化一個(gè)顯示類的對(duì)象,使用哪一種需要根據(jù)具體的界面用途來定,幾個(gè)重要的類,這個(gè)類主要用于負(fù)責(zé)界面上的顯示,它也是系統(tǒng)預(yù)置的需要實(shí)例化和使用的類之一,程序中的對(duì)象間關(guān)系:,Display對(duì)象,Displayable對(duì)象,功能對(duì)象,按鍵對(duì)象,事件、線程對(duì)象,應(yīng)用程序本身,幾個(gè)重要的類,類下面的幾個(gè)子類,分別為:和,其中,canvas是畫布,負(fù)責(zé)精確的繪制手機(jī)界面上的元素顯示,在做游戲界面時(shí)可以用到,Screen下
15、面的子類包括Alert,F(xiàn)orm,List和Textbox等,根據(jù)需要進(jìn)行選擇,幾個(gè)重要的類,Command類用于生成八種類型的按鍵,這八種類型分別為:BACK、CANCEL、EXIT、SCREEN、HELP、OK、ITEM、STOP,每種不同類型按鍵的優(yōu)先級(jí)不同,具體可以參考用戶API手冊(cè),按鍵生成之后,需要使用displayable子類的成員函數(shù)addCommand來添加按鍵,若要使command生效,程序還需要實(shí)現(xiàn)commandListener接口,幾個(gè)重要的類,凡是這個(gè)類和這個(gè)類的子類實(shí)現(xiàn)的元素均是為了表明一個(gè)事件或是元素,主要的類型有:選擇框、文本框、日期框、圖像等等這些元素如果想要
16、正常的顯示在屏幕上,只能夠顯示在form類中,item類下的子類功能的實(shí)現(xiàn)還需要程序?qū)崿F(xiàn)itemCommamdListener接口,幾個(gè)重要的類,首先,需要解釋什么叫做MIDlet,其實(shí)是MIDApplet的簡(jiǎn)稱,手機(jī)中的大型程序其實(shí)就是由一個(gè)個(gè)小的MIDlet共同組合,稱為一個(gè)project,再又編譯器完成編譯并打包為Jar文件,這個(gè)類是編譯系統(tǒng)默認(rèn)為J2ME程序添加的一個(gè),是整個(gè)程序存在的前提和基礎(chǔ),幾個(gè)重要的類,這個(gè)類的作用,簡(jiǎn)單的來講就是一個(gè)連接器的作用,用于創(chuàng)建各種外部連接使用,例如,在進(jìn)行網(wǎng)絡(luò)連接的時(shí)候,首先就需要?jiǎng)?chuàng)建一個(gè)connector類的實(shí)例,通過它所包含的各種輸出輸入流方法來實(shí)現(xiàn)程序和外界之間的聯(lián)系,幾個(gè)重要的類,這個(gè)類是專門用在程序中的線程創(chuàng)建的,也就是說程序在多線程執(zhí)行中會(huì)用到,這個(gè)類有四種構(gòu)造函數(shù)(其實(shí)其他的幾個(gè)類有的也有多種構(gòu)造函數(shù)),選擇一個(gè)適合自己需要的創(chuàng)建類的實(shí)例對(duì)象,補(bǔ)充內(nèi)容:線程thread vs.進(jìn)程process,幾個(gè)重要的類,這個(gè)類是所有java程序(不僅限于J2ME)中最常用到的一個(gè)類,包含多種子類,用于特定的某一種程序編譯過程中出現(xiàn)的意外