摘要:近年來,智能手機變得越來越強大,移動終端應(yīng)用程序?qū)映霾桓F,移動互聯(lián)網(wǎng)改變了人們的生活。
Android系統(tǒng)是由開放手機聯(lián)盟(Open Mobile Phone Alliance)推出的開源手機操作系統(tǒng)。
正是由于其開放性,它沒有采用類似于Windows PhONe7的硬件限制標準。
當前,基于Android系統(tǒng)的模型越來越多,并且出現(xiàn)了一些硬件指標。
最混亂的情況是屏幕分辨率問題。
如何使開發(fā)人員的應(yīng)用程序盡可能適應(yīng)多種分辨率,正是本文將要描述的問題。
本文首先介紹了Android系統(tǒng)架構(gòu),然后介紹了與Android平臺中的分辨率有關(guān)的術(shù)語,然后重點介紹了在開發(fā)過程中如何部署資源以及應(yīng)遵循的原理,最后給出了一種測試多分辨率兼容性的方法。
。
0簡介2007 2007年11月,Google發(fā)布了基于Linux2.6內(nèi)核Android的移動終端操作系統(tǒng)。
由于其開源特性,它已被許多手機制造商追捧,并受到應(yīng)用程序開發(fā)人員的青睞。
近年來,智能手機發(fā)展迅速,諸如運行速度,存儲容量和可靠性等指標得到了顯著改善[1]。
當今的智能手機用戶對應(yīng)用軟件的舒適性和美觀性寄予更高的期望。
友善變得越來越重要。
但是,由于Android的開源,硬件制造商的屏幕分辨率并不統(tǒng)一。
據(jù)統(tǒng)計,市場上有10多種分辨率的Android手機。
分辨率的廣泛分布使開發(fā)人員在處理多分辨率適應(yīng)時遇到許多問題。
問題。
本文首先介紹了Android平臺的系統(tǒng)架構(gòu)和資源管理方法,然后介紹了開發(fā)人員當前用于處理多分辨率的方法,然后重點分析了Android平臺的資源加載機制并結(jié)合了示例以給出多點解決方案。
分辨率處理步驟和技術(shù)。
最后,介紹了測試多分辨率效果的方法。
1 Android平臺簡介:Android是一種移動設(shè)備軟件堆棧,其中包括操作系統(tǒng),中間件和關(guān)鍵應(yīng)用程序[2]。
與其他系統(tǒng)一樣,Android系統(tǒng)采用分層架構(gòu)。
從下到上,有Linux操作系統(tǒng)和驅(qū)動程序,庫和Android運行時環(huán)境,應(yīng)用程序框架層和應(yīng)用程序?qū)印?/p>
Android應(yīng)用程序有四個基本組件:活動,意圖,BroadcaSTReceiver和服務(wù)。
每個組件的配置信息以及權(quán)限管理和版本管理等配置信息都存儲在AndroidManifest.xml中。
1.1 Android應(yīng)用程序資源管理除了XML資源(anim.xml layout.xml等)和原始數(shù)據(jù)文件(音頻和視頻文件等)之外,手機界面上加載的圖片是一種Android資源[ 3]。
創(chuàng)建一個新的HelloAndroid Android應(yīng)用程序,生成的默認文件結(jié)構(gòu)包括src,gen,assets,res和其他文件夾以及AndroidManifest.xml配置文件。
Android源代碼存儲在src文件夾中,res文件夾表示應(yīng)用程序需要使用的資源文件,并且gen包包含R.java文件。
Res文件夾中包含的所有資源文件都對應(yīng)于R.java。
開發(fā)人員在res /目錄的任何子目錄中添加了相應(yīng)類型的文件后,ADT將在R.java文件中的相應(yīng)匿名內(nèi)部類中自動生成一個靜態(tài)int類型常量,以對添加的文件建立索引。
Android系統(tǒng)采用此架構(gòu)將資源文件(例如視圖)與控制代碼分開,以實現(xiàn)松散耦合。
但是,R.java文件可用于訪問代碼中的相應(yīng)資源文件,以實現(xiàn)靈活的操作。
1.2通用的多分辨率處理方法及其缺點1.2.1圖像縮放基于當前屏幕的精度,平臺會自動加載尺寸和精度受限的所有未縮放圖像。
如果圖片不匹配,平臺將放大或縮小后加載默認資源,并可以滿足當前界面的顯示要求。
例如,對于當前的高精度屏幕,平臺將加載高精度資源(例如HelloAndroid中drawable-hdpi中的位圖資源)。
否則,該平臺會將中等精度的資源擴展到高精度,從而導致圖像顯示不清晰。