以下是開始Android編程的好方法:
1、找一些與你想開發的功能類似的代碼;
2、調整它,嘗試讓它變成你想要的;
3、回顧開發中遇到的問題
4、使用StackOverflow來解決遇到的問題
對每個你想實現的東西重復上述過程。采用這種方法能夠激勵你,因為你在保持不斷迭代更新,在這個過程里面你會學到很多。當然,當你發布應用的時候你還要去做一些更深入的東西。
從一些能夠正常編譯的代碼到成為一個應用程序,這是一個質的飛躍,比起iOS,Android則表現的更加明顯。當iOS應用發布的時候,實際上只是在一種設備之間跳躍,對iOS很多機型而言都很相似,同樣大小的屏幕,并且都有良好的硬件支撐,95%上機型運行相同版本的iOS操作系統。然而在Android應用中,并不會遇到這種情況。
我們的程序必須能夠應對一切:包括不同的屏幕、處理器、定制操作系統、API以及其他任何帶Android操作系統的設備。
以下是我認為對Android比較好的一些建議。
目標屏幕尺寸及解決辦法
在Android的大世界里有超過100種不同的屏幕尺寸,當然,解決屏幕適配的方法也很多。為了進行Android的屏幕適配,你需要確定以下兩件事情:
1、對不同的屏幕分辨率和尺寸有一個良好的布局和結構來適應它
2、UI圖像能夠適應不同分辨率的手機
這些都是獨立的任務,也許你有一個超級的tablet布局,但布局上的圖片看起來很糟。接下來我會依次討論它們。
為不同的屏幕尺寸設計布局
1、一般用ScrollView+ListView輕松搞定它
當我們有一系列不同屏幕尺寸的手機時,它們之間最大的不同就是屏幕的高度。因此ScrollView和ListView通常顯示良好,雖然有時侯它們并不能完全覆蓋整個屏幕。在OpenSignal中的Dashboard標簽下我們可以看到所有東西,他們不需要滑動,然而對于許多高級控件來說,滑動展示并非一件壞事。如果你能夠讓你的應用適配各種不同尺寸的手機,那就很完美了,否則這兩個控件會讓你用最小的代價來保證你的應用適配大多數不同的屏幕尺寸。

Dashboard風格的就不需要滾動
2、使用文件夾結構
Android 的res文件夾結構非常強大, 它允許開發者更改圖片、文字、布局文件、尺寸規格、顏色等資源。下面的例子展示了在res文件夾的用處:

在values-small文件夾中有一個 bools.xml 文件, 文件中有以下幾行代碼:
<resources> <bool name="small_screen">true</bool></resources>
在代碼中可以進行調用:
if(getResources().getBoolean(R.bool.small_screen)){ getSupportActionBar().hide();}在小屏幕設備中把boolean值設為true,因而將ActionBar隱藏以節省空間。這段代碼正是牛逼的ActionBarSherlock 擴展庫中的一部分,稍后會談到他。在values-sw360dp文件夾中,存放屏幕寬度為360dp的res文件。相應代碼如下:
<resources> <bool name="small_screen">false</bool></resources>
在大屏幕設備上ActionBar就置為可見狀態。
我們并不一定需要將 bools.xml 文件放入 values-sw400dp 文件夾中, 因為Android操作系統會自動按相應路徑搜索. 例如一個設備寬 600dp (600/160=3.75 英寸) 操作系統會在values-sw600dp 和其對應文件夾中搜索 bools.xml 文件, 若沒有找到則搜索 values-sw400dp 文件夾,再沒找到就搜索 values-sw360dp 文件夾,以此類推。
3、160dp = 1英寸。320 dp = 2英寸。dp = dip。
4、你可以用這些目錄結構技巧來應付所有資源類型。
比如xml布局用指定的大小來解決,例如layout-sw360dp目錄可以適配目標寬是360dp的機型,如果還需要支持橫豎屏的話可以采用以下目錄:
layout-sw360dp-landlayout-sw360dp-port
等等,如果你有一半的用戶是阿拉伯的,那就將布局文件改為下面這樣:
layout-sw360dp-landlayout-sw360dp-portlayout-sw360dp-land-arlayout-sw360dp-port-ar
前兩個文件夾的布局可以適用于所有語言,后兩個的-ar表示阿拉伯語。
5、res資源命名規則:
XXX // 沒有后綴,默認適用于Nexus One,Droid 2,S2 XXX-sw360dp // 比較大的手機 主站蜘蛛池模板: 天水市| 阿克陶县| 于都县| 始兴县| 天峻县| 厦门市| 益阳市| 万荣县| 凤冈县| 瑞金市| 湟中县| 拉萨市| 会东县| 麟游县| 赞皇县| 金塔县| 东港市| 三门县| 建瓯市| 胶南市| 华亭县| 莱芜市| 汝城县| 察隅县| 临海市| 怀安县| 鹤壁市| 任丘市| 当涂县| 水城县| 南华县| 虎林市| 韶山市| 安康市| 九龙坡区| 蒲江县| 黔西县| 花莲市| 于都县| 永修县| 比如县|