论坛首页 移动开发技术论坛

Kuix安装指导

浏览 7473 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-11-05  

    看到有人询问Kuix安装,而且运行Demo出现问题,其实在用过的几个UI包中,Kuix算是安装最简单的了,基本上只要包括Kuix和Kutil两个jar包就可以,这两个包在http://www.kalmeo.org/projects/kuix/download可以下载,其中Kutil提供基础类库,比如Textarea中的xml解析器就在这个包中,同时建议下载源代码,因为要做比较强大应用的话,这个包还是有不少问题的,不是bug,而是功能较弱,以后我会专门出一篇介绍Kuix的不足之处和改善方法.安装步骤如下:

    下载最新的WTK,并安装,配置(具体搜索相关的文章),注意网上部分开源J2ME的包对于低版本的WTK是不能运行的,目前我用的是2.5.2.

    引入Kuix,Kutil包,并做下图的配置.记得不要把J2ME的包删掉,Kuix还是基于J2Me的包的,虽然不用直接继承J2ME的任何基类.

    新建Midlet suit,接着不用新建Midlet了,而是继承KuixMIDlet,然后依照指南建立Frame和XML

midlet代码,需要加载fram和css样式,直接复制KuixDemo的样式和图片即可.

public class Helloworld extends KuixMIDlet {

	public Helloworld() {
		// TODO Auto-generated constructor stub
	}

	public void initDesktopContent(Desktop arg0) {
		Kuix.getFrameHandler().pushFrame(new HelloworldFrame());
	}

	public void initDesktopStyles() {
		Kuix.loadCss("style.css");		
	}

}

 frame代码,这是我演示动态数据绑定的demo:

public class HelloworldFrame implements Frame {

	public void onAdded() {
		// TODO Auto-generated method stub
		Screen screen = Kuix.loadScreen("hello.xml", null);
	    screen.setCurrent();		

	}

	public boolean onMessage(Object identifier, Object[] arguments) {
		// TODO Auto-generated method stub
	    if ("about".equals(identifier)) {
	        Kuix.alert(Kuix.getMessage("CREDITS"), KuixConstants.ALERT_OK);
	        return false;
	    }
	    if ("exitConfirm".equals(identifier)) {
	        // display a popup message
	        Kuix.alert(Kuix.getMessage("EXIT_CONFIRM"), KuixConstants.ALERT_YES | KuixConstants.ALERT_NO, "exit", null);
	        return false;
	    }
	    if ("exit".equals(identifier)) {
	        // get the midlet instance to invoke the Destroy() method
	        Helloworld.getDefault().destroyImpl();
	        //if the event has been processed, we return 'false' to avoid event forwarding to other frames
	        return false;
	    }
	    
	    if ("showDynamic".equals(identifier)) {
	        Kuix.getFrameHandler().pushFrame(new Dynamic());
	        return false;
	    }
	    
	    if ("showCombo".equals(identifier)) {
	        Kuix.getFrameHandler().pushFrame(new combo());
	        return false;
	    }

	    // return "true" makes the FramHandler to forward the message to the next frame in the stack 
	    return true;
	}

	public void onRemoved() {
		// TODO Auto-generated method stub

	}

}

 hello.xml

<?xml version="1.0" encoding="UTF-8"?>
<screen shortcuts="1=about|back=exitConfirm|0=exitConfirm">
	<_title>%HELLOWORLD%</_title>
    <container style="layout:inlinelayout(false,fill); align:center">
        <text><_text>%HELLOWORLD%</_text></text>
        <picture src="logo.png" />
        <button onAction="showDynamic">%DYNAMIC_DISPLAY%</button>
        <button onAction="showCombo">combo dynamic</button>
        <button onAction="about">%ABOUT%</button>
		<button onAction="exitConfirm">%EXIT%</button>
    </container>
    
	<screenFirstMenu onAction="exit">Exit</screenFirstMenu>
	<screenSecondmenu>
	    %MORE%
	    <menuPopup>
	        <menuItem onAction="about" shortcuts="1">
	            %ABOUT%
	        </menuItem>
	        <menuItem onAction="exitConfirm" shortcuts="back|0">
	            %EXIT%
	        </menuItem>
	    </menuPopup>
	</screenSecondmenu>   
</screen>

 这样就可以运行了.另外如果需要修改代码的话建立添加source link,选择项目,右键,properties,java build path,source标签,点link source按钮,添加Kuix和Kutil源码的目录,这样就可以多个项目共享Kuix的源码,又可以方便的直接修改源码.

  • 大小: 55.9 KB
  • 大小: 7.1 KB
   发表时间:2010-05-27  
大侠,有个问题跟您请教,下面这行代码:
Kuix.alert(Kuix.getMessage("CREDITS"), KuixConstants.ALERT_OK);  
执行的时候,当弹出此alert时,左下角将显示“ok”,如何更改为中文?
谢谢!
0 请登录后投票
   发表时间:2010-05-27   最后修改:2010-05-27
好像有个多国语音的配置文件,好久没做了,忘记了。

好像官方的入门教程上有。
0 请登录后投票
   发表时间:2010-05-28  
很简单,修改源代码,里面有个const的常数单元
0 请登录后投票
   发表时间:2010-05-28   最后修改:2010-05-28
shappy1978 写道
很简单,修改源代码,里面有个const的常数单元

谢谢指点!
通过在KuixConstants中修改源代码,可以更改“ok”为中文。
不过对于“SELECT”,只需要在messages.properties中修改value值即可,而只在此配置文件修改“OK”的value值,不能实现中文显示。为什么?两者的实现方式有什么区别么?

还有一个问题是,在.css文件中,可以设置屏幕的背景颜色,可以设置屏幕的背景图片么?如何设置?望不吝赐教。
0 请登录后投票
   发表时间:2010-05-28  
看demo吧,看完它就可以大致学会所有的组件用法了
0 请登录后投票
   发表时间:2010-05-29  
好像不需要修改源码也可以的。
0 请登录后投票
   发表时间:2010-06-03  
我把kuix下载下来后,里面没有
/*     */ import org.kalmeo.util.worker.Worker;
/*     */ import org.kalmeo.util.worker.WorkerErrorListener;
/*     */ import org.kalmeo.util.worker.WorkerTask;
请问这个包在那里获取.
0 请登录后投票
   发表时间:2010-06-03  
Kuix有2个包,一个是kuix
还有个是工具包,叫kutil
你需要的这些在kutil里面
0 请登录后投票
   发表时间:2010-06-19   最后修改:2010-06-20
请问textfield这个tag怎么控制长度?

我看了你的一片博客说要修改kuix的源码,加上fixWidth属性,请问还有其他方式不??
0 请登录后投票
论坛首页 移动开发技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics