Android中的jQuery:AQuery简介


Posted in Javascript onMay 06, 2014

为了向你展示Android Query能够够为用户界面开发做到什么,我们从他们的项目页面上引用了一个例子。

这是在使用AQuery之前的代码:
Android中的jQuery:AQuery简介

这是使用AQuery之后的代码:

Android中的jQuery:AQuery简介

熟悉的jQuery语法再次涌现,兴奋之情有木有。

AQuery项目地址:https://github.com/androidquery/androidquery

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

Javascript 相关文章推荐
js 关于=+与+=日期函数使用说明(赋值运算符)
Nov 15 Javascript
sencha touch 模仿tabpanel导航栏TabBar的实例代码
Oct 24 Javascript
JqueryMobile动态生成listView并实现刷新的两种方法
Mar 05 Javascript
Javascript MVC框架Backbone.js详解
Sep 18 Javascript
纯JavaScript代码实现移动设备绘图解锁
Oct 16 Javascript
JS中的数组方法笔记整理
Jul 26 Javascript
第一次动手实现bootstrap table分页效果
Sep 22 Javascript
详解jQuery中的easyui
Sep 02 jQuery
react-navigation之动态修改title的内容
Sep 26 Javascript
Vue中qs插件的使用详解
Feb 07 Javascript
vue-drag-chart 拖动/缩放图表组件的实例代码
Apr 10 Javascript
如何用JavaScript检测当前浏览器是无头浏览器
Apr 27 Javascript
JavaScript获取table中某一列的值的方法
May 06 #Javascript
jQuery判断元素是否存在的可靠方法
May 06 #Javascript
js图片自动轮播代码分享(js图片轮播)
May 06 #Javascript
简单的js图片轮换代码(js图片轮播)
May 06 #Javascript
jQuery is()函数用法3例
May 06 #Javascript
使用原生js封装webapp滑动效果(惯性滑动、滑动回弹)
May 06 #Javascript
一些老手都不一定知道的JavaScript技巧
May 06 #Javascript
You might like
PHP strtok()函数的优点分析
2010/03/02 PHP
关于更改Zend Studio/Eclipse代码风格主题的介绍
2013/06/23 PHP
php文件夹与文件目录操作函数介绍
2013/09/09 PHP
php获得url参数中具有&的值的方法
2014/03/05 PHP
Discuz7.2版的faq.php SQL注入漏洞分析
2014/08/06 PHP
谈谈你对Zend SAPIs(Zend SAPI Internals)的理解
2015/11/10 PHP
解决laravel 出现ajax请求419(unknown status)的问题
2019/09/03 PHP
通过jquery还原含有rowspan、colspan的table的实现方法
2012/02/10 Javascript
jQuery ajax dataType值为text json探索分享
2013/09/23 Javascript
js获取窗口相对于屏幕左边和上边的位置坐标
2014/05/15 Javascript
常见的javascript跨域通信方法
2015/12/31 Javascript
node.js 中国天气预报 简单实现
2016/06/06 Javascript
再谈Javascript中的异步以及如何异步
2016/08/19 Javascript
nodejs根据ip数组在百度地图中进行定位
2017/03/06 NodeJs
详解ElementUI之表单验证、数据绑定、路由跳转
2017/06/21 Javascript
js求数组中全部数字可拼接出的最大整数示例代码
2017/08/25 Javascript
JS+canvas动态绘制饼图的方法示例
2017/09/12 Javascript
Angular Renderer (渲染器)的具体使用
2018/05/03 Javascript
详解从Vue-router到html5的pushState
2018/07/21 Javascript
JS面向对象编程——ES6 中class的继承用法详解
2020/03/03 Javascript
Taro UI框架开发小程序实现左滑喜欢右滑不喜欢效果的示例代码
2020/05/18 Javascript
[02:35]DOTA2超级联赛专访XB 难忘一年九冠称王
2013/06/20 DOTA
Python常见格式化字符串方法小结【百分号与format方法】
2016/09/18 Python
Python循环结构的应用场景详解
2019/07/11 Python
通过实例解析Python调用json模块
2019/12/11 Python
Python中bisect的使用方法
2019/12/31 Python
Python+OpenCV图像处理——实现轮廓发现
2020/10/23 Python
python实现磁盘日志清理的示例
2020/11/05 Python
利用Python批量识别电子账单数据的方法
2021/02/08 Python
美国皮靴公司自1863年:The Frye Company
2016/11/30 全球购物
ASOS西班牙官网:英国在线时尚和美容零售商
2020/01/10 全球购物
Linux面试题LINUX系统类
2015/11/25 面试题
商务英语本科生的自我评价分享
2013/11/15 职场文书
2015年企业新年寄语
2014/12/08 职场文书
保险公司岗前培训工作总结
2015/10/24 职场文书
分析Netty直接内存原理及应用
2021/06/14 Java/Android