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 相关文章推荐
Json2Template.js 基于jquery的插件 绑定JavaScript对象到Html模板中
Oct 29 Javascript
通过pjax实现无刷新翻页(兼容新版jquery)
Jan 31 Javascript
jQuery实现列表自动滚动循环滚动展示新闻
Aug 22 Javascript
JavaScript bold方法入门实例(把指定文字显示为粗体)
Oct 17 Javascript
JavaScript事件 "事件对象"的注意要点
Jan 14 Javascript
js css实现垂直方向自适应的三角提示菜单
Jun 26 Javascript
jQuery双向列表选择器DIV模拟版
Nov 01 Javascript
jQuery实现复选框的全选和反选
Feb 02 Javascript
Avalonjs双向数据绑定与监听的实例代码
Jun 23 Javascript
Vue项目部署在Spring Boot出现页面空白问题的解决方案
Nov 26 Javascript
vue与原生app的对接交互的方法(混合开发)
Nov 28 Javascript
ant design vue中日期选择框混合时间选择器的用法说明
Oct 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
基于文本的搜索
2006/10/09 PHP
php获取用户浏览器版本的方法
2015/01/03 PHP
Codeigniter通过SimpleXML将xml转换成对象的方法
2015/03/19 PHP
PHP微信公众号开发之微信红包实现方法分析
2017/07/14 PHP
Laravel 自带的Auth验证登录方法
2019/09/30 PHP
解决PhpStorm64不能启动的问题
2020/06/20 PHP
PHP手机号码及邮箱正则表达式实例解析
2020/07/11 PHP
JavaScript DOM学习第四章 getElementByTagNames
2010/02/19 Javascript
JS的replace方法介绍
2012/10/20 Javascript
JS+JSP checkBox 全选具体实现
2014/01/02 Javascript
JavaScript中使用stopPropagation函数停止事件传播例子
2014/08/27 Javascript
纯js代码制作的网页时钟特效【附实例】
2016/03/30 Javascript
Bootstrap源码解读排版(1)
2016/12/23 Javascript
ajax异步请求详解
2017/01/06 Javascript
vue.js路由跳转详解
2017/08/28 Javascript
JavaScript 对引擎、运行时、调用堆栈的概述理解
2018/10/22 Javascript
vue的.vue文件是怎么run起来的(vue-loader)
2018/12/10 Javascript
vue使用一些外部插件及样式的配置代码
2019/11/18 Javascript
JS+DIV实现拖动效果
2020/02/11 Javascript
Vue使用自定义指令实现拖拽行为实例分析
2020/06/06 Javascript
微信小程序实现身份证取景框拍摄
2020/09/09 Javascript
[48:24]完美世界DOTA2联赛循环赛LBZS vs Forest 第一场 10月30日
2020/10/31 DOTA
Matplotlib自定义坐标轴刻度的实现示例
2020/06/18 Python
Python数据可视化常用4大绘图库原理详解
2020/10/23 Python
利用CSS3的checked伪类实现OL的隐藏显示的方法
2010/12/18 HTML / CSS
网页切图的CSS和布局经验与要点
2015/04/09 HTML / CSS
澳大利亚当地最大的时装生产商:Cue
2018/08/06 全球购物
电子商务专业实习生自我鉴定
2013/09/24 职场文书
消防宣传口号
2014/06/16 职场文书
聘用意向书
2014/07/29 职场文书
公安机关纪律作风整顿个人剖析材料材料
2014/10/10 职场文书
电工实训心得体会
2016/01/14 职场文书
穷人该怎么创业?谨记以下几点
2019/07/11 职场文书
Go 自定义package包设置与导入操作
2021/05/06 Golang
Python各协议下socket黏包问题原理
2022/04/12 Python
ubuntu下常用apt命令介绍
2022/06/05 Servers