【正文】
s design. Through to the Android platform based on mobile phone ebook reader design and implementation of the introduction, the hope for the development in the future more powerful offer beneficial reference for the reader.Keywords :Android,Ebook reader, SDKII 前 言手機(jī)已經(jīng)成為了生活中不可缺少的通訊設(shè)備,沒有手機(jī)有時(shí)會(huì)讓人覺得寸步難行。正基于此,Google于2007年11月5日宣布推出基于Linux平臺(tái)的開源手機(jī)操作系統(tǒng),號(hào)稱首個(gè)為移動(dòng)終端打造的真正開放和完整的移動(dòng)軟件——Android。時(shí)下社會(huì)的進(jìn)步更是讓人們的生活越來越忙碌,抱著厚厚的書本穿梭于大街小巷已經(jīng)不再適應(yīng)這個(gè)忙碌的時(shí)代。 就是因?yàn)槭謾C(jī)電子閱讀器方便快捷的優(yōu)點(diǎn),使得人們把用手機(jī)電子閱讀器閱讀閱讀電子書當(dāng)做當(dāng)科技時(shí)代的一種時(shí)尚。二十世紀(jì)七十年代,(electronic Book,eBook)這一術(shù)語。閱讀器指的是一個(gè)設(shè)備,是專門用來看電子書的。最早出現(xiàn)在市場上的電子書閱讀器是美國Soft Book公司的Soft 。2000年8月,美國微軟公司發(fā)布了一個(gè)可供人們閱讀電子書的應(yīng)用軟件Microsoft Reader,這種閱讀器軟件的核心技術(shù)是Clear Type,微軟稱之為“對液晶顯示屏具有革命性的變革”,它是一種能使文字在顯示器上的顯示效果像印在紙上一樣平滑清晰的字符顯示技術(shù),這種技術(shù)大大提高了屏幕的分辨率和清晰度,使讀者能夠獲得最接近傳統(tǒng)書的閱讀效果。它采用了華人科學(xué)家吳葆剛博士發(fā)明的“多穩(wěn)態(tài)液晶顯示器”,并在國際上首次實(shí)現(xiàn)了“翻頁不耗電”閱讀顯示。隨著這些閱讀器的出現(xiàn),使得電子圖書、期刊這些原本只能在PC上閱讀的東西突然變得可以移動(dòng),電子書籍與紙制書籍之間的距離縮短了一大步。目前主流的電子書閱讀器有熊貓看書,它是網(wǎng)龍公司自主研發(fā)并出品的一款免費(fèi)閱讀軟件,支持在線書籍查詢,在線書籍分類閱讀,書籍收藏與撤銷收藏,新聞分類閱讀,新聞?dòng)嗛喎诸惻c撤銷訂閱。全面支持TXT、ZIP、HTML、UMD、NDB等多種格式,同時(shí)還支持JPG、BMP、PNG、GIF等多種格式圖像查看。電子閱讀現(xiàn)在是國家和業(yè)內(nèi)非常重視的一個(gè)新興產(chǎn)業(yè),它與國家提倡的“自主創(chuàng)新,增強(qiáng)核心競爭力”、開展低碳、節(jié)能環(huán)保的社會(huì)環(huán)境相吻合,很多廠商、科研院所都將目光放到了這個(gè)原本沒有足夠重視的領(lǐng)域上。雖然現(xiàn)在手機(jī)電子書閱讀器功能己經(jīng)比較完善,但是離人們的期望還存在較大的距離,比如改善人們的閱讀環(huán)境,使人們讀起來不感到疲倦而且充滿樂趣,同時(shí)現(xiàn)在的閱讀器多媒體性能還不夠完善。本文共分為五部分,內(nèi)容安排如下所示。第二部分相關(guān)理論及關(guān)鍵技術(shù),介紹了Android特征,Android架構(gòu)和Android應(yīng)用的構(gòu)成和工作機(jī)制等內(nèi)容,研究了Android控件。第四部分手機(jī)電子書閱讀器總體設(shè)計(jì),分別從這幾個(gè)角度進(jìn)行描述:軟件架構(gòu)圖,軟件結(jié)構(gòu)圖和功能模塊設(shè)計(jì)。第六部分結(jié)語,對全文進(jìn)行了總結(jié)和展望。于是各種手機(jī)播放器也緊跟著發(fā)展起來,但是很多播放器一味追求外觀花哨,功能龐大,對用戶的手機(jī)造成了很多資源浪費(fèi),比如CPU,內(nèi)存等的占用率過高,在用戶需要多任務(wù)操作時(shí),受到了不小的影響,帶來了許多不便,而對于大多數(shù)普通用戶,許多功能用不上,形同虛設(shè)。此外,還能支持中文、英文等語言界面。它開放了基于Linux內(nèi)核以上的開發(fā)工具,從而保證了內(nèi)容的可移植性和多樣性。 Android特征Dalvik虛擬:Android采用的Java虛擬機(jī)是自主開發(fā)的代號(hào)為Dalvik的虛擬機(jī)技術(shù),在保證API方面兼容的同時(shí)Dalvik針對移動(dòng)手機(jī)進(jìn)行了大幅優(yōu)化,占用資源更小,運(yùn)行效率更高。優(yōu)化的圖形:強(qiáng)大的自定義二維圖形庫。SQLite數(shù)據(jù)庫:SQLitet提供結(jié)構(gòu)化的數(shù)據(jù)存儲(chǔ)。多媒體支持:支持各種通用的音視頻和靜態(tài)圖像格式,如MPJPG、PNG等。通過Open Core,程序員可以方便快速的開發(fā)出想要的多媒體應(yīng)用程序。藍(lán)牙,EDGE,3G,and WiFi是一種短距離的無線連接技術(shù),在短距離內(nèi)可以實(shí)現(xiàn)話音和數(shù)據(jù)的無線傳輸。Camera,GPS,pass,and accelerometer:(依賴硬件)GPS(Global Positioning System)全球定位系統(tǒng)。Compass是個(gè)開放源代碼的JAVA搜索引擎框架。Eclipse是個(gè)集成開發(fā)環(huán)境。應(yīng)用軟件原則上是在Dalvik VM上運(yùn)行的。開發(fā)語言是Java。Android本身已在其框架中提高了許多的組件供應(yīng)用程序調(diào)用,當(dāng)然開發(fā)者也開放新的組件,并將組件放入應(yīng)用程序框架中,以供自己和其它應(yīng)用程序調(diào)用。這些函數(shù)庫包括:標(biāo)準(zhǔn)C函數(shù)庫、媒體功能庫、瀏覽器引擎、2D和3D圖形庫、基于WEB應(yīng)用的的安全協(xié)議SSL、用于點(diǎn)陣和矢量字體渲染的FreeType以及SQLite引擎等。所有的Android應(yīng)用都運(yùn)行在它自己的進(jìn)程里,該進(jìn)程是一個(gè)Dalvik虛擬機(jī)的實(shí)例,Dalvik被設(shè)計(jì)成能在一臺(tái)設(shè)備上高效的運(yùn)行多個(gè)虛擬機(jī)實(shí)例。這是被優(yōu)化過的最小內(nèi)存依賴的格式。Dalvik虛擬機(jī)依賴于底層Linux內(nèi)核提供的功能,如線程機(jī)制,和內(nèi)存管理機(jī)制等。它提供諸如內(nèi)存管理、進(jìn)程管理、設(shè)備驅(qū)動(dòng)等服務(wù),同時(shí)也是手機(jī)軟硬件的連接層,提供了一個(gè)屏蔽層用于屏蔽硬件和上層軟件。在應(yīng)用程序中使用時(shí)。1. ActivityActivity是構(gòu)成應(yīng)用程序中最重要的構(gòu)造塊, 在Android應(yīng)用程序中,幾乎都是通過Activity來與用戶進(jìn)行交互,所以Activity主要負(fù)責(zé)的就是創(chuàng)建與用戶進(jìn)行交互的顯示窗口,你可以在這些窗口里通過調(diào)用setContentView(View)方法來顯示你自己的用戶界面。當(dāng)一個(gè)新的活動(dòng)啟動(dòng)后,被放到了棧項(xiàng),成為了運(yùn)行活動(dòng),而新活動(dòng)之前的活動(dòng)在活動(dòng)棧里總位于新活動(dòng)之下,直到新的活動(dòng)退出才重新回到前臺(tái)。在onCreate()中進(jìn)行所有初始化,在onDestroyO時(shí)進(jìn)行清理工作,釋放資源。在這段時(shí)間內(nèi),即使活動(dòng)不與用戶進(jìn)行交互,用戶也可以在屏幕上看到它。onStart()和onStop()方法可以多次調(diào)用,因?yàn)榛顒?dòng)隨時(shí)可以在可見和隱藏之間進(jìn)行轉(zhuǎn)換。在這段時(shí)間內(nèi)活動(dòng)處于其它所有活動(dòng)之前,并與用戶進(jìn)行交互。(2)活動(dòng)之間的切換Android使用了Intent類來實(shí)現(xiàn)活動(dòng)之間的切換工作。根據(jù)Intent的描述,負(fù)責(zé)找到對應(yīng)的組件,將Intent傳遞給調(diào)用的組件并完成組件的調(diào)用。在應(yīng)用中,我們可以以兩種形式來使用Intent:直接Intent,指定了ponent屬性的Intent,通過指定具體的組件類,通知應(yīng)用啟動(dòng)對應(yīng)的組件。2. Intent ReceiverIntent Receivert是用于對外部事件的響應(yīng),當(dāng)外部事件發(fā)生時(shí),會(huì)使用NotificationManager通知用戶。如在本系統(tǒng)中,當(dāng)用戶正在其它界面進(jìn)行操作時(shí),有好友發(fā)送消息過來,就會(huì)以通知的形式發(fā)送到當(dāng)前界面的正上方來通知用戶。3. ServiceService是提供連續(xù)信息的應(yīng)用程序。本系統(tǒng)客戶端擴(kuò)展功能的閱讀器就是采用Service來進(jìn)行設(shè)計(jì)和開發(fā)的,使用戶可以邊聊天邊看書。當(dāng)應(yīng)用程序需要使用存儲(chǔ)設(shè)備中的數(shù)據(jù)時(shí),可以使用Content Provider來完成。 Android手機(jī)平臺(tái)控件研究 Android系統(tǒng)控件與自定義控件的比較研究在Google Android 中給出了非常多的絢麗的控件,但是在某些時(shí)候需要的實(shí)現(xiàn)某些功能的時(shí)候,系統(tǒng)的控件顯得有些笨拙和難以控制,如,在本系統(tǒng)中,本打算使用系統(tǒng)自帶的控件TabLayout 顯示頻道,但是現(xiàn)在的過程中,發(fā)現(xiàn),該控件的每一個(gè)Tab之間有一定距離的間隔,且每一個(gè)Tab上面的圖片很難控制其顯示的方式和顯示的效果,因此該綜合美觀和操作性的基礎(chǔ)上,決定不用該控件來顯示頻道切換界面。 Android 自定義控件的實(shí)現(xiàn)的研究在Google Android 移動(dòng)平臺(tái)中,自定義控件都大致可以分成三部分。(1)界面的實(shí)現(xiàn)。基于此我們就得到了本系統(tǒng)要實(shí)現(xiàn)的那個(gè)控件的最基本的那部分——界面的實(shí)現(xiàn)。要實(shí)現(xiàn)一個(gè)控件,讓其能產(chǎn)生特定的效果,本系統(tǒng)需要自己來重寫父類某些甚至是全部的構(gòu)造函數(shù),如在基于Google Android 平臺(tái)的電子書閱讀器中,筆者就重寫了protected void onLayout(boolean changed, int l, int t, int r, int b) { ……… } protected void onMeasure(int widthMea