當(dāng)前位置:首頁 > 通信技術(shù) > 通信設(shè)計(jì)應(yīng)用
[導(dǎo)讀]   摘 要:近年來,智能手機(jī)的功能越來越強(qiáng)大,移動(dòng)終端應(yīng)用程序?qū)映霾桓F,移動(dòng)互聯(lián)網(wǎng)改變?nèi)藗兊纳睢ndroid 系統(tǒng)是開放手機(jī)聯(lián)盟推出的一款開源的手機(jī)操作系統(tǒng),正是由于其開放性,沒有采用Win

  摘 要:近年來,智能手機(jī)的功能越來越強(qiáng)大,移動(dòng)終端應(yīng)用程序?qū)映霾桓F,移動(dòng)互聯(lián)網(wǎng)改變?nèi)藗兊纳?。Android 系統(tǒng)是開放手機(jī)聯(lián)盟推出的一款開源的手機(jī)操作系統(tǒng),正是由于其開放性,沒有采用Windows PhONe7 類似的硬件限定標(biāo)準(zhǔn),目前基于Android系統(tǒng)的機(jī)型越來越多,一些硬件指標(biāo)出現(xiàn)了混亂的局面,其中最明顯的就是屏幕分辨率的問題。如何使開發(fā)者的應(yīng)用程序盡可能多地適應(yīng)多種分辨率,正是本文要講述的問題。文章首先介紹Android 的系統(tǒng)架構(gòu),然后介紹Android 平臺中分辨率的相關(guān)術(shù)語,之后重點(diǎn)講述在開發(fā)過程中如何部署資源以及所應(yīng)遵循的原則,最后給出測試多分辨率兼容性的方法。

  0 引 言

  2007 年11 月,Google 公司發(fā)布基于Linux2.6 內(nèi)核的移動(dòng)終端操作系統(tǒng)- Android, 由于其開源性, 得到很多手機(jī)廠商的追捧和應(yīng)用開發(fā)者的青睞。近年來智能手機(jī)發(fā)展迅速,運(yùn)行速度、存儲容量和可靠性等指標(biāo)有了顯著提高[1],當(dāng)今的智能手機(jī)用戶對應(yīng)用軟件的舒適性和美觀性有了更大的期望,應(yīng)用程序界面友好性已經(jīng)越來越重要。但是由于Android 的開源性,硬件廠商屏幕分辨率不統(tǒng)一,據(jù)統(tǒng)計(jì)目前市場上Android系統(tǒng)手機(jī)的分辨率有10 余種,分辨率分布如此廣泛使得開發(fā)者在處理多分辨率適應(yīng)方面遇到了不少難題。文章首先介紹Android 平臺的系統(tǒng)架構(gòu)及資源管理方法,之后介紹目前開發(fā)者在處理多分辨率時(shí)采用的方法,而后重點(diǎn)分析Android 平臺資源加載機(jī)制并且結(jié)合實(shí)例給出多分辨率的處理步驟及技巧,最后介紹測試多分辨率效果的方法。

  1 Android 平臺簡介

  Android 是一個(gè)包括操作系統(tǒng)、中間件和關(guān)鍵應(yīng)用的移動(dòng)設(shè)備軟件堆[2],Android 系統(tǒng)和其他系統(tǒng)一樣,采用分層的架構(gòu)。由下至上依此為Linux 操作系統(tǒng)和驅(qū)動(dòng)、程序庫及Android 運(yùn)行時(shí)環(huán)境、應(yīng)用程序框架層、應(yīng)用層。 Android 應(yīng)用程序的基本組件有AcTIvity、Intent、BroadcaSTReceiver、Service 四種,各個(gè)組件的配置信息以及權(quán)限管理、版本管理等配置信息都保存在AndroidManifest.xml 中。

  1.1 Android 應(yīng)用程序資源管理

  手機(jī)界面上加載的圖片是Android 資源的一種,除此之外還有XML 資源(anim.xml layout.xml 等) 以及原數(shù)據(jù)文件( 音視頻文件等)[3]。新建一個(gè)HelloAndroid 的Android 應(yīng)用程序,默認(rèn)生成的文件架構(gòu)包含src,gen,assets,res 等文件夾,以及AndroidManifest.xml 配置文件。src 文件夾中保存的是Android 源代碼,res 文件夾代表應(yīng)用程序需要使用到的資源文件,gen 包中包含R.java 文件。Res 文件夾中包含的所有資源文件都對應(yīng)在R.java 中。

  當(dāng)開發(fā)者在res/ 目錄中任何一個(gè)子目錄中添加相應(yīng)類型的文件之后,ADT 會在R.java 文件中相應(yīng)的匿名內(nèi)部類中國自動(dòng)生成一條靜態(tài)int 類型的常量,對添加的文件進(jìn)行索引。

  Android 系統(tǒng)采取這種架構(gòu)使視圖等資源文件與控制代碼分離,實(shí)現(xiàn)松耦合。然而可以使用R.java 文件在代碼中對相應(yīng)的資源文件進(jìn)行存取,靈活操作。

  1.2 一般多分辨率處理方法及其缺點(diǎn)

  1.2.1 圖片縮放

  基于當(dāng)前屏幕的精度,平臺自動(dòng)加載任何未經(jīng)縮放的限定尺寸和精度的圖片。如果圖片不匹配,平臺會加載默認(rèn)資源并且在放大或者縮小之后可以滿足當(dāng)前界面的顯示要求。例如,當(dāng)前為高精度屏幕,平臺會加載高精度資源(如HelloAndroid中drawable-hdpi 中的位圖資源),如果沒有,平臺會將中精度資源縮放至高精度,導(dǎo)致圖片顯示不清晰。

  1.2.2 自動(dòng)定義像素尺寸和位置

  如果程序不支持多種精度屏幕,平臺會自動(dòng)定義像素絕對位置和尺寸值等,這樣就能保證元素能和精度160 的屏幕上一樣能顯示出同樣尺寸的效果。例如,要讓W(xué)VGA 高精度屏幕和傳統(tǒng)的HVGA 屏幕一樣顯示同樣尺寸的圖片,當(dāng)程序不支持時(shí),系統(tǒng)會對程序慌稱屏幕分辨率為320&TImes;480,在(10,10)到(100,100)的區(qū)域內(nèi)繪制圖形完成之后,系統(tǒng)會將圖形放大到(15,15)到(150,150)的屏幕顯示區(qū)域。

  1.2.3 兼容更大尺寸的屏幕

  當(dāng)前屏幕超過程序所支持屏幕的上限時(shí),定義supportsscreens元素,這樣超出顯示的基準(zhǔn)線時(shí),平臺在此顯示黑色的背景圖。例如,WVGA 中精度屏幕上,如程序不支持這樣的大屏幕,系統(tǒng)會謊稱是一個(gè)320&TImes;480 的,多余的顯示區(qū)域會被填充成黑色。

  1.2.4 采用OpenGL 動(dòng)態(tài)繪制圖片

  Android 底層提供了OpenGL 的接口和方法,可以動(dòng)態(tài)繪制圖片,但是這種方式對不熟悉計(jì)算機(jī)圖形學(xué)的開發(fā)者來講是一個(gè)很大的挑戰(zhàn)。一般開發(fā)游戲,采用OpenGL 方式。

  1.2.5 多個(gè)apk 文件

  Symbian 和傳統(tǒng)的J2ME 就是采用這種方式,為一款應(yīng)用提供多個(gè)分辨率版本,用戶根據(jù)自己的需求下載安裝相應(yīng)的可執(zhí)行文件。針對每一種屏幕單獨(dú)開發(fā)應(yīng)用程序不失為一種好方法,但是目前Google Market 對一個(gè)應(yīng)用程序多個(gè)分辨率版本的支持還不完善,開發(fā)者還是需要盡可能使用一個(gè)apk 文件適應(yīng)多個(gè)分辨率。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動(dòng)現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉