基于Android平台的新媒体自动化交互工具开发_邵小巍.pdf
《基于Android平台的新媒体自动化交互工具开发_邵小巍.pdf》由会员分享,可在线阅读,更多相关《基于Android平台的新媒体自动化交互工具开发_邵小巍.pdf(4页珍藏版)》请在咨信网上搜索。
1、2023.6电脑编程技巧与维护Device Monitor工具抓屏是否为控件型YNNOpenCV智能识别算法控件属性是否受限发送消息操控手势模拟操控线程回调更新UIY1概述近年来,新媒体技术在各级地方主流媒体中有了突飞猛进的发展,人们对信息的了解已不局限于读书、看报、看电视、听广播这样传统的获取方式。智能手机的普及和融媒体的快速发展,使掌上媒介成为了大众获取信息的主渠道,而在这些庞大的智能手机终端中,各式各样的Android应用层出不穷,在具体应用操作这些软件方面,用手触的方式在一些重复工作中显得乏陈无味,需要附加开发一些其他的外挂功能,例如,从一些App中获取感兴趣的数据,或者操作控制这些A
2、pp完成类似自动化的功能等。2用户信息向目标软件的输入用户信息向目标软件的输入,如图1所示。使用以Android为平台的智能掌端设备时,为了让自已的应用程序与其他已安装的App进程进行交互并智能操作、自动控制,比较简单的方法是手机端连接个人计算机(PC)端,在PC端进行命令行脚本编程,许多自动化测试流程也是运用这样的方式通过安卓调试桥接工具进行联机或模拟测试,也有直接通过自已的掌端应用写入这些安卓调试桥(ADB)命令行,通过调试桥接命令行单击特定坐标位置或模拟操作某些特定键。实际上,这些命令在具体解析执行时相对来讲会略显滞后、进度缓慢,并且出于安全考量,这样的操作需要调试及使用的真机事先取得根
3、权限(root)授权支持,root后的真机通常还承载着人们日常社交与网购的任务,账号和密码安全必须重视,在root状态下可能会为日后的操作使用留下后门安全隐患。因此,探索一种新途径以便在非root的状态下,开发运行一个类似的外挂程序完成所需的各项特殊功能尤为重要。在这里,Android的无障碍服务为实现此功能打开了一扇方便之门,利用该项技术即可完成与手机应用的一般性交互,其原本是为了残障人士而预留的接口,让他们也能像正常人一样方便地使用手机,用一些简单的方法完成一系列动作。具体来讲,可以利用这个无障碍服务提供的抽象基类,派生一个具体实现类,并且重写其中的一系列触法型方法事件对目标软件进行监测和
4、交互,在锁定具体监测范围时,需要在XML文件夹下建立的无障碍参数配置文件中加入需要模拟控制的目标软件包名,明确只对感兴趣的目标软件进行监视,并且需要在项目清单文件中添加无障碍服务许可。可以在无障碍基类服务(Accessibili-tyService)子类的构造函数中通过窗体管理类(Win-dowManager)添加一个系统提示类型的置顶视图,作为一个简易的操控台,添加用来控制的命令按钮,让其置顶运行在其他App之上,在监测执行的单击事件中启动一个一次性或循环的线程监测目标App的视图内容变化,并将探测后操作的结果显示在屏幕新建的置顶视作者简介:邵小巍(1982),男,工程师,研究方向为广播电视
5、工程及新媒体。基于 Android 平台的新媒体自动化交互工具开发邵小巍(秦安县文体广电和旅游局王墩转播台,甘肃 天水741600)摘要:智能手机的普及,无线网络在城乡各角落的全域覆盖,为便捷地了解这个世界提供了更多的可能。在信息时代,大家对于智能机的操控可谓是轻车熟路。许多时候,循规蹈矩的刻板操作已经很难满足人们与 Android 应用交互的特殊需求,探索一种实用的依附于 Android 应用之上的外挂式交互工具,使用编程的方式实现一系列自动化操控代替手工或手工不能完成的操作是一件实用且有趣的事。关键词:Android 系统;应用交互;外挂图1用户对目标应用输入流程73DOI:10.1618
6、4/prg.2023.06.0152023.6电脑编程技巧与维护图显示组件之上。但这样有一个问题,就是在这个新开设的线程中不能对自已的工具界面视图的文字属性或者按钮的激活状态等做出修改,因为对用户界面(UI)的操作受到单线程保护,所以这个UI型的视图级操作只被允许在随应用启动的主线程中进行更改,对按钮组件的标题等赋值都是无效的。为了完成更新视图等操作需要构建一个线程间调用异步执行的机制异步消息处理器(Handler)来完成,用消息处理的方式完成这些更新操作,在需要执行这样一些功能时,只需要发送一个特定的自定义消息,在消息到达Handler时,通过其消息处理的方法判断消息类型,一旦满足条件,则开
7、辟一个新线程,做出更进一步的UI更新处理,也可以用UI线程执行方法(runOnUiThread)的显式调用方式让新定义的线程在主线程(UI可操作)中运行更新操作,这种原理底层的实现究其根本仍然是前述的Handler机制。关于如何分析获得目标应用软件的组件视图并加以操作控制,可以使用类似获取激活窗口root的方法取得目标App视图的根节点,进而通过以文本包含查找结点方法(findAccessibilityNodeInfosByText)查找文字部分或全部匹配或者以ID查找节点方法(findAccessibilityNodeIn-fosByViewId)查 找匹配目标控 件 的 资 源 标 识 符
8、(re-source-id)。由于同名,如果这两种方式取得的控件仍然比较多且难以区分,则需要在ByText查找标题方式得到一系列满足条件的组件之后,用循环枚举时加计数值的形式进行区别筛查。为了便于观察,可以在每次枚举计数后加入Log语句,通过输出台记录输出每个获取到的组件的左上角顶点坐标及长度、宽度值,再与窗体控件层级查看(monitor)工具中查找到的组件位置参数进行对比以确定第几个计数值的组件是想要获取的目标(在每次目标软件打开时,这些枚举组件的计数值是不会改变的,因此可取得目标组件)。关于这些控件ID及文字属性的获取,可以启动安卓SDK相应版本开发包中工具文件夹下的monitor.bat
9、工具来获得。对于一些活动的视图可能使用普通的捕获方式无效,例如,在做一个微信视频自动接听辅助工具时,接听控件是获取不到的,此时需要使用adb命令行执行UI自动抓取(uiau-tomator dump)和截图(screencap)命令获得相应的.uix和.png文件,可以建立一个批处理文件用来完成这些操作,再从monitor工具中打开.uix文件,并指定附加相应的.png截图就可以查看到视图中各控件的布局及属性。在批处理.bat文件中可以用类例下列语句对界面UI树进行获取,如图2所示。对于这些控件的模拟操作命令,可以用消息执行动作(performAction)发送单击操作,当然这只是对于目标控件
10、clickable属性为真时才行得通,在计算机监视工具中执行手机抓屏后查看这些应用组件,单击属性的布尔值在此工具中可查看到。对于一些控件来讲,开发者并不想让其响应模拟单击,例如,许多应用的点赞控件,想用简单的performAction发送单击是不会有任何反应的,为了解决这个问题,在高一点的版本中,An-droid为开发者留了一个方便之门,那就是用手势模拟的方式解决,这种手势模拟的参数并不依赖于需要已知控件才能调用,它只需要相应的坐标即可。当起点和终点相同时,一个手势恰好可以看作是一次单击,使用手势的优点是可以触发那些没有clickable权限的东西,即使控件缺失可单击属性也不会影响人们消息模拟
11、调用的操作,手势只能在Android 7.0以上的版本才能获得支持使用,就目前的发展势态来说,大部分手机是完全能够达到此项限制基准线的。在实际的操作中,使用monitor工具查看组件属性时,会发现往往既无resourceid,也无text值,控件对象无法取得,要想获得这个控件的区域坐标可谓困难重重,要做到这点只能使用图形智能识别技术,获取图像中不可获取的控件或单击区域。使用这种方法获取这些控件的外接矩形(boundsRect)区域,进而在区域内执行手势操作。而在早期的Android版本中,就连屏幕截图这样的操作都是不被允许的,识别分析控件更谈何容易,然而在后来的Android版本中放开了这种操
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Android 平台 媒体 自动化 交互 工具 开发 邵小巍
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【自信****多点】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【自信****多点】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。