AQuery 简介:jQuery for Android

  • Jonathan Allen
  • 侯伯薇

2012 年 4 月 26 日

话题:Android语言 & 开发

jQuery 的流行已经成为了事实,它极大地减少了执行异步任务和操作 DOM 所需要的代码数量。新项目 AQuery 想要为 Android 开发者提供同样的功能。为了向你展示Android Query能够够为用户界面开发做到什么,我们从他们的项目页面上引用了一个例子。

之前

之后

Android Query 简化了附加事件处理程序的过程。它不会构建出接口或者匿名类,我们只需要确保它们不会把事件处理程序的方法名拼写错。

aq.id(R.id.button).clicked(this, "buttonClicked");

因为屏幕大小和 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 格式的数据。此外,它还包含了针对图片的单独支持,我们使用一行代码就能下载图片,对其进行缓存,并把它载入到控件中。

查看英文原文:Introducing AQuery:jQuery for Android

Android语言 & 开发