深度剖析Android SDK版本介紹
Android畢竟是一個開放的軟件系統(tǒng),它再需要高的硬件基礎(chǔ)的支持,用以兼容在有觸摸屏的條件下提供更好的用戶體驗(yàn),所有一切都違背了一般的操作方式,還是那句,很酷,但需要時間的考驗(yàn)。
新的Android SDK另一個巨大的變臉就是大量API的變化。這種變化是老的項(xiàng)目的移植非常痛苦,但從長遠(yuǎn)來看絕對是一個好事。API最多的變化就是命名的變化,很多不合理的命名被更改。一些不清晰的API指定的更為明確,比如一些與SQLite相關(guān)的API都被附上了 SQLite前綴;
一些原來在文檔中標(biāo)明過期的方法,在這一次徹底被廢除了,比如ContentProvider的query方法;一些不統(tǒng)一的API也進(jìn)行了調(diào)整,比如ListView中的position和index統(tǒng)一成為position。
解決了這一我原來頗為頭疼的問題;一些命名風(fēng)格進(jìn)行了統(tǒng)一,比如URI采用統(tǒng)一的Uri,SDK采用了統(tǒng)一的Id;其他方面,AndroidManifest.xml中的一些項(xiàng)也做出了統(tǒng)一,能夠能容易的被理解。
總之這樣的變化還有很多,大量的API更為的清晰,易理解。這也是天下所有被重金誘惑的程序員幫助Google測試的結(jié)果。還有一些類進(jìn)行了重構(gòu),進(jìn)行了功能的分離和擴(kuò)充。最典型的是ContentURI,被拆成了ContentUris這個功能類和Uri這個實(shí)體類,對程序員的使用做出了更好的引導(dǎo)作用;
而另一個典型的變化是Cursor,添加了一個extras接口,可以傳出附加的數(shù)據(jù),這簡直是一場及時的一塌糊涂的雨,使得原來很多很難做的是變得簡單;還有一個是Notification進(jìn)行了拆分,Notification現(xiàn)在只是指首頁頂上的那個圖標(biāo),那些臨時的彈出文字或視圖被分離為Toasts,這對強(qiáng)扭的瓜終于得以各奔東西,單飛各自發(fā)展。
一個比較特別的變化是Alerts,采用了新的Builder鏈?zhǔn)綐?gòu)建方式,而不是通過構(gòu)造方法進(jìn)行構(gòu)造,其構(gòu)造的靈活性更大了。與此相反,Notification則擁有了一個更長的構(gòu)造函數(shù),用起來及其的不爽,個人覺得這不是一個良好的變化。
此外,Android也添加了一些實(shí)用的類。新增的ExpandableListView,是一個二級樹狀A(yù)dapterListView,這是一個非常非常實(shí)用的視圖控件。我想這是大量開發(fā)人員提出需求的結(jié)果。我個人原先想自定義這個輪子的,后來采用一級模擬二級的方式實(shí)現(xiàn)。這一下好了,省心了。
另外一個革命性的東西就是Search Manager接口,這是一個hooker接口,Android為你的Activity做了一個很酷的Search界面和接口(可以參看Sample),通過實(shí)現(xiàn)改Hooker可以實(shí)現(xiàn)統(tǒng)一的Search,這個對很多和我一樣做Search的人影響極大。
從短期看,移植非常痛苦,從長線看這是一個頗有 Google味的變化,對Search有很大的推動作用。另一個比較Google味的變化,是將XXMP更名為GTalk,Google野心彰顯無遺。#t#
除了這些變臉,Android SDK這次對插件進(jìn)行了不小的改變,支持了多設(shè)備,將設(shè)備視圖和Process視圖合并;并添加了新的traceview工具,這是一個可視化的日志分析工具,這個工具使得Android的日志系統(tǒng)更為的強(qiáng)大,調(diào)試時間有望進(jìn)一步降低。
所有這些只是根據(jù)我這兩天的一些觀察得出來的,只是盲人摸象而已。更全面的內(nèi)容可以參考這里,這里,這里,很遺憾的是,大部分Android SDK的文檔都沒有跟上,所以如果想學(xué)習(xí)的話,希望大家直接看Android SDK,而不要閱讀文檔中的示例。
進(jìn)行了這一些改變后,Android越來越完善,Google的投在大獎賽的錢看來不會白花。對于所有做Android的人,這也是一個更好的機(jī)會,誰能適應(yīng)新的SDK,誰就能占領(lǐng)到更好的位置。