AQuery簡(jiǎn)介:jQuery for Android
之前
之后
Android Query簡(jiǎn)化了附加事件處理程序的過(guò)程。它不會(huì)構(gòu)建出接口或者匿名類,我們只需要確保它們不會(huì)把事件處理程序的方法名拼寫錯(cuò)。
- aq.id(R.id.button).clicked(this, "buttonClicked");
因?yàn)槠聊淮笮『虯PI版本而造成的瑣碎問(wèn)題會(huì)給設(shè)備帶來(lái)很多麻煩。AndroidQuery通過(guò)圍繞API提供了自己的封裝,從而解決了部分問(wèn)題。例如,函數(shù)“aq.hardwareAccelerated11();”會(huì)檢測(cè)設(shè)備是否支持API11,并在合適的時(shí)候啟動(dòng)硬件加速。
當(dāng)處理不同大小屏幕的時(shí)候,開發(fā)者經(jīng)常首先會(huì)創(chuàng)建tablet,然后刪除并識(shí)別控件,直到它能夠與電話的情況符合。一般這意味著,在試圖從后臺(tái)代碼操作控件之前,你需要檢查虛擬樹,以看到它們是否確實(shí)已經(jīng)從axml文件創(chuàng)建。
AndroidQuery會(huì)根據(jù)條件來(lái)鏈接方法(conditionallychainingmethods),讓你可以回避所有檢查。考慮一下這段代碼:
- aq.id(R.id.address).text(name).background(R.color.red).textColor(R.color.black).enabled(true).visible().clicked(this, "addressClicked");
如果控件地址不存在,那么后面所有設(shè)置方法和事件處理程序都會(huì)停止。盡管這可能會(huì)讓調(diào)試更困難,但是它可以極大地減少onCreate方法中的代碼行數(shù)。
AQuery還可以很容易地調(diào)用異步HTTP請(qǐng)求。它包含了針對(duì)簡(jiǎn)單和多個(gè)部分POST操作的支持,并且能夠接受二進(jìn)制、JSON、HTML以及XML格式的數(shù)據(jù)。此外,它還包含了針對(duì)圖片的單獨(dú)支持,我們使用一行代碼就能下載圖片,對(duì)其進(jìn)行緩存,并把它載入到控件中。