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