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