CN108089859B - 一种基于录制回放的安卓应用间混搭方法 - Google Patents

一种基于录制回放的安卓应用间混搭方法 Download PDF

Info

Publication number
CN108089859B
CN108089859B CN201711450324.5A CN201711450324A CN108089859B CN 108089859 B CN108089859 B CN 108089859B CN 201711450324 A CN201711450324 A CN 201711450324A CN 108089859 B CN108089859 B CN 108089859B
Authority
CN
China
Prior art keywords
application
android
user
host application
recording
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201711450324.5A
Other languages
English (en)
Other versions
CN108089859A (zh
Inventor
彭鑫
郑家欢
曾虹驰
赵文耘
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fudan University
Original Assignee
Fudan University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fudan University filed Critical Fudan University
Priority to CN201711450324.5A priority Critical patent/CN108089859B/zh
Publication of CN108089859A publication Critical patent/CN108089859A/zh
Application granted granted Critical
Publication of CN108089859B publication Critical patent/CN108089859B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Stored Programmes (AREA)

Abstract

本发明属于移动应用软件技术领域,具体为一种基于录制回放的安卓应用混搭方法。本发明通过对安卓框架层中涉及窗口和视图的相关基类进行修改,赋予其应用间混搭的能力;基本步骤为:将改造后的ROM刷入到移动设备上;用户从安装在移动设备上的移动应用中选定一个应用作为宿主应用,并打开运行;用户在宿主应用内启动录制,选定混搭的后端应用,以及数据源控件,并设置触发事件;在被自动启动的后端应用程序中,用户选定需要与宿主应用关联的控件,并设定返回值;最后,用户在录制好的宿主应用和后端应用上进行回放,以实现自动化的数据传递和内容整合。这种录制回放方法具有较低的后台运行开销,能够降低用户的操作量以及提高应用的使用效率。

Description

一种基于录制回放的安卓应用间混搭方法
技术领域
本发明属于移动应用软件技术领域,具体设计基于录制回放的安卓应用间混搭方法,包括修改安卓系统框架层代码、界面信息捕捉、应用间数据传输等。
背景技术
用户在使用移动应用时经常需要同时将多个应用之间的内容进行混搭。例如,用户在使用某一移动购物应用进行商品浏览和选购时,通常也会在其它同类应用中搜索同种商品的相关信息,以进行价格、质量等方面的对比;用户在旅游应用上查看某个景点的详细信息时,通常也会在订票应用上查询近期票价、在天气应用上查询当地天气、在团购应用上查询优惠信息等。传统的混搭技术大多数是针对网页和Web Service进行的,同时还要求预先获得其中的公开API接口,因而这类技术并不能很好地支持安卓应用间的混搭。此外,现有的录制回放技术大都需要开发者参与,有些录制回放技术还需要定制ROM或者请求安卓系统root权限,无法较好地应用于安卓应用间的混搭。
发明内容
本发明的目的是提供一种基于录制回放的安卓应用间混搭方法,使得用户在使用安卓应用时能够录制应用间需要混搭的控件内容和操作流程,并在以后需要时通过回放的方式自动回放这些操作流程和显示相关结果。
本发明提供的基于录制回放的安卓应用间混搭方法,其核心思想是通过对安卓框架层中涉及窗口和视图的相关基类进行修改,赋予其应用间混搭的能力。本发明的概念模型如图1所示。其基本步骤为:首先,将改造后的ROM刷入到移动设备上;用户从安装在移动设备上的移动应用中选定一个应用作为宿主应用,并将其打开运行;然后,用户在宿主应用内启动录制,选定混搭的后端应用,以及数据源控件,并设置触发事件;之后,在被自动启动的后端应用程序中,用户选定需要与宿主应用关联的控件,并设定返回值;最后,用户在录制好的宿主应用和后端应用上进行回放,以实现自动化的数据传递和内容整合。这种录制回放方法具有较低的后台运行开销,能够降低用户的操作量以及提高应用的使用效率。
本发明提供基于录制回放的安卓应用间混搭方法,具体步骤如下:
(1)对标准的安卓系统框架层代码进行修改,将与应用间混搭录制和回放相关的控制代码编织到安卓应用所使用的界面窗口和视图控件基类的事件响应和生命周期管理方法中,然后重新编译修改后的安卓框架源代码,行成一个更新后的安卓ROM;将所得到的安卓ROM刷入安卓移动设备中;
(2)用户启动宿主应用并使用混搭录制功能,如图2所示,包括以下流程:
(2.1)用户在宿主应用的任意界面长按屏幕调出控制菜单,在控制菜单中选择开始录制,然后从当前设备已安装的具有混搭能力的应用列表中选择一个应用名作为后端应用;
(2.2)用户在宿主应用的相关界面上依次选择若干需要进行关联的视图作为输入数据源;
(2.3)用户在宿主应用的相关界面上选择一个视图的特定事件(例如按钮单击事件)作为混搭的触发事件;
(2.4)接着系统自动启动在流程(2.1)中选择的后端应用并跳转到其主界面;
(2.5)用户将宿主应用中选择的数据源视图依次与后端应用相关界面上的视图进行关联,使得数据源视图在回放时能将数据的值传递给后端应用中的相应视图;
(2.6)用户设定后端应用返回执行的结果,既可以是某个界面中选择的一个屏幕区域截图,也可以是一个文本消息提示;
(3)用户在宿主应用中使用混搭执行功能,如图3所示,包括以下流程:
(3.1)用户在宿主应用的界面上长按屏幕调出控制菜单,切换到执行模式,以允许混搭脚本被触发执行;
(3.2)用户在宿主应用中进行界面操作,当预先设定的混搭触发事件被触发时,混搭流程就开始执行;
(3.3)后端应用被自动启动,宿主应用数据源视图的数据此时被后端应用接收,后端应用自动执行相应的操作流程,在此过程中将宿主应用数据源视图的数据自动赋给后端应用对应的视图;
(3.4)最后将返回值(屏幕截图或者文本消息)返回给宿主应用并显示在宿主应用的界面上。
本发明中,步骤(1)中通过安卓系统框架层代码的改造以及安卓ROM的更新,使得步骤(2)中的混搭录制行为和步骤(3)中的混搭执行行为被自动加入到安卓应用中,从而使现有的安卓应用无需修改就可以具有应用间混搭录制和应用间混搭执行的能力。
本发明通过修改安卓框架层中的基类,来达到录制应用间混搭的用户操作流程以及混搭数据的设置匹配,并通过回放的方式自动回放这些操作流程,从而赋予安卓应用的应用间混搭的能力,使得他们可以根据自己的需要将普通的安卓应用转化成一个具有混搭能力的应用。通过本发明方法,用户可以将日常使用的应用进行混搭,从而完成更加复杂的场景。
附图说明
图1为本发明的安卓应用间混搭的概念模型图。
图2为本发明的安卓应用间混搭的录制过程的流程图。
图3为本发明的安卓应用间混搭的回放过程的流程图。
具体实施方式
(1)混搭录制功能,对Activity/Dialog基类的onCreate方法插入函数调用指令,在被调用的函数中为当前Activity/Dialog类型的对象创建手势探测器;在onDestroy方法中插入函数调用指令,在被调用的函数中销毁为当前Activity/Dialog类型的对象创建的手势探测器;在onWindowFocusChanged方法中插入函数调用指令,在被调用的函数中,为当前Activity/Dialog含有的界面视图元素绑定 TextWatcher 监听器,用于监听用户在录制过程中的文本输入;在dispatchTouchEvent方法中插入函数调用指令,在被调用的函数中,为当前Activity/Dialog实现手势识别、输入源控件的选取、触发事件的选取、关联控件的选取、作为返回值的返回区域的选取;在View、AdapterView等基类的监听器调用处插入函数调用指令,在被调用的函数中,为当前Activity/Dialog记录下被触发事件的详细信息,即视图ID、事件类型(例如,点击、条目点击、文本变化等事件),事件内容(例如,文本变化事件的变化内容)。
(2)混搭执行功能,对Activity/Dialog基类的onWindowFocusChanged方法中插入函数调用指令,在被调用的函数中,获取宿主应用的数据源控件内容、在后端应用的视图上回放录制阶段记录的触发事件、在后端应用返回值所在的界面上截取屏幕内容返回给宿主应用;在View、AdapterView等基类的监听器调用处插入函数调用指令,在被调用的函数中监听宿主应用的触发事件的发生。

Claims (2)

1.一种基于录制回放的安卓应用间混搭方法,其特征在于,具体步骤如下:
(1)对标准的安卓系统框架层代码进行修改,将与应用间混搭录制和回放相关的控制代码编织到安卓应用所使用的界面窗口和视图控件基类的事件响应和生命周期管理方法中,然后重新编译修改后的安卓框架源代码,形成一个更新后的安卓ROM;将所得到的安卓ROM刷入安卓移动设备中;
(2)用户启动宿主应用并使用混搭录制功能,其流程为:
(2.1)用户在宿主应用的任意界面长按屏幕调出控制菜单,在控制菜单中选择开始录制,然后从当前设备已安装的具有混搭能力的应用列表中选择一个应用作为后端应用;
(2.2)用户在宿主应用的相关界面上依次选择若干需要进行关联的视图作为输入数据源;
(2.3)用户在宿主应用的相关界面上选择一个视图的特定事件作为混搭的触发事件;
(2.4)接着系统自动启动在流程(2.1)中选择的后端应用并跳转到其主界面;
(2.5)用户将宿主应用中选择的数据源视图依次与后端应用相关界面上的视图进行关联,使得数据源视图在回放时能将数据的值传递给后端应用中的相应视图;
(2.6)用户设定后端应用返回执行的结果,既可以是某个界面中选择的一个屏幕区域截图,也可以是一个文本消息提示;
(3)用户在宿主应用中使用混搭执行功能,其流程为:
(3.1)用户在宿主应用的界面上长按屏幕调出控制菜单,切换到执行模式,以允许混搭脚本被触发执行;
(3.2)用户在宿主应用中进行界面操作,当预先设定的混搭触发事件被触发时,混搭流程就开始执行;
(3.3)自动启动后端应用,宿主应用数据源视图的数据此时被后端应用接收,后端应用自动执行相应的操作流程,在此过程中将宿主应用数据源视图的数据自动赋给后端应用对应的视图;
(3.4)最后将返回值返回给宿主应用并显示在宿主应用的界面上。
2.根据权利要求1所述的基于录制回放的安卓应用间混搭方法,其特征在于,步骤(1)中通过安卓系统框架层代码的改造以及安卓ROM的更新,使得步骤(2)中的混搭录制行为和步骤(3)中的混搭执行行为被自动加入到安卓应用中,从而使现有的安卓应用无需修改就可以具有应用间混搭录制和应用间混搭执行的能力。
CN201711450324.5A 2017-12-27 2017-12-27 一种基于录制回放的安卓应用间混搭方法 Active CN108089859B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711450324.5A CN108089859B (zh) 2017-12-27 2017-12-27 一种基于录制回放的安卓应用间混搭方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711450324.5A CN108089859B (zh) 2017-12-27 2017-12-27 一种基于录制回放的安卓应用间混搭方法

Publications (2)

Publication Number Publication Date
CN108089859A CN108089859A (zh) 2018-05-29
CN108089859B true CN108089859B (zh) 2020-11-20

Family

ID=62180388

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711450324.5A Active CN108089859B (zh) 2017-12-27 2017-12-27 一种基于录制回放的安卓应用间混搭方法

Country Status (1)

Country Link
CN (1) CN108089859B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114650330A (zh) * 2020-12-18 2022-06-21 华为技术有限公司 一种添加操作序列的方法、电子设备和系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101771993A (zh) * 2008-12-31 2010-07-07 中国移动通信集团公司 基于移动网络实现聚合应用的系统及其方法
CN104077116A (zh) * 2013-03-26 2014-10-01 富士通株式会社 创建基于安卓系统的混搭应用的方法和设备
CN104598225A (zh) * 2014-12-31 2015-05-06 百度在线网络技术(北京)有限公司 一种将视图信息插入页面中的方法、装置与系统
CN105005476A (zh) * 2015-07-13 2015-10-28 天津大学 面向Android移动应用混搭的框架

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8930440B2 (en) * 2010-06-29 2015-01-06 International Business Machines Corporation Systems and methods for enabling mobile mashups
KR20160053462A (ko) * 2014-11-04 2016-05-13 삼성전자주식회사 단말장치 및 그 제어 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101771993A (zh) * 2008-12-31 2010-07-07 中国移动通信集团公司 基于移动网络实现聚合应用的系统及其方法
CN104077116A (zh) * 2013-03-26 2014-10-01 富士通株式会社 创建基于安卓系统的混搭应用的方法和设备
CN104598225A (zh) * 2014-12-31 2015-05-06 百度在线网络技术(北京)有限公司 一种将视图信息插入页面中的方法、装置与系统
CN105005476A (zh) * 2015-07-13 2015-10-28 天津大学 面向Android移动应用混搭的框架

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"移动终端应用的个性化混搭方法";马一翔 等;《计算机工程与应用》;20161231;第52卷(第16期);第110-115,155页 *

Also Published As

Publication number Publication date
CN108089859A (zh) 2018-05-29

Similar Documents

Publication Publication Date Title
US20160188363A1 (en) Method, apparatus, and device for managing tasks in multi-task interface
KR20220127887A (ko) 생방송 데이터 표시 방법 및 장치, 디바이스 및 저장 매체
KR101740495B1 (ko) 아이콘 표시 방법, 장치, 프로그램 및 기록매체
CN105094551A (zh) 一种信息处理方法及电子设备
CN108108158B (zh) 一种面向安卓的用户个性化定制语音控制应用方法
CN113590870B (zh) 推荐方法、推荐装置、存储介质及电子设备
US20060155954A1 (en) Selective macro event recording
CN109814801A (zh) 应用登录方法、装置、终端及存储介质
CN113077861A (zh) 显示设备、控制装置及通信监测方法
CN109800135A (zh) 一种信息处理方法及终端
CN110162730B (zh) 信息处理方法、装置、计算机设备及存储介质
WO2020143159A1 (zh) 一种用户界面的处理方法和装置
CN109117060A (zh) 下拉通知栏显示方法、装置、终端及存储介质
CN109947979A (zh) 歌曲识别方法、装置、终端及存储介质
CN108574857A (zh) 基于用户行为的节目推荐方法、智能电视及存储介质
CN108733395A (zh) 软件应用程序业务更新方法、装置及计算机设备
CN112445564A (zh) 界面显示方法及电子设备、计算机可读存储介质
CN108268293A (zh) 移动app快速原型演示的方法
CN109213544A (zh) 应用程序的功能演示方法、系统、介质和电子设备
CN109388309A (zh) 菜单的显示方法、装置、终端及存储介质
CN108089859B (zh) 一种基于录制回放的安卓应用间混搭方法
CN101483694B (zh) 矢量动画播放控制方法及装置
CN112445501A (zh) 数据烧录方法及设备、计算机可读存储介质
JP5504168B2 (ja) 移動体端末の待ち受け画面上の情報領域の表示を制御するための方法および装置
CN106648606A (zh) 一种信息显示的方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant