下載位置
官方文件
它的目標也跟 jQuery 一樣,Less Code!實現的方法也是使用 Chaining
Core Concept
它的概念很簡單,就只有一個主要的 class,就叫 AQuery。而它有兩種狀態:root
和 view
。
平常用 Activity 在 new 一個 AQuery 時,它就會是 root。而在用 id 找資源的時候,就會變成 view。
aq = new AQuery(this);
aq.id(R.id.text).text("Hello");
aq.id(R.id.button).text("Click Me").clicked(this, "buttonClicked");
aq.id(R.id.image); if (aq.isExist()) { ImageView imageView = aq.getImageView(); }
|
而 Fragment 官方建議在 onCreateView 裡初始化 AQuery
@Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(getContainerView(), container, false);
aq = new AQuery(getActivity(), view); return view; }
|
官方建議不要把 AQuery 的變數設定為 static
AsyncAPI
Image Loading
Simple
使用 URL 載入影像,會自動快取在檔案和記憶體。也可以傳入參數決定要如何快取。
aq.id(R.id.image).image("http://www.sample.com/sample.png");
boolean memCache = false; boolean fileCache = true; aq.id(R.id.image).image("http://www.sample.com/sample.png", memCache, fileCache);
|
Down Sampling
有篇文章提到了要做 Downsampling,不然會發生 OOM
http://blog.androidquery.com/2011/05/down-sample-images-to-avoid-out-of.html
aq.id(R.id.image1).image("http://www.sample.com/sample.png", true, true, 200, 0);
|