暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
安卓应用用户界面交互模式抽取与检索-吴俊伟 , 沈立炜 , 郭武楠 , 王超 , 赵文耘.pdf
143
12页
0次
2022-05-19
免费下载
软件学报 ISSN 1000-9825, CODEN RUXUEW E-mail: jos@iscas.ac.cn
Journal of Software,2018,29(8):21982209 [doi: 10.13328/j.cnki.jos.005527] http://www.jos.org.cn
©中国科学院软件研究所版权所有. Tel: +86-10-62562563
安卓应用用户界面交互模式抽取与检索
吴俊伟
1,2
,
沈立炜
1,2
,
郭武楠
1,2
,
1,2
,
赵文耘
1,2
1
(复旦大学 计算机科学技术学院,上海 200433)
2
(上海市数据科学重点实验室(复旦大学),上海 200433)
通讯作者: 沈立炜, E-mail: shenliwei@fudan.edu.cn
: 安卓开发者需要通过不断地经验积累来提升其设计安卓界面及行为交互的能.在数据驱动的软件开
,代码推荐是其中一个关注热点.在此背景下,提出了一种安卓应用用户界面交互模式抽取与检索方法,提供面向
安卓应用的界面相关代码查询与推荐能力,从而降低开发者在选择、试用、学习安卓应用所带来的人工成本.以安
卓活动(activity)为单元的界面交互模式代表了活动的界面构成及交互行为,该方法以此为分析目标,一组开源的
安卓应用项目中抽取出每一个活动的界面交互模式.在此基础上,支持用户通过检索的方式获取与其需求相关的活
动设计细节.该方法被实现为一组工具链,为抽取与检索提供自动化支持.最后,通过两个案例对该方法的准确性和
有效性进行验证.
关键词: 安卓;用户界面交互模式;模式抽取
中图法分类号: TP311
中文引用格式: 吴俊伟,沈立炜,郭武楠,王超,赵文耘.安卓应用用户界面交互模式抽取与检索.软件学报,2018,29(8):2198
2209. http://www.jos.org.cn/1000-9825/5527 .htm
英文引用格式: Wu JW, Shen LW, Guo WN, Wang C, Zhao WY. UI interaction pattern extraction and retrieving of Android
applications. Ruan Jian Xu e Bao/Journal of Software, 2018 ,29(8):21982209 (in Chinese). http ://www.jos.org.cn/1 000-9825/5527.
htm
UI Interactio n Patter n Ex tractio n an d Re trieving of Android Applications
WU Jun-Wei
1,2
, SHEN Li-Wei
1,2
, GUO Wu-Nan
1,2
, WANG Chao
1,2
, ZHAO Wen-Yun
1,2
1
(School of Computer Science, Fud an Universit y, Shanghai 200433, Chin a)
2
(Shanghai Key Laboratory of Data Science (Fudan University), Shanghai 200433, China)
Abstra ct : Android developers need to accumulate experience to enhance their ability to design Android interface and behavior. Code
recommendation has been one of the focuses in data driven software development. In this context, this paper proposes a method of UI
interaction pattern extraction and retrieval for Android applications. The method offers the ability to retrieve and recommend UI related
codes, so that developers’ effort of selecting, using and learning Android applications can be reduced. The UI interaction pattern of an
activity represents the interface composition and the interaction behavior of the activity. Taking the pattern as the target, this method
extracts the UI interaction pattern of each activity from a set of open source Android applications. Consequently, the method supports
users to retrieve the related design details of activities by constructing queries. The method is implemented as a set of tool chains that
provide automatic support for extracting and retrieving. Furthermore, the accuracy and effectiveness of the method are verified by two
workin g ex amp les .
Key words: Android; UI inter action p attern ; pa ttern extraction
基金项目: 国家自然科学基金(61402113); 国家重点研发计划(2016YFB1000801)
Foundation item: National Natural Science Foundation of China (61402113); National Key Research and Development Program of
China (2016YFB1000801)
本文由数据驱动的软件智能化开发方法与技术专题特约编辑谢冰教授、魏峻研究员、彭鑫教授、孙海龙副教授推荐.
收稿时间: 2017-0 7-18; 修改时间: 2017-09-28; 采用时间: 2017-12-22; jos 在线出版时间: 2018-03-13
CNKI 网络优先出版: 2018-03-13 17:18:27, http://kns.cnki.net/kcms/d etail/11.2560.TP.20180313.1717.010.html
吴俊伟 :安卓应用用户界面交互模式抽取与检索
2199
Gartner 统计,基于安卓操作系统的移动设备出货量逐年剧增,且安卓操作系统更占据了 86.1% 的市场份
[1]
.安卓移动应用的普及,使得越来越多的从业者进入安卓开发领域.为了提高用户使用移动应用的粘性,安卓
开发者除了必须保证应用的功能正确性之外,还需要确保应用具有较高的可用性与易用性.
在安卓框架的四大组件中,活动(activity )是包含用户界面的组件,是与用户进行交互的直接渠道.用户从提
供可视化界面的 Activity 中获取信息,例如,资讯类 App(如今日头条)中的新闻页面即是一个 Activity 的实例,
页面包含一个列表由上自下列举新闻的概要内容.页面中也包含一个搜索框,允许用户输入关键字从而检索相
关新闻.另一方面,Activity 也负责对用户的动作进行响应,完成数据刷新或页面跳转等功能.例如在上述示例的
App ,用户可通过下拉列表的方式加载最新新闻.另外,用户也可通过点选列表中的某项新闻内容,从而使
App 跳转至该新闻的详细内容页面.依据安卓编码规范,Activity 的开发涉及界面布局和交互逻辑这两个部分.
界面布局一般通过定义 layout 文件来指定该 Acti vity 包含的控件以及这些控件之间的位置关系.除此之外,也可
以通过编码方式在运行时动态添加控件.交互逻辑一般通过定义监听器的方式来响应用户在 Activity 上执行的
动作,例如按钮点击、从下拉框中选择项目等.事件响应一般具有两种效果:一种是影响所在 Activity 中的其他
控件(例如使列表重新刷新),另一种是跳转至新的 Activity.
Activity 的开发技术虽然简单,但其布局与交互逻辑的设计则需要大量的经验积累.在安卓应用可随处获取
的情况下,下载并使用各种类型的 Ap
p、学习当前流行的 Activity 设计方案能够为开发者带来启示.然而,这一
方式无法在短期内实现大量应用界面的学习.另外,对开发者,尤其是新手而言,总结出 Activity 界面的交互逻辑
也是较为困难的.
在数据驱动的软件开发中,代码推荐已经成为其中的关注热点.在此背景下,本文提出了一种安卓应用用户
界面交互模式抽取与检索方法,在数据驱动的环境中提供面向安卓应用的界面相关代码查询与推荐能力.该方
法聚焦于单个 Activity 的界面构成以及交互行为,从一组开源的安卓应用项目中抽取出每一个 Activity 的界
交互模式,支持用户通过检索的方式获取与其需求相关的 Acti vity 设计方案,从而为用户的开发工作提供帮助.
具体而言,抽取处于预处理阶段,旨在通过自动化手段分析每一个安卓应用的每一个 Activity 的界面交互模式,
厘清界面元素的层次结构及其事件行为.检索是预处理完成后面向用户的阶段,依据用户的设计需求,从已抽取
的界面交互模式中查找出最为接近的 Activity 界面模式,并反馈其实现代码和资源.在实现方面,本文结合并扩
展了 GATOR FlowDroid 工具组成一条工具链,为安卓项目 Activity 界面交互模式的抽取提供自动化手段.
,提供一套基于 JSON 的查询模板(PQT)支持用户对 Activity 设计需求的表述,并基于该需求实现相关界面交
互模式的检索与结果排序.最后,本文通过两个实例对本方法的准确性与有效性进行验证.
本文第 1 节介绍与本文方法相关的研究工作以及依赖的开源工具. 2 节介绍方法框架以及每一阶段的方
法策略. 3 节介绍工具链的设计方案. 4 节列举应用案例.最后是本文工作的总结与未来工作的展望.
1 相关工作
开发者在开发过程中,通过检索获得实例结果的场景属于安卓代码推荐的范畴.在之前的工作中
[2]
,针对安
卓开发中的代码推荐机制进行了经验性研究,将其分为代码搜索、基本推荐以及高级推荐这 3 种类型.代码推
荐基于用户构造的查询语句,从各类资源库中查找相关实现,其搜索层次可覆盖 API 的使用模式
[3]
示例代码
[4]
.与这些已有工作相比,本文提出方法的搜索目标聚焦在 Acti vity 的界面交互模式上.
UI 分析是与本文方法较为相关的研究领域.Kumar等人提出了名为Webzeitgeist 的平台,支持大规模网页设
计的挖掘
[5]
.该平台使用知识发现的技术理解网页的 DOM 设计决策,并支持用户查找与其需求相关的网页
.在此工作的基础上,Deka 等人开发了 ERICA 系统对安卓应用进行交互挖掘
[6]
,捕获应用设计中的静态(UI
局、可视化细节)和动态(用户流程)决策,并在此挖掘基础上,将已有的应用交互分类为 23 种模式.本文方法受到
以上两个工作的启发,在安卓界面交互模式搜索方面进行了初始的研究.本文同样采用知识发现技术来挖掘安
卓应用的界面结构与交互行为,但将检索的目标局限于单个 Activity 之上.
安卓应用的界面交互模式是安卓设计中的重要环节,在该领域中,Nguyen等人提出的 REMAUI 方法能够分
of 12
免费下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜