关闭

测试phoneme advance(DirectFB)运行环境

标签: 测试classimportjavamakefileconstants
4476人阅读 评论(2) 收藏 举报
分类:

测试phoneme advance(DirectFB)运行环境

转载时请注明出处和作者联系方式
作者联系方式:李先静 <xianjimli at hotmail dot com>

在上文中,我们顺利完成了phoneme advance的编译,我对phoneme了解不多,怎么验证JVM否工作正常呢?对于JAVA程序员来说,这只是小事一桩,呵,对我来说,却是高深得不得了。花了好长时间才折腾出来,这里做点笔记,供下一个JAVA盲参考。

  1. 先设置环境变量

    export PREFIX=/usr/local

    export JDK_DIR=/usr/share/j2sdk1.4.2_15

    export PATH=$JDK_DIR/bin:$PREFIX/java/cdc/bin:$PREFIX/java/cdc/midp/midp_linux_fb_gcc/bin/i386 :$PATH


  1. 测试CVM

  • 先写个最简单的HelloWorld程序,文件名为HelloWorld.java


class HelloWorld
{
    
public static void main(String argv[])
    
{
        System.out.println(
"HelloWorld");
    }

}
;
  • 再写个Makefile

JFLAGS=-bootclasspath $(PREFIX)/java/cdc/btclasses:$(PREFIX)/java/cdc/midp/midp_linux_fb_gcc/classes

.SUFFIXES: .class .java
.java.class:
    javac $(JFLAGS) $
<

all
: HelloWorld.class

clean
:
    rm 
-*.class *.jar

这里要设置好bootclasspath,让它能连接phonemeclass

  • 编译

    make

  • 运行

    cvm HelloWorld

(顺利的话,会打印出HelloWorld)

  1. 测试MIDlet

  • 先写个最简单的HelloWorld程序,文件名为HelloWorld.java

import javax.microedition.midlet.MIDlet;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Form;

public class HelloWorld extends MIDlet implements CommandListener
{
   
private Form form;

   
public HelloWorld()
   
{
      form 
= new Form("Test App");
      form.append(
"Hello World!");
      form.addCommand( 
new Command( "Exit", Command.EXIT, 1 ) );
      form.setCommandListener( 
this );
   }


   
public void startApp()
   
{
      Display display 
= Display.getDisplay(this);
      display.setCurrent( form );
   }


   
public void pauseApp()
   
{
   }


   
public void destroyApp(boolean unconditional)
   
{
      form 
= null;
   }


   
public void commandAction(Command c, Displayable d)
   
{
      destroyApp(
true);
      notifyDestroyed();
   }

}
  • 再写个META-INF/MANIFEST.MF

Manifest-Version: 1.0 
MIDlet
-Name: HelloWorld 
MIDlet
-1: HelloWorld,/icon.png,HelloWorld 
MIDlet
-Version: 1.0 
MIDlet
-Vendor: Li XianJing 
MIDlet
-Icon: /icon.png 
MicroEdition
-Profile: MIDP-1.0 
MicroEdition
-Configuration: CLDC-1.0 
  • 再写个Makefile

    JFLAGS=-bootclasspath $(PREFIX)/java/midp/classes:$(PREFIX)/java/cdc/btclasses

    .SUFFIXES: .
    class .java
    .java.
    class:
        javac $(JFLAGS) $
    <

    all: HelloWorld.
    class
        zip HelloWorld.jar HelloWorld.
    class META-INF/MANIFEST.MF

    clean:
        rm 
    -*.class *.jar

  • 修改DirectFB的配置/etc/directfbrc

    system=sdl

    mode=240x320

  • 安装midlet

    installMidlet file:////root/work/java/test/midlet/HelloWorld.jar

    (好像只有绝对路径才可以)

    安装之后,屏幕上会打印出该midletID,在运行和卸载时需要它。

  • 运行midlet

    runMidlet 2 HelloWorld

(这里的2就是前面安装的ID,正常的话会有图形窗口出来)

  • 卸载midlet

    removeMidlet 2

窗口的宽度和高度可以修改相应的constants.xml文件,在编译时该文件用来产生头文件 midp_constants_data.h

~~end~~

 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:3877957次
    • 积分:46703
    • 等级:
    • 排名:第69名
    • 原创:664篇
    • 转载:66篇
    • 译文:1篇
    • 评论:3099条
    最新评论