`
yonglin4605
  • 浏览: 187183 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

WebOS中的应用程序的开发

阅读更多
在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());
向系统添加你的应用程序。
分享到:
评论

相关推荐

    palm webos开发手册

    开发者主要使用HTML、CSS和JavaScript进行编程,这使得WebOS应用程序具有跨平台的潜力,因为这些技术在Web开发中广泛使用。WebOS 提供了Enyo库,一个专门设计用于构建WebOS应用的JavaScript框架。 ### 2. Mojo SDK ...

    webos.rar_ WebOS_web OS _webos_webos c

    WebOS的核心理念是将传统的桌面操作系统体验移植到Web环境中,用户可以通过Web浏览器访问各种应用程序,无需在本地设备上安装。这种模式具有跨平台、易于更新和维护的优势。在描述中提到的"ajax的一个webos程序",...

    iejoyswebos for .net WEBOS桌面开发框架程序

    iejoyswebos for .net 桌面开发框架程序是一个仿Window Vista的Web桌面开发系统 建议使用IE7或火狐浏览器! 本程序使用了EXTJS3.3最新版本!并对EXTJS中原有的一些不适合大型项目使用的方法进行了改写,具体有: 1...

    webos:WebOS应用

    JavaScript在WebOS应用开发中的角色至关重要。它是WebOS应用的主要编程语言,负责处理业务逻辑、用户交互和数据管理。通过使用异步编程模型,JavaScript可以实现非阻塞I/O操作,确保应用在等待网络响应时仍能保持...

    WEBos网页操作系统

    对于开发者而言,WebOS则是一个平台,用于创建和部署网络应用程序,简化了开发过程,使开发者能够专注于应用程序本身的功能开发。 #### 二、WebOS的基本结构 WebOS的基本结构遵循客户端-服务器模型,其中客户端...

    crunchyroll-webos:适用于Crunchyroll的非官方WebOS TV应用程序。 您将永远需要的最后一个应用程序

    Crunchyroll-WebOS TV应用程序 适用于Crunchyroll的非官方WebOS TV应用程序。 您将永远需要的最后一个Crunchyroll应用程序! 用法-每个人 只需在WebOS电视上打开浏览器,然后导航到 。 添加到收藏夹并享受! 用法-...

    2014值得推荐的10个移动 Web 应用程序开发框架

    移动 Web 应用程序开发框架在过去的十年中已经成为开发者的重要工具,尤其是在2014年,随着移动互联网的快速发展,这些框架为高效构建跨平台的移动应用提供了强大的支持。以下是一些值得推荐的移动 Web 开发框架,...

    WebOS Handbook

    通过以上对 eyeOS 开发手册的分析,我们可以了解到 eyeOS 应用程序开发的基本框架和流程。从 XML 配置文件到 PHP 代码,再到外部资源文件的使用,每一个环节都是构建一个功能完整、用户体验良好的 eyeOS 应用程序不...

    10大优秀的移动Web应用程序开发框架推荐

    ### 10大优秀的移动Web应用程序开发框架推荐 随着移动互联网技术的快速发展,移动Web应用程序的需求日益增长。本文将详细介绍10个优秀的移动Web应用程序开发框架,这些框架可以帮助开发者更高效地开发移动Web应用。...

    webos jquery

    "轻量级的jQuery制作"则强调了在保持性能的同时,如何巧妙地运用jQuery的核心特性来设计和构建应用程序,避免不必要的资源消耗,确保在WebOS上的流畅运行。 【标签】"WebOS桌面"是这个项目的关键标签,它表明我们...

    WebOS素材图片

    5. **应用程序界面**:WebOS的应用程序通常有统一的设计规范,素材图片会展示这些应用的界面布局、色彩搭配以及按钮、输入框等控件设计。 6. **多任务卡片**:WebOS的一大特色是其卡片式多任务管理,用户可以通过...

    webOS.rar_ WebOS

    WebOS最初由Palm公司开发,旨在提供一种全新的移动设备体验,通过浏览器即可运行各种应用程序。在2010年,惠普公司收购了Palm,WebOS也成为了惠普的一部分。然而,尽管WebOS在设计上具有创新性,如卡片式多任务管理...

    积木WebOS客户端.NET版

    "积木WebOS客户端.NET版"是一款专为"积木在线电脑"设计的本地应用程序,旨在提供更加便捷、高效的Web操作系统体验。这款客户端基于.NET框架开发,充分利用了.NET平台的强大功能,为用户提供了与WebOS无缝对接的交互...

    webOS刷机、同步驱动nocacomd

    webOS的核心设计理念是提供流畅的用户体验和强大的应用程序平台,尤其适合智能设备,如智能手机和平板电脑。在进行webOS设备的刷机或恢复操作时, nocacomd(Novacom)驱动扮演了关键角色。 Novacom是webOS设备与...

    Palm_webOS_Rough_Cuts.pdf

    JavaScript是webOS应用开发的关键语言,因此这个文档可能深入介绍了JavaScript在构建webOS应用程序中的作用以及其独特之处。 JavaScript是一种广泛用于网页开发的脚本语言,由Brendan Eich在网景公司(Netscape)...

    新时代新潮流WebOS.pdf

    首先,WebOS是一种基于Web技术的操作系统,它的核心理念是将所有的应用程序都构建为Web应用,用户无需安装即可通过浏览器进行使用。这种模式极大地简化了软件的分发和更新,同时降低了用户的使用门槛。WebOS强调跨...

    bitmovin-player-webos-demo:如何在LG WebOS设备上使用Bitmovin Web SDK的示例应用程序

    在WebOS IDE中使用示例应用程序 下载 使用webOS IDE打开示例应用程序 连接电视设备。 本是一个很好的参考 将播放器密钥输入src/main.js 运行/调试示例应用程序。 如果您进行调试,则会看到Chrome开发人员工具启动...

    在线操作系统 WEBOS

    在线操作系统 WEBOS 是基于浏览器的虚拟操作系统,用户可以通过浏览器登录到虚拟桌面,运行网络应用程序。这种操作系统的出现将带来根本性的变革,因为用户只需要一个浏览器就可以运行操作系统,不需要安装各种应用...

Global site tag (gtag.js) - Google Analytics