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