CN115794046A - 安卓电视混合型应用程序开发方法 - Google Patents
安卓电视混合型应用程序开发方法 Download PDFInfo
- Publication number
- CN115794046A CN115794046A CN202111065683.5A CN202111065683A CN115794046A CN 115794046 A CN115794046 A CN 115794046A CN 202111065683 A CN202111065683 A CN 202111065683A CN 115794046 A CN115794046 A CN 115794046A
- Authority
- CN
- China
- Prior art keywords
- android
- webpage
- terminal
- information
- java object
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/76—Adapting program code to run in a different environment; Porting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9577—Optimising the visualization of content, e.g. distillation of HTML documents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
- G06F9/548—Object oriented; Remote method invocation [RMI]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/545—Gui
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Multimedia (AREA)
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
- Steroid Compounds (AREA)
- Compounds Of Unknown Constitution (AREA)
- Nitrogen And Oxygen Or Sulfur-Condensed Heterocyclic Ring Systems (AREA)
Abstract
一种安卓电视混合型应用程序开发方法包含:于一安卓活动中生成一安卓网页浏览组件,该安卓活动属于该应用程序的一安卓端;获取一网页浏览设定子类,并利用该网页浏览设定子类配置该安卓网页浏览组件;利用一网页技术开发一网页界面,其属于该应用程序的一网页端;利用该安卓网页浏览组件加载并显示该网页界面;于该安卓端中创建一第一Java对象以定义该安卓端与该网页端之间的沟通,并创建一第二Java对象以实现该第一Java对象所定义的一接口,从而利用该二Java对象让该网页端能够调用该接口;于该安卓端置入一封装好的Java类用于发送信息给该网页端,并于该网页端置入一封装好的JavaScript模块用于维护一监听列表以处理该信息,让该安卓端能够反馈该信息给该网页端。
Description
技术领域
本发明涉及应用程序开发方法,尤其涉及安卓电视混合型应用程序开发方法。
背景技术
随着安卓(Android)电视日益普及,安卓电视应用程序(application;App)的开发也日益兴盛。
一款App最主要的内容包括使用者界面(user interface;UI)和业务逻辑(business logic)。UI是一款APP给用户的第一直观感受;如果UI不佳,即便业务逻辑好,该款App也不易吸引用户,这是因为用户重视视觉效果;另一方面,如果UI好,但业务逻辑不佳,这会影响该款App的后期使用体验,从而无法留住用户。
传统的安卓电视App是原生App(Native App)。原生App通常是用程序语言(例如:Java)来编写,它的用户体验好且性能稳定,但开发难度高且更新不易,因此原生App的开发费用高、开发周期长且维护费用高。目前虽然有网页App(Web App)的开发技术,且网页App的开发成本低且更新快,但它的设计限制多且性能受限,这导致用户体验差。
发明内容
本公开的目的之一在于提供一种安卓电视混合型应用程序(Hybrid App)开发方法,以兼顾原生App与网页App的优点。
本公开之安卓电视混合型应用程序开发方法的一实施例包含下列步骤:于一安卓活动中生成一安卓网页浏览组件,其中该安卓活动属于该安卓电视混合型应用程序的一安卓端;获取一网页浏览设定子类,并利用该网页浏览设定子类配置该安卓网页浏览组件;利用一网页技术开发该安卓电视混合型应用程序的一网页界面,其中该网页界面属于该安卓电视混合型应用程序的一网页端;利用该安卓网页浏览组件加载并显示该网页界面;于该安卓端中创建一第一Java对象以定义该安卓端与该网页端之间的至少一沟通方法,以及创建一第二Java对象以实现该第一Java对象所定义的一安卓端接口,从而利用该第一Java对象与该第二Java对象,让该网页端能够调用该安卓端接口;以及于该安卓端置入一封装好的Java类用于发送信息给该网页端,并于该网页端置入一封装好的JavaScript模块用于维护一监听列表以处理该信息,从而利用该封装好的Java类与该封装好的JavaScript模块,让该安卓端能够反馈该信息给该网页端。
有关本发明的特征、实作与功效,兹配合附图作较佳实施例详细说明如下。
附图说明
[图1]显示本公开之安卓电视混合型应用程序开发方法的一实施例;
[图2]显示图1之开发方法所界定之应用程序的框架;
[图3]显示图1之步骤S160的消息反馈机制;
[图4]显示图1之步骤S150的一实作范例;以及
[图5]显示图1之步骤S160的一实作范例。
具体实施方式
传统的安卓电视应用程序(application;App)是原生App(Native App),它的用户体验好且性能稳定,但开发难度高且更新不易。而网页App(Web App)的开发成本低且更新快,但设计限制多、性能受限且用户体验差。本说明书公开一种安卓(Android)电视混合型App(Hybrid App)开发方法,以兼顾原生App与网页App的优点。
本公开的安卓电视混合型App开发方法利用低成本和低难度的网页(Web)技术来实现复杂的使用者界面(user interface;UI)开发和展示,以大幅降低一安卓电视App的整体开发难度;另一方面,本公开的开发方法在安卓原生***端实现该电视App的业务逻辑以及资料来源的提供,以确保良好的用户体验;此外,本公开的开发方法分别于该电视App的安卓端与Web端置入代码封装,以利于App功能的维护和扩展。
请参阅图1至图3。图1显示本公开之安卓电视混合型App开发方法的一实施例,其用来开发一安卓电视混合型App以供一安卓电视来执行。图2显示图1之开发方法所界定之应用程序的框架。图3显示图1之步骤S160的消息反馈机制。图1包含下列步骤:
S110:于一安卓活动(Android Activity)中生成一安卓网页浏览组件(AndroidWebView component)(图2:方框212),其中该安卓活动属于该安卓电视混合型应用程序的一安卓端(图2:方框210)。安卓活动与安卓网页浏览组件在本技术领域中为已知,其可见于本案申请时的安卓开发者网站。步骤S110是利用已知/自行开发的方式来实现。
S120:获取一网页浏览设定(WebSettings)子类(subclass),并利用该网页浏览设定子类配置该安卓网页浏览组件。网页浏览设定子类在本技术领域中为已知,其可见于本案申请时的安卓开发者网站。步骤S120是利用已知/自行开发的方式来实现。
S130:利用一网页(Web)技术开发该安卓电视混合型应用程序的一网页界面(图2:222),其中该网页界面属于该安卓电视混合型应用程序的一网页端(图2:220)。步骤S130是利用已知/自行开发的方式来实现。
S140:利用该安卓网页浏览组件加载并显示该网页界面。步骤S140是利用已知/自行开发的方式来实现。
S150:于该安卓端中创建(create)一第一Java对象(object)(图2:214)以定义该安卓端与该网页端之间的至少一沟通方法,以及创建一第二Java对象(图2:216)以实现该第一Java对象所定义的一安卓端接口(interface),从而利用该第一Java对象与该第二Java对象,让该网页端能够调用(call)该安卓端接口。创建Java对象是利用已知/自行开发的方式来实现;对象(object)是类(class)的实例(instance)。
S160:于该安卓端置入一封装好的Java类(class)(图3:310)用于发送信息给该网页端,并于该网页端置入一封装好的JavaScript模块(图2:224;图3:320)用于维护一监听列表以处理该信息,从而利用该封装好的Java类与该封装好的JavaScript模块,让该安卓端能够反馈(feedback)该信息给该网页端。上述封装例如是对类(class)的封装。Java类在本技术领域中为已知,其可见于安卓开发者网站。JavaScript模块在本技术领域中为已知。
请参阅图1至图3。关于步骤S110,于一实作范例中,生成该安卓网页浏览组件的方式为下列已知方式的其中之一:在该安卓活动中生成该安卓网页浏览组件;以及添加该安卓网页浏览组件至该安卓活动的一布局(layout)文件里。
请参阅图1至图3。关于步骤S120,于一实作范例中,配置该安卓网页浏览组件的步骤包含:使该安卓网页浏览组件支持JavaScript、允许通过一以文件开通的通用资源定位地址(file URL(Uniform Resource Locator))加载的该JavaScript读取一本地文件、以及允许通过该file URL加载的该JavaScript访问其它资源(例如:基于超文本传输协定(Hypertext Transfer Protocol;HTTP)的资源;基于超文本传输安全协定(HypertextTransfer Protocol Secure;HTTPS)的资源)。该file URL的技术在本技术领域中为已知。
请参阅图1至图3。关于步骤S130,于一实作范例中,该网页技术包含下列至少其中之一:超文本标记语言(HyperText Markup Language;HTML);阶层样式表(CascadingStyle Sheets;CSS);以及JavaScript。
请参阅图1至图3。关于步骤S150,其可理解为该Web端主动地从该安卓端获取画面显示所需要的资料。图4显示图1之步骤S150的一实作范例,包含下列步骤:
S410:于该安卓端中创建该第一Java对象(图2:214)。本例中,该第一Java对象定义多种方法(图2:方法A、方法B、…)。
S420:于该安卓端创建该第二Java对象(图2:216)。本例中,该第二Java对象用来实现该第一Java对象之多种方法(图2:实现方法A、实现方法B、…)。
S430:将该第二Java对象当做一监听者(listener)并注册该监听者的信息于该第一Java对象中。
S440:利用该安卓网页浏览组件以将该第一Java对象注入(add)该网页端的一JavaScript上下文(context)中。
S450:令该网页端的该封装好的JavaScript模块依据该安卓网页浏览组件的一参数(例如:名称(name)),访问该安卓端的该第一Java对象,并调用该安卓端接口。
S460:令该第一Java对象依据该监听者的信息,调用该第二Java对象所定义的至少一实施内容(例如:频道信息)。
请参阅图1至图3。关于步骤S160,其可理解为该Web端被动地从该安卓端得知是否有资料/画面需要更新。图5显示图1之步骤S160的一实作范例,包含下列步骤:
S510:于该安卓端置入该封装好的Java类(图3∶310),其用于发送信息给该网页端。本例中,不同消息是以它们的事件识别码(identification;ID)来区分。
S520:于该网页端置入该封装好的JavaScript模块(图2:224;图3:320),其用于维护该监听列表以处理该信息。本例中,该监听列表是供其它的JavaScript模块添加监听事件至该监听列表中,每个监听事件对应一事件识别码;此外,该封装好的JavaScript模块包含一专用函数对应该封装好的Java类,该专用函数用来接收该安卓端的消息,并于收到一消息后,依据注册信息(例如:步骤S530的注册信息)将该消息发给一相对应的JavaScript模块。
S530:允许该网页端的一监听者(例如:另一JavaScript模块)创建一监听事件,并注册该监听事件的信息(例如:事件识别码)于该封装好的JavaScript模块中。举例而言,在注册该监听事件的信息于该封装好的JavaScript模块中之前,令该监听者初始化(initializing)一事件识别码(identification),以及提供对应该事件识别码的一响应函数(图3:330)。该响应函数的内容是依实施需求而定。该网页端的其它监听者(例如:其它JavaScript模块)可依上述方式来监听事件。
S540:令该安卓端利用该封装好的Java类以发送该信息给该网页端。
S550:于该网页端的该封装好的JavaScript模块收到该信息后,令该封装好的JavaScript模块依据注册信息处理该信息。举例而言,若该信息对应该监听者的事件识别码,依据该事件识别码将该信息分派(allocate)给该监听者所提供的该响应函数,以让该响应函数处理该信息。
请注意,本公开的方法是着重于该安卓电视混合型App的开发流程,而非该安卓电视混合型App;因此,该安卓电视混合型App的内容是依开发者的需求而定,不在本公开的讨论范围内。
另请注意,在实施为可能的前提下,本技术领域具有通常技术人员可选择性地实施前述任一实施例中部分或全部技术特征,或选择性地实施前述多个实施例中部分或全部技术特征的组合,藉此增加本发明实施时的弹性。
综上所述,本公开的安卓电视混合型App开发方法可兼顾原生App与网页App的优点。
虽然本发明之实施例如上所述,然而该些实施例并非用来限定本发明,本技术领域具有通常技术人员可依据本发明之明示或隐含之内容对本发明之技术特征施以变化,凡此种种变化均可能属于本发明所寻求之专利保护范畴,换言之,本发明之专利保护范围须视本说明书之申请专利范围所界定者为准。
【符号说明】
S110~S160:步骤
210:安卓端
212:安卓活动中的安卓网页浏览组件
214:第一Java对象
216:第二Java对象
220:网页端
222:网页界面
224:封装好的JavaScript模块
310:封装好的Java类
320:封装好的JavaScript模块
330:响应函数
S410~S460:步骤
S510~S550:步骤。
Claims (9)
1.一种安卓电视混合型应用程序开发方法,用来开发一安卓电视混合型应用程序以供一安卓电视来执行,包含下列步骤:
于一安卓活动中生成一安卓网页浏览组件,其中该安卓活动属于该安卓电视混合型应用程序的一安卓端;
获取一网页浏览设定子类,并利用该网页浏览设定子类配置该安卓网页浏览组件;
利用一网页技术开发该安卓电视混合型应用程序的一网页界面,其中该网页界面属于该安卓电视混合型应用程序的一网页端;
利用该安卓网页浏览组件加载并显示该网页界面;
于该安卓端中创建一第一Java对象以定义该安卓端与该网页端之间的至少一沟通方法,以及创建一第二Java对象以实现该第一Java对象所定义的一安卓端接口,从而利用该第一Java对象与该第二Java对象,让该网页端能够调用该安卓端接口;以及
于该安卓端置入一封装好的Java类用于发送信息给该网页端,并于该网页端置入一封装好的JavaScript模块用于维护一监听列表以处理该信息,从而利用该封装好的Java类与该封装好的JavaScript模块,让该安卓端能够反馈该信息给该网页端。
2.根据权利要求1所述的安卓电视混合型应用程序开发方法,其中生成该安卓网页浏览组件的方法包含下列其中之一:在该安卓活动中生成该安卓网页浏览组件;以及添加该安卓网页浏览组件至该安卓活动的一布局文件里。
3.根据权利要求1所述的安卓电视混合型应用程序开发方法,其中配置该安卓网页浏览组件的步骤包含:使该安卓网页浏览组件支持JavaScript、允许通过一以文件开通的通用资源定位地址加载的该JavaScript读取一本地文件、以及允许通过该资源定位地址加载的该JavaScript访问其它资源。
4.根据权利要求1所述的安卓电视混合型应用程序开发方法,其中该网页技术包含下列至少其中之一:超文本标记语言;阶层样式表;以及JavaScript。
5.根据权利要求1所述的安卓电视混合型应用程序开发方法,其中利用该第一Java对象与该第二Java对象以让该网页端能够调用该安卓端接口的步骤包含:
将该第二Java对象当做一监听者并注册该监听者的信息于该第一Java对象中;
利用该安卓网页浏览组件以将该第一Java对象注入该网页端的一JavaScript上下文中;
令该网页端的该封装好的JavaScript模块依据该安卓网页浏览组件的一参数,访问该安卓端的该第一Java对象,并调用该安卓端接口;以及
令该第一Java对象依据该监听者的信息,调用该第二Java对象所定义的至少一实施内容。
6.根据权利要求1所述的安卓电视混合型应用程序开发方法,其中利用该封装好的Java类与该封装好的JavaScript模块以让该安卓端能够反馈该信息给该网页端的步骤包含:
允许该网页端的一监听者创建一监听事件,并注册该监听事件的信息于该封装好的JavaScript模块中;
令该安卓端利用该封装好的Java类以发送该信息给该网页端;以及
于该网页端的该封装好的JavaScript模块收到该信息后,令该封装好的JavaScript模块依据注册信息分派该信息。
7.根据权利要求6所述的安卓电视混合型应用程序开发方法,其中该监听者为另一JavaScript模块。
8.根据权利要求6所述的安卓电视混合型应用程序开发方法,其中让该安卓端能够反馈该信息给该网页端的步骤进一步包含:在注册该监听事件的信息于该封装好的JavaScript模块中之前,令该监听者初始化一事件识别码,以及提供对应该事件识别码的一响应函数。
9.根据权利要求8所述的安卓电视混合型应用程序开发方法,其中令该封装好的JavaScript模块依据该注册信息分派该信息的步骤包含:若该信息对应该事件识别码,依据该事件识别码将该信息分派给该监听者所提供的该响应函数,以让该响应函数处理该信息。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111065683.5A CN115794046A (zh) | 2021-09-10 | 2021-09-10 | 安卓电视混合型应用程序开发方法 |
TW110139121A TWI792626B (zh) | 2021-09-10 | 2021-10-21 | 安卓電視混合型應用程式開發方法 |
US17/897,411 US11966734B2 (en) | 2021-09-10 | 2022-08-29 | Method for developing Android TV hybrid application |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111065683.5A CN115794046A (zh) | 2021-09-10 | 2021-09-10 | 安卓电视混合型应用程序开发方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115794046A true CN115794046A (zh) | 2023-03-14 |
Family
ID=85417237
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111065683.5A Pending CN115794046A (zh) | 2021-09-10 | 2021-09-10 | 安卓电视混合型应用程序开发方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11966734B2 (zh) |
CN (1) | CN115794046A (zh) |
TW (1) | TWI792626B (zh) |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8978023B2 (en) * | 2011-12-29 | 2015-03-10 | Oracle International Corporation | Canonical mechanism for securely assembling features into a mobile application |
US8887178B1 (en) * | 2012-10-23 | 2014-11-11 | Google Inc. | Method to customize native operating system views using web technologies in mobile devices |
CN104636139B (zh) * | 2015-01-26 | 2018-05-15 | 北京邮电大学 | 一种可视化跨平台移动应用开发与生成*** |
CN105100191B (zh) * | 2015-05-22 | 2018-09-21 | 华为技术有限公司 | 一种云编译实现Java应用安装的方法、装置及*** |
US10397331B2 (en) * | 2016-01-29 | 2019-08-27 | General Electric Company | Development platform for industrial internet applications |
US20190179620A1 (en) * | 2017-12-07 | 2019-06-13 | Paypal, Inc. | Modular Web Content Software Architecture |
TWI706092B (zh) * | 2019-04-25 | 2020-10-01 | 世德工業股份有限公司 | 複合螺帽之製造方法 |
-
2021
- 2021-09-10 CN CN202111065683.5A patent/CN115794046A/zh active Pending
- 2021-10-21 TW TW110139121A patent/TWI792626B/zh active
-
2022
- 2022-08-29 US US17/897,411 patent/US11966734B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
TWI792626B (zh) | 2023-02-11 |
US11966734B2 (en) | 2024-04-23 |
US20230084933A1 (en) | 2023-03-16 |
TW202311936A (zh) | 2023-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108319483B (zh) | 网页处理方法、装置、终端及存储介质 | |
EP2129148B1 (en) | Content distribution system | |
TWI654860B (zh) | Hybrid application client resource calling method, client and system | |
CN110601952A (zh) | 多渠道消息通知发送方法和装置 | |
CN107741844B (zh) | 一种应用安装包的生成方法和装置 | |
US20130104200A1 (en) | Apparatus and method for controlling access to multiple services | |
CN105718313A (zh) | 应用操作方法和装置 | |
CN107729014B (zh) | 一种基于Android的页面跳转方法及结构 | |
CN103167031A (zh) | Web应用之间的通信 | |
CN101115180B (zh) | 一种电子节目菜单***及其功能模块动态加载运行方法 | |
CN100465950C (zh) | 用于客户支持的web浏览器控件 | |
CN114979984A (zh) | 消息的传输方法及装置 | |
CN108933947B (zh) | 弹幕显示方法及装置 | |
KR101290977B1 (ko) | 푸쉬 서버를 이용한 메시지 전송 방법 및 그 시스템 | |
RU2665240C2 (ru) | Способ и устройство вставки страницы | |
CN109327530B (zh) | 一种信息处理方法、装置、电子设备和存储介质 | |
WO2012001456A2 (en) | System and method for providing end to end interactive mobile applications using sms | |
CN114979989A (zh) | 5g消息回落方法、***及装置 | |
CN108052401B (zh) | ***属性监听方法、终端设备及计算机可读存储介质 | |
KR101349201B1 (ko) | 모바일 단말에서 웹브라우저와 로컬 리소스의 연동 장치 및 그 방법 | |
CN115794046A (zh) | 安卓电视混合型应用程序开发方法 | |
CN103425473A (zh) | 一种开放式微博的实现方法和*** | |
CN105488199A (zh) | 混合表单处理方法、装置以及移动终端 | |
CN113572676B (zh) | 一种邮件处理方法及装置 | |
CN102075646B (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 |