在WebOS中开发应用程序
认识抽象类Application
操作系统接受实现了Application的类,
通过调用install()方法来安装应用程序
调用uninstall()方法来卸载应用程序
package com.single.os.core.client;
public abstract class Application {
protected boolean installed=false;
protected String prefix;
public String getPrefix() {
return prefix;
}
public Application(String prefix){
this.prefix=prefix;
}
public boolean isInstalled() {
return installed;
}
/**
* 安装程序
* @return
*/
abstract boolean install();
/**
* 卸载程序
* @return
*/
abstract boolean uninstall();
}
对于简单的应用程序,我们提供了SimapleApplication类
里面包括了主要的几个属性,
包括控制器,程序菜单项,命令集
你只需要创建一个类继承SimpleApplication
覆写initial()方法,在里面赋值controller,appMenuItem以及用过addCommand方法添加命令即可
其中controller是控制器,使用此对象,你需要先了解GXT的MVC架构
appMenuItem是你的程序菜单,会加在:开始->程序 里面。
addCommand方法则是在系统中注册你的命令,详见Command介绍的相关文章
package com.single.os.core.client;
import java.util.HashMap;
import com.extjs.gxt.ui.client.Registry;
import com.extjs.gxt.ui.client.mvc.Controller;
import com.extjs.gxt.ui.client.mvc.Dispatcher;
import com.extjs.gxt.ui.client.widget.menu.MenuItem;
import com.single.os.core.client.ui.desktop.Desktop;
public class SimpleApplication extends Application{
public SimpleApplication(String prefix) {
super(prefix);
}
private static int increase=1;
protected String baseStyle="module"+increase++;
/**
* 控制器
*/
protected Controller controller;
/**
* 向开始菜单->程序->中添加的菜单项
*/
protected MenuItem appMenuItem;
/**
* 在系统中注册命令集
*/
private HashMap<String, CommandExecute> commands=new HashMap<String, CommandExecute>();
public void addCommand(String command,CommandExecute execute){
commands.put(command, execute);
}
//需要你覆写的方法,在此方法中设置你的配置
protected void initial(){
}
@Override
boolean install() {
if(installed){
return false;
}
initial();
//加载控制器
if(controller!=null){
Dispatcher.get().addController(controller);
}
//加载开始菜单
if(appMenuItem!=null){
Desktop desktop=Registry.get(OS.DESKTOP);
desktop.getStartMenu().addApplicationMenuItem(appMenuItem);
}
//加载命令
if(commands.size()>0){
for(String command:commands.keySet()){
CommandCollection.add(command, commands.get(command));
}
}
installed=true;
return true;
}
@Override
boolean uninstall() {
if(!installed){
return false;
}
//卸载控制器
if(controller!=null){
Dispatcher.get().removeController(controller);
}
//卸载命令
if(commands.size()>0){
for(String command:commands.keySet()){
CommandCollection.remove(command);
}
}
installed=false;
return true;
}
}
你可以建一个类YourApplication继承SimpleApplication
然后在initial()方法中设置相关内容后,
在OS系统中添加该应用程序即可
OS.addApplication(new YourApplication());
如何创建一个格式良好的应用程序
所谓格式良好的应用程序,是指该程序独立,模块化程度好,依赖关系简单清晰。
即只要被人在gwt.xml中继承你这个模块,你的系统就能自动安装并生效。
一般的,一个应用程序对应一个模块。
新建一个模块,然后对应该模块创建一个入口EntryPoint
其中的方法onMouldeLoad就是程序进入你这个模块时会调用的方法。
你可以在这里面初始化你的模块或应用程序。
比如创建自己的Application,
然后调用OS.addApplication(new YourApplication());
向系统添加你的应用程序。
分享到:
相关推荐
开发者主要使用HTML、CSS和JavaScript进行编程,这使得WebOS应用程序具有跨平台的潜力,因为这些技术在Web开发中广泛使用。WebOS 提供了Enyo库,一个专门设计用于构建WebOS应用的JavaScript框架。 ### 2. Mojo SDK ...
WebOS的核心理念是将传统的桌面操作系统体验移植到Web环境中,用户可以通过Web浏览器访问各种应用程序,无需在本地设备上安装。这种模式具有跨平台、易于更新和维护的优势。在描述中提到的"ajax的一个webos程序",...
iejoyswebos for .net 桌面开发框架程序是一个仿Window Vista的Web桌面开发系统 建议使用IE7或火狐浏览器! 本程序使用了EXTJS3.3最新版本!并对EXTJS中原有的一些不适合大型项目使用的方法进行了改写,具体有: 1...
JavaScript在WebOS应用开发中的角色至关重要。它是WebOS应用的主要编程语言,负责处理业务逻辑、用户交互和数据管理。通过使用异步编程模型,JavaScript可以实现非阻塞I/O操作,确保应用在等待网络响应时仍能保持...
对于开发者而言,WebOS则是一个平台,用于创建和部署网络应用程序,简化了开发过程,使开发者能够专注于应用程序本身的功能开发。 #### 二、WebOS的基本结构 WebOS的基本结构遵循客户端-服务器模型,其中客户端...
Crunchyroll-WebOS TV应用程序 适用于Crunchyroll的非官方WebOS TV应用程序。 您将永远需要的最后一个Crunchyroll应用程序! 用法-每个人 只需在WebOS电视上打开浏览器,然后导航到 。 添加到收藏夹并享受! 用法-...
移动 Web 应用程序开发框架在过去的十年中已经成为开发者的重要工具,尤其是在2014年,随着移动互联网的快速发展,这些框架为高效构建跨平台的移动应用提供了强大的支持。以下是一些值得推荐的移动 Web 开发框架,...
通过以上对 eyeOS 开发手册的分析,我们可以了解到 eyeOS 应用程序开发的基本框架和流程。从 XML 配置文件到 PHP 代码,再到外部资源文件的使用,每一个环节都是构建一个功能完整、用户体验良好的 eyeOS 应用程序不...
### 10大优秀的移动Web应用程序开发框架推荐 随着移动互联网技术的快速发展,移动Web应用程序的需求日益增长。本文将详细介绍10个优秀的移动Web应用程序开发框架,这些框架可以帮助开发者更高效地开发移动Web应用。...
"轻量级的jQuery制作"则强调了在保持性能的同时,如何巧妙地运用jQuery的核心特性来设计和构建应用程序,避免不必要的资源消耗,确保在WebOS上的流畅运行。 【标签】"WebOS桌面"是这个项目的关键标签,它表明我们...
5. **应用程序界面**:WebOS的应用程序通常有统一的设计规范,素材图片会展示这些应用的界面布局、色彩搭配以及按钮、输入框等控件设计。 6. **多任务卡片**:WebOS的一大特色是其卡片式多任务管理,用户可以通过...
WebOS最初由Palm公司开发,旨在提供一种全新的移动设备体验,通过浏览器即可运行各种应用程序。在2010年,惠普公司收购了Palm,WebOS也成为了惠普的一部分。然而,尽管WebOS在设计上具有创新性,如卡片式多任务管理...
"积木WebOS客户端.NET版"是一款专为"积木在线电脑"设计的本地应用程序,旨在提供更加便捷、高效的Web操作系统体验。这款客户端基于.NET框架开发,充分利用了.NET平台的强大功能,为用户提供了与WebOS无缝对接的交互...
webOS的核心设计理念是提供流畅的用户体验和强大的应用程序平台,尤其适合智能设备,如智能手机和平板电脑。在进行webOS设备的刷机或恢复操作时, nocacomd(Novacom)驱动扮演了关键角色。 Novacom是webOS设备与...
JavaScript是webOS应用开发的关键语言,因此这个文档可能深入介绍了JavaScript在构建webOS应用程序中的作用以及其独特之处。 JavaScript是一种广泛用于网页开发的脚本语言,由Brendan Eich在网景公司(Netscape)...
首先,WebOS是一种基于Web技术的操作系统,它的核心理念是将所有的应用程序都构建为Web应用,用户无需安装即可通过浏览器进行使用。这种模式极大地简化了软件的分发和更新,同时降低了用户的使用门槛。WebOS强调跨...
在WebOS IDE中使用示例应用程序 下载 使用webOS IDE打开示例应用程序 连接电视设备。 本是一个很好的参考 将播放器密钥输入src/main.js 运行/调试示例应用程序。 如果您进行调试,则会看到Chrome开发人员工具启动...
在线操作系统 WEBOS 是基于浏览器的虚拟操作系统,用户可以通过浏览器登录到虚拟桌面,运行网络应用程序。这种操作系统的出现将带来根本性的变革,因为用户只需要一个浏览器就可以运行操作系统,不需要安装各种应用...