為了向你展示Android Query能夠夠為使用者介面開發做到什麼,我們從他們的專案頁面上引用了一個例子。
這是在使用AQuery之前的程式碼:
這是使用AQuery之後的程式碼:
熟悉的jQuery語法再次湧現,興奮之情有木有。
AQuery專案地址:https://github.com/androidquery/androidquery
Android Query簡化了附加事件處理程序的過程。它不會建構出介面或匿名類,我們只需要確保它們不會把事件處理程序的方法名稱拼錯。
因為螢幕大小和API版本造成的瑣碎問題會給設備帶來很多麻煩。 Android Query透過圍繞API提供了自己的封裝,從而解決了部分問題。例如,函數「aq.hardwareAccelerated11();」會偵測裝置是否支援API 11,並在適當的時候啟動硬體加速。
當處理不同大小螢幕的時候,開發者經常首先會建立tablet,然後刪除並識別控件,直到它能夠與電話的情況符合。一般這意味著,在試圖從後台程式碼操作控制項之前,你需要檢查虛擬樹,以看到它們是否確實已經從axml檔案建立。
Android Query會根據條件來連結方法(conditionally chaining methods),讓你可以避免所有檢查。想想這段程式碼:
程式碼如下:aq.id(R.id.address).text(name) .background(R.color.red).textColor(R.color.black).enabled(true).visible().clicked(this, "addressClicked");
如果控制項位址不存在,那麼後面所有設定方法和事件處理程序都會停止。儘管這可能會讓偵錯更困難,但是它可以大幅減少onCreate方法中的程式碼行數。
AQuery也可以很容易地呼叫非同步HTTP請求。它包含了對簡單和多個部分POST操作的支持,並且能夠接受二進位、JSON、HTML以及XML格式的資料。此外,它還包含了針對圖片的單獨支持,我們使用一行程式碼就能下載圖片,對其進行緩存,並把它載入到控制項中。