CN102314348B - 一种Android系统开发架构及开发装置 - Google Patents
一种Android系统开发架构及开发装置 Download PDFInfo
- Publication number
- CN102314348B CN102314348B CN201110274143.8A CN201110274143A CN102314348B CN 102314348 B CN102314348 B CN 102314348B CN 201110274143 A CN201110274143 A CN 201110274143A CN 102314348 B CN102314348 B CN 102314348B
- Authority
- CN
- China
- Prior art keywords
- android system
- virtual unit
- system development
- interface
- event
- 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
Links
Landscapes
- Stored Programmes (AREA)
Abstract
本发明适用于计算机技术领域,提供了一种Android系统开发架构及开发装置,所述Android系统开发架构包括应用程序层、应用程序框架、系统运行库、Linux内核层,其特征在于,所述Android系统开发架构还包括事件解析器,所述事件解析器用于对从交互接口接收到的交互信息进行标准化。本发明实施例通过在现有Android系统开发架构中增加用于对从交互接口接收到的交互信息进行标准化的事件解析器,解决了现有Android系统无法提供一种有效的开发架构,导致应用程序开发效率低,可移植性差的问题,提高了应用程序的开发效率和可移植性,同时降低了Android系统的耦合度。
Description
技术领域
本发明属于计算机技术领域,尤其涉及一种Android系统开发架构及开发装置。
背景技术
目前,随着便携式设备等智能设备的普及,智能操作系统得到了极大的发展,Android系统作为智能操作系统,由于其开源和开放的特性,广泛地被用作移动终端、平板电脑以及智能电视机等终端的操作系统,随着基于Android系统应用程序的日益丰富,Android系统也不断得到完善。
使用Android系统的电视机(简称Android TV)使得用户可以不再被动地接收电视节目,并且可以通过各种输入设备等人机交互设备进行人机交互。现有Android系统开发架构中应用程序在开发时必须预先定义应用程序的交互接口,例如,红外遥控器、触摸板遥控器、串口输入、空中鼠标和手机遥控器等中的一种或多种,从而增加了程序开发的复杂性,降低了程序开发的效率,同时,由于必须了解下层的交互接口,进一步增加了Android系统的耦合度,另外,当Android TV的交互设备增减时,原有应用程序必须进行相应的改变,降低了应用程序的可移植性。
发明内容
本发明实施例的目的在于提供一种Android系统开发架构,旨在解决由于现有Android系统无法提供一种有效的开发架构,导致应用程序开发效率低,可移植性差的问题。
本发明实施例是这样实现的,一种Android系统开发架构,所述Android系统开发架构包括应用程序层、应用程序框架、系统运行库、Linux内核层,其特征在于,所述Android系统开发架构还包括事件解析器,所述事件解析器用于对从交互接口接收到的交互信息进行标准化。
本发明实施例的另一目的在于提供一种Android系统开发装置,所述Android系统开发装置包括应用程序模块、应用程序框架模块、系统运行库模块、Linux内核模块,其特征在于,所述Android系统开发装置还包括事件解析器模块,所述事件解析器模块用于对从交互接口接收到的交互信息进行标准化。
本发明实施例通过在现有Android系统开发架构中增加用于对从交互接口接收到的交互信息进行标准化的事件解析器,解决了现有Android系统无法提供一种有效的开发架构,导致应用程序开发效率低,可移植性差的问题,提高了应用程序的开发效率和可移植性,同时降低了Android系统的耦合度。
附图说明
图1是本发明一种Android系统开发架构第一实施例提供的开发架构图。
图2是本发明一种Android系统开发架构第一实施例提供的事件信息的格式封装图;
图3是本发明一种Android系统开发装置第二实施例提供的结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例通过在现有Android系统开发架构中增加用于对从交互接口接收到的交互信息进行标准化的事件解析器,解决了现有Android系统无法提供一种有效的开发架构,导致应用程序开发效率低,可移植性差的问题,提高了应用程序的开发效率和可移植性,同时降低了Android系统的耦合度。
以下结合具体实施例对本发明的具体实现进行详细描述:
实施例一:
目前,为了满足用户的个性化需求,Android TV的交互设备种类越来越多,例如红外遥控器、触摸板遥控器、串口输入、空中鼠标和手机遥控器等,对应用程序的可扩展性也越来越高。在本发明实施例中,为了使得应用程序能够向后兼容新增的交互方式,提出了一种Android系统开发架构,使得应用程序能够独立于具体的交互方式,提高了应用程序可移植性和可扩展性,同时降低了应用程序的开发周期。
图1示出了本发明第一实施例提供的Android系统开发架构,详述如下:
在本发明实施例中,Android系统开发架构1包括:
应用程序层11用于发布Android系统下的核心应用程序包,例如Email客户端,短消息程序,日历,浏览器等,所有的应用程序都采用Java语言编写。
应用程序框架12提供了核心应用程序所使用的框架API。应用程序框架的设计简化了组件的重用问题,每个应用程序都可以发布其功能模块使得其它任何应用程序都可以使用其所发布的功能模板。例如:视图中的列表(lists),网格(grids),文本框(text boxes),按钮(buttons)等、提供非代码资源访问的资源管理器(Resource Manager)、显示自定义的提示信息的通知管理器(Notification Manager)、用来管理应用程序生命周期并提供常用的导航回退功能的活动管理器(Activity Manager)等。
事件解析器13用于对从交互接口接收到的交互信息进行标准化,使得应用程序能够以统一的模式、标准进行调用获取从交互接口接收到的交互信息。在具体实施过程中,交互接口可以为通用串行总线(USB)接口、无线保真(WIFI)接口、串口(COM)接口或红外接口。例如,可以如图2所示格式对事件信息进行封装:
该事件包括事件头(Event Header)、事件数据(Event Data)和事件脚(Event foot),其中:
1)Event Header:Event的头部,包含三个部分:
Event Checksum:整个Event数据的校验和,占2个字节;
Event Type:用于标识Event的类型,占1个字节,例如可以用0x01表示键盘事件(Keyboard Event),0x02用于标识鼠标事件(Mouse Event),0x03用于标识动作事件(Motion Event),0x04-0xff可用于以后事件类型的扩展,当Android TV增加新的外部交互设备,只需再定义一个事件标识即可,从而提高了应用程序的可扩展性。
Event Length:用于标识Event的长度,该长度为Event header的长度、EventData的长度和Event Foot的长度之和,占1个字节。
2)Event Data:为Event的数据部分。该部分内容可以是Keyboard Event数据,Mouse Event数据或Motion Event数据等。其中:
Keyboard Event的数据结构为:
3)Event Foot:为Event的分割部分,用于在多个Event之间进行分割,
以确保Event的完整性。
该封装格式仅为本发明的一个具体实例,在具体的实施过程中可以根据系统或用户需求进行封装,在此不用于限制本发明。
由于在Android TV端通过交互接口接收到的信息可以划分为三种事件:按键事件、鼠标事件和动作事件,动作事件是指手势、身体扭动等动作事件。因此,进一步地可以将该交互信息标识化为对应的虚拟设备,分别为键盘虚拟设备、鼠标虚拟设备或动作虚拟设备,并为这些虚拟设备分配相应的标识号(如设备号),通过调用事件对应的标识号实现应用程序对虚拟设备的调用,从而使得应用程序无须了解下层的具体实施,只须通过标识号调用即可获取外部交互设备发送的事件信息,最终完成与用户的交互。当Android TV增加新的外部交互设备,只需增加事件标识号即可实现应用程序的扩展,从而提高了应用程序的可扩展性。
系统运行库14提供了函数库和Android运行库,其中函数库提供了C/C++库,这些函数库能够被Android系统中不同的组件使用,通过Android应用程序框架为应用程序提供相应的功能服务,包括系统C库、支持多种常用的音频、视频格式回放和录制,同时支持静态图像文件的媒体库、用于底层的2D图形引擎的SGL等。Android运行库包括一个提供了Java编程语言核心库的大多数功能的核心库。
Linux内核层15作为硬件和软件栈之间的抽象层,隐藏了具体底层硬件细节,为Android的核心系统服务提供了如安全性,内存管理,进程管理,网络协议栈和驱动模型等服务。
在本发明实施例中,通过事件解析器将从交互接口接收到的交互信息进行标准化,进一步地,将该交互信息标识化为对应的虚拟设备,分别为这些虚拟设备分配相应的标识号(如设备号)实现应用程序对这些设备的调用,从而使得应用程序无须了解下层的具体实施,只须通过标识号调用即可完成与用户的交互,从而降低了应用程序与系统下层的耦合度,提高了系统可移植性。另外,当Android TV增加新的外部交互设备,只需增加事件标识号即可实现应用程序的扩展,从而提高了应用程序的可扩展性。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于一计算机可读取存储介质中,所述的存储介质,如ROM/RAM、磁盘、光盘等。
实施例二:
图3示出了本发明第二实施例提供的Android系统开发装置,该装置包括:
应用程序模块31用于发布Android系统下的核心应用程序包,例如Email客户端,短消息程序,日历,浏览器等,所有的应用程序都采用Java语言编写。
应用程序框架模块32提供了核心应用程序所使用的框架API。应用程序框架的设计简化了组件的重用问题,每个应用程序都可以发布它的功能模块使得其它任何应用程序都可以使用其所发布的功能模板。例如:视图中的列表(lists),网格(grids),文本框(text boxes),按钮(buttons)等、提供非代码资源访问的资源管理器(Resource Manager)、显示自定义的提示信息的通知管理器(Notification Manager)、用来管理应用程序生命周期并提供常用的导航回退功能的活动管理器(Activity Manager)等。
事件解析器模块33用于对从交互接口接收到的交互信息进行标准化,使得应用程序能够能统一的模式、标准进行调用获取从交互接口接收到的交互信息。在具体实施过程中,交互接口可以为通用串行总线(USB)接口、无线保真(WIFI)接口、串口(COM)接口或红外接口。
由于在Android TV端通过交互接口接收到的信息可以划分为三种事件:按键事件、鼠标事件和动作事件,动作事件是指手势、身体扭动等动作事件。因此,进一步地,可以将该交互信息标识化为对应的虚拟设备,分别为键盘虚拟设备、鼠标虚拟设备或动作虚拟设备,可以通过分别为这些虚拟设备分配相应的标识号(如设备号)实现应用程序对这些设备的调用,从而使得应用程序无须了解下层的具体实施,只须通过标识号调用即可完成与用户的交互。
系统运行库模块34提供了函数库和Android运行库,其中函数库提供了C/C++库,这些函数库能够被Android系统中不同的组件使用,通过Android应用程序框架为应用程序提供相应的功能服务,包括系统C库、支持多种常用的音频、视频格式回放和录制,同时支持静态图像文件的媒体库、用于底层的2D图形引擎的SGL等。Android运行库包括一个提供了Java编程语言核心库的大多数功能的核心库。
Linux内核模块35作为硬件和软件栈之间的抽象层,隐藏具体底层硬件细节而为上层提供统一的服务,为Android的核心系统服务提供了如安全性,内存管理,进程管理,网络协议栈和驱动模型等服务。
本发明实施例通过在现有Android系统开发架构中增加用于对从交互接口接收到的交互信息进行标准化的事件解析器,提高了应用程序的开发效率、可移植性以及可扩展性,同时降低了Android系统的耦合度,当利用上述开发架构或开发装置开发出来的应用程序与外部交互设备进行人工交互时,应用程序只需求调用虚拟设备的标识号获取外部交互设备发送的事件信息,从而实现应用程序的交互,有效减少了应用程序的开发周期,提高了应用程序的开发效率。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种Android系统开发架构,所述Android系统开发架构包括应用程序层、应用程序框架、系统运行库、Linux内核层,其特征在于,所述Android系统开发架构还包括位于应用程序框架和系统运行库之间的事件解析器,所述事件解析器用于对从交互接口接收到的交互信息进行标准化,将所述交互信息标识化为对应的虚拟设备,并分别为所述虚拟设备分配相应的标识号,以实现应用程序对所述虚拟设备的调用。
2.如权利要求1所述的Android系统开发架构,其特征在于,所述虚拟设备为键盘虚拟设备、鼠标虚拟设备或动作虚拟设备。
3.如权利要求1所述的Android系统开发架构,其特征在于,所述交互接口为通用串行总线接口、无线保真接口、串口接口和红外接口之一。
4.一种Android系统开发装置,所述Android系统开发装置包括应用程序模块、应用程序框架模块、系统运行库模块、Linux内核模块,其特征在于,所述Android系统开发装置还包括位于应用程序框架和系统运行库之间的事件解析器模块,所述事件解析器模块用于对从交互接口接收到的交互信息进行标准化,将所述交互信息标识化为对应的虚拟设备,并分别为所述虚拟设备分配相应的标识号,以实现应用程序对所述虚拟设备的调用。
5.如权利要求4所述的Android系统开发装置,其特征在于,所述虚拟设备为键盘虚拟设备、鼠标虚拟设备或动作虚拟设备。
6.如权利要求4所述的Android系统开发装置,其特征在于,所述交互接口为通用串行总线接口、无线保真接口、串口接口和红外接口之一。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110274143.8A CN102314348B (zh) | 2011-09-15 | 2011-09-15 | 一种Android系统开发架构及开发装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110274143.8A CN102314348B (zh) | 2011-09-15 | 2011-09-15 | 一种Android系统开发架构及开发装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102314348A CN102314348A (zh) | 2012-01-11 |
CN102314348B true CN102314348B (zh) | 2015-06-03 |
Family
ID=45427544
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110274143.8A Active CN102314348B (zh) | 2011-09-15 | 2011-09-15 | 一种Android系统开发架构及开发装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102314348B (zh) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8560604B2 (en) | 2009-10-08 | 2013-10-15 | Hola Networks Ltd. | System and method for providing faster and more efficient data communication |
CN102662665B (zh) * | 2012-03-29 | 2015-04-22 | 福州瑞芯微电子有限公司 | 在安卓系统上实现支持各种传感器的输入子系统 |
CN102681845A (zh) * | 2012-04-24 | 2012-09-19 | 深圳创维数字技术股份有限公司 | 一种输入事件管理方法及装置 |
CN103425499A (zh) * | 2012-05-14 | 2013-12-04 | 深圳市天易联科技有限公司 | 智能家电的智能操作系统更新的方法 |
CN103425467B (zh) * | 2012-05-18 | 2016-08-03 | 汪巨森 | 基于iec61850的程序生成方法 |
CN103793361A (zh) * | 2012-10-31 | 2014-05-14 | 郑州孜晗软件科技有限公司 | 移动量算机 |
CN102946557B (zh) * | 2012-11-21 | 2015-05-27 | 烽火通信科技股份有限公司 | 遥控器控制Android系统机顶盒的实现方法 |
CN103353835B (zh) * | 2013-01-17 | 2016-08-10 | 珠海全志科技股份有限公司 | Android系统Sensor HAL层兼容多种同种Sensor设备的移植处理方法及装置 |
US9241044B2 (en) | 2013-08-28 | 2016-01-19 | Hola Networks, Ltd. | System and method for improving internet communication by using intermediate nodes |
CN103605430A (zh) * | 2013-12-03 | 2014-02-26 | 深圳雷柏科技股份有限公司 | 一种模拟键盘输入的方法及装置 |
CN103929668B (zh) * | 2014-04-28 | 2018-01-16 | Tcl集团股份有限公司 | 一种基于使用安卓系统的电视机的操控方法及装置 |
US11057446B2 (en) | 2015-05-14 | 2021-07-06 | Bright Data Ltd. | System and method for streaming content from multiple servers |
CN105049968A (zh) * | 2015-07-07 | 2015-11-11 | 深圳市东方智通科技有限公司 | 基于Android系统的集成数字音效处理式音响装置及其操作方法 |
CN109313563A (zh) * | 2016-09-06 | 2019-02-05 | 华为技术有限公司 | 一种数据采集方法、装置及系统 |
US11190374B2 (en) | 2017-08-28 | 2021-11-30 | Bright Data Ltd. | System and method for improving content fetching by selecting tunnel devices |
EP4311204A3 (en) | 2017-08-28 | 2024-04-10 | Bright Data Ltd. | Method for improving content fetching by selecting tunnel devices |
LT3780547T (lt) | 2019-02-25 | 2023-03-10 | Bright Data Ltd. | Turinio parsisiuntimo, naudojant url bandymų mechanizmą, sistema ir būdas |
EP4030318A1 (en) | 2019-04-02 | 2022-07-20 | Bright Data Ltd. | System and method for managing non-direct url fetching service |
CN111143251A (zh) * | 2019-12-31 | 2020-05-12 | 惠州市德赛西威汽车电子股份有限公司 | 一种数据中心控制系统及其方法 |
CN111930646B (zh) * | 2020-08-10 | 2022-12-06 | 天津七一二移动通信有限公司 | Android嵌入式设备外置按键扩展模块的实现方法 |
CN112203148B (zh) * | 2020-09-25 | 2022-05-27 | 山东浪潮超高清视频产业有限公司 | Android机顶盒系统内置系统管理Service的方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101895670A (zh) * | 2010-07-20 | 2010-11-24 | 深圳市茁壮网络股份有限公司 | 一种通用数字电视中间件系统 |
CN101924582A (zh) * | 2010-07-29 | 2010-12-22 | 上海慧翰信息技术有限公司 | 通信装置及其中间件 |
CN201725325U (zh) * | 2010-02-09 | 2011-01-26 | 深圳市同洲电子股份有限公司 | 一种图形解析系统和数字电视接收终端 |
-
2011
- 2011-09-15 CN CN201110274143.8A patent/CN102314348B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN201725325U (zh) * | 2010-02-09 | 2011-01-26 | 深圳市同洲电子股份有限公司 | 一种图形解析系统和数字电视接收终端 |
CN101895670A (zh) * | 2010-07-20 | 2010-11-24 | 深圳市茁壮网络股份有限公司 | 一种通用数字电视中间件系统 |
CN101924582A (zh) * | 2010-07-29 | 2010-12-22 | 上海慧翰信息技术有限公司 | 通信装置及其中间件 |
Non-Patent Citations (1)
Title |
---|
Android的架构与应用开发研究;姚昱旻等;《计算机系统应用》;20081130;正文第1部分,图1 * |
Also Published As
Publication number | Publication date |
---|---|
CN102314348A (zh) | 2012-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102314348B (zh) | 一种Android系统开发架构及开发装置 | |
CN108491275B (zh) | 程序优化方法、装置、终端及存储介质 | |
CN102811379B (zh) | 一种电视机、消息处理方法及系统 | |
CN107291456B (zh) | 一种多屏显示的控制方法及系统 | |
CN101923434B (zh) | 一种应用图标的排版方法、系统移动终端 | |
CN113038160B (zh) | 一种显示设备及音视频数据的播放方法 | |
CN102404633B (zh) | 一种监控装置、智能电视系统及电视机 | |
CN111158779B (zh) | 一种数据处理方法和相关设备 | |
CN103150154A (zh) | 一种应用程序插件的实现方法及装置 | |
US20100179982A1 (en) | Method for auditing the data of a computer application of a terminal | |
CN111158820B (zh) | 控件点击事件处理方法、装置、电子设备及存储介质 | |
CN101917509B (zh) | 一种基于Linux的MID平台下的电话系统及其实现方法 | |
CN112597110B (zh) | 一种显示设备及文件展示方法 | |
CN101819524B (zh) | Rfid阅读器的访问方法及其接口驱动设备 | |
CN104038511A (zh) | 一种资源管理方法及装置 | |
CN102508665B (zh) | 绘制应用程序视图的方法和装置 | |
CN111400137B (zh) | 监测事件的存储方法、装置、移动终端和存储介质 | |
CN112887804A (zh) | 一种显示设备及一种频道编码方法 | |
CN102281356A (zh) | 一种手机通讯+电脑功能的手机 | |
CN111586481B (zh) | 一种终端及应用的处理方法 | |
Vidakovic et al. | Java implementation of DTV services on the android platform | |
CN112492402B (zh) | 一种显示设备 | |
CN115328483B (zh) | 业务功能入口的管理方法、装置、电子设备及存储介质 | |
CN112749033B (zh) | 一种显示设备及系统通知调用方法 | |
Wang et al. | Software architecture based on message queue |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |