??xml version="1.0" encoding="utf-8" standalone="yes"?>
http://code.google.com/speed/articles/
]]>
]]>
]]>
]]>try {
2 byte[] imgData = new byte[512];
3 InputStream in = Class.forName("BBUIApp").getResourceAsStream("1.jpg");
4 ByteArrayOutputStream bos = new ByteArrayOutputStream();
5 int count = -1;
6 while((count = in.read(imgData)) != -1)
7 {
8 bos.write(imgData, 0 , count);
9 }
10 byte[] img = bos.toByteArray();
11 bos.close();
12 in.close();
13 EncodedImage image = EncodedImage.createEncodedImage(img, 0, img.length);
14 image.setScale(2);
15 BitmapField f = new BitmapField();
16 f.setImage(image);
17 this.add(f);
18 } catch (Exception e) {
19
20 }
]]>public static Image createThumbnail(Image image,int width) {
int sourceWidth = image.getWidth();
int sourceHeight = image.getHeight();
int thumbWidth = width;
int thumbHeight = -1;
if (thumbHeight == -1)
thumbHeight = thumbWidth * sourceHeight / sourceWidth;
Image thumb = Image.createImage(thumbWidth, thumbHeight);
Graphics g = thumb.getGraphics();
for (int y = 0; y < thumbHeight; y++) {
for (int x = 0; x < thumbWidth; x++) {
g.setClip(x, y, 1, 1);//讄该像素点以外的区域绘制无?/span>
int dx = x * sourceWidth / thumbWidth;
int dy = y * sourceHeight / thumbHeight;
g.drawImage(image, x - dx, y - dy,Graphics.LEFT | Graphics.TOP);//重绘整张图,实际上只是重l了一个像素点
}
}
return thumb;
}
上面的代码用来在J2ME中绘制图片的~略图,CLDC1.0的用法,2.0可以直接操控像素?
]]>
public static final int KEY_SOFT2=112;//右键 键盘上面P
public static final int KEY_UP=1;//球上
public static final int KEY_DOWN=6;//球下
public static final int KEY_LEFT=2;//球左
public static final int KEY_RIGHT=5;//球右
public static final int KEY_OK=-8;//球按?/p>
]]>/**
* MidletSample.java
*
* (c) Research In Motion Limited, 2003-2004. Confidential and proprietary.
*/
import java.util.*;
import java.io.*;
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import java.lang.*;
/**
* An Example MIDlet.
* The application must extend the MIDlet class to allow the application management software to control the MIDlet.
*/
public class MidletSample extends MIDlet implements CommandListener
{
private Display display;
/**
* <p>The default constructor. Say hello world
*/
public MidletSample()
{
//create a simple screen
// Form form = new Form("Hello Form");
// form.append( new StringItem( "Hello World", null ) );
// Command back = new Command("Back", Command.BACK, 0);
// form.addCommand(back);
// form.setCommandListener(this);
// Display.getDisplay(this).setCurrent(form);
this.display = Display.getDisplay(this);
MainCanvas main = new MainCanvas(this);
Show(main);
}
public void Show(Displayable d)
{
display.setCurrent(d);
}
/**
* <p>Signals the MIDlet that it has entered the Active state.
*/
public void startApp()
{
}
/**
* <p>Signals the MIDlet to stop and enter the Pause state.
*/
public void pauseApp()
{
}
/**
* <p>Signals the MIDlet to terminate and enter the Destroyed state.
* @param unconditional When set to true, the MIDlet must cleanup and release all resources. Otherwise, the MIDlet may
* throw a MIDletStateChangeException to indicate it does not want to be destroyed at this time.
*/
public void destroyApp(boolean unconditional)
{
}
public void commandAction(Command c, Displayable d) {
// TODO Auto-generated method stub
if(c.getCommandType() == Command.BACK)
this.notifyDestroyed();
}
}
import javax.microedition.lcdui.Alert;
import javax.microedition.lcdui.Canvas;
import javax.microedition.lcdui.Graphics;
public class MainCanvas extends Canvas {
private MidletSample midletSample = null;
public MainCanvas(MidletSample midletSample)
{
this.midletSample = midletSample;
}
protected void paint(Graphics g) {
// TODO Auto-generated method stub
}
public void keyPressed(int key){
Alert al = new Alert(String.valueOf(key));
al.setTimeout(5000);
midletSample.Show(al);
}
}
]]>
利用 RIM Blackberry JDE 4.1Q您现在可以使用 NetBeans Mobility Pack 5.0 构徏 Blackberry 讑֤?Java ME 应用E序。现在分步说明如何开始操作:
1. 下蝲q安?NetBeans IDE。然后下载ƈ安装 NetBeans Mobility Pack。最后,下蝲q安?RIM BlackBerry JDE 4.1.IDE。您会用到?IDEQ因为实用工h?JDE 而不是随模拟器分布?
2. ?RIM d定义模拟器:
完成该步骤后需要重新启?NetBeans IDE?/strong>
3. 通过?Mobile cd选择 Mobile Application 选项可以创徏新项目,例如 MobileApplication2?
4. 使用 Explorer ?File 选项卡ƈ打开目?build.xml 文g。将以下代码片段d?</project> 之前Q?
<property name="rim.blackberry.home" location="C:\Program Files\Research In Motion\BlackBerry JDE 4.1.0"/> <property name="rim.blackberry.emulator" value="7250"/> <property name="rim.blackberry.jdwp.port" value="8000"/> <target name="post-jar"> <exec os="Windows NT Windows 95 Windows 98 Windows 2000 Windows XP" dir="${dist.root.dir}" executable="${rim.blackberry.home}/bin/rapc.exe" failonerror="true" resolveExecutable="true"> <arg value="import=${rim.blackberry.home}/lib/net_rim_api.jar"/> <arg value="codename=${name}"/> <arg value="-midlet"/> <arg value="jad=${dist.jad}"/> <arg value="${dist.jar}"/> </exec> <copy file="${name}.alx" todir="${dist.root.dir}"/> </target> <target name="run" depends="init,jar"> <copy todir="${rim.blackberry.home}/simulator" verbose="true"> <fileset dir="${dist.root.dir}"> <include name="**/${name}.*"/> </fileset> </copy> <exec os="Windows NT Windows 95 Windows 98 Windows 2000 Windows XP" dir="${rim.blackberry.home}/simulator" executable="${rim.blackberry.home}/simulator/${rim.blackberry.emulator}.bat" failonerror="true" resolveExecutable="true"/> </target> <target name="debug" depends="init,jar"> <copy todir="${rim.blackberry.home}/simulator" verbose="true"> <fileset dir="${dist.root.dir}"> <include name="**/${name}.*"/> </fileset> </copy> <delete file="${preprocessed.dir}/.timestamp"/> <parallel> <property name="jpda.port" value="${rim.blackberry.jdwp.port}"/> <java jar="${rim.blackberry.home}/bin/JDWP.jar" fork="true" dir="${rim.blackberry.home}/bin"> <jvmarg value="-Xmx128M"/> </java> <sequential> <sleep seconds="5"/> <antcall target="nbdebug"/> </sequential> </parallel> </target> <target name="post-clean"> <echo>Post clean</echo> <delete> <fileset dir="${rim.blackberry.home}/simulator"> <include name="**/${name}.*"/> </fileset> </delete> </target>
5. ?Files 选项卡中创徏一个名?<name_of_the_project>.alx 的新 Empty 文gQƈ使其携带以下内容存入目文g夹(?build.xml 所在的目录同Q)。当Ӟ可以更改名称来反应您的应用程序。这?Blackberry 讑֤识别应用E序详细信息所需的特D文件?
<loader version="1.0"> <application id="MobileApplication2"> <name > </name> <description > </description> <version > </version> <vendor > MyCompany </vendor> <copyright > Copyright (c) 2005 MyCompany </copyright> <fileset Java="1.5"> <directory > MyCompany </directory> <files > MobileApplication2.cod </files> </fileset> </application> </loader>6. 现在Q您已经准备完毕Q可以编写代码、构建、运行、执行和调试了。如果?a target="new">?/a>代码片段而不是步?4 中的代码片段来修?build.xml 文gQ那么您甚至可以为特定的目配置讄 RIM 执行/调试。但是,q必d使用q个片段QTest 是配|名Uͼ?build.xml 文g中执行:
<target name="init.rim.blackberry" depends="init"> <condition property="rim.blackberry" value="true"> <or> <equals arg1="Test" arg2="${config.active}"/> </or> </condition> </target>注意Q一旦开始构建项目和启动仿真器,需要滚动到应用E序的图标,该图标在仿真器打开后会昄在移动电话主屏幕上。您可以使用方向键或单击仿真器图像上的滚轮导航到应用E序图标?/em>
上文W四部分dbuild.xml的代码时h意将locationҎ你机器上的JDE地址,location="C:\Program Files\Research In Motion\BlackBerry JDE 4.7.0"/>
另外<arg value="-midlet"/>q行如果开发的是用blackberry UiApplication的应该去?否则会用mobility中的midlet,不知道这栯对不?实际操作q程中就是不除去的话,直接在BB中报错jvm104.
前一D|间rim推出了bold 9000的模拟器。让我们可以感受9000的魅力,大的分辨率Q真的让心悦目;无法多h都遇C无法模拟上网的问题,主要表现在:附带的新MDS打开后窗口一闪即逝?br />
于是本h搜烦了相兌料,q利解决了我遇到的q个问题Q?br />
问题的症l在于Bold9000需要至jdk1.6的支持,以往8800之类的模拟器只需?.5左右的即可;
解决步骤很简单:
1Q去java官方|站下蝲一个最新的1.6版本以及以上的jdkq安装,C安装路径Q下?a >点击q里Q?br />
2Q光安装q不行,q得修改本机的环境变量:
我的电脑——属性——高U——环境变量,有两个方框,扑ֈ下面pȝ变量Ҏ里面的JAVA_HOMEQ修改后面的值到刚才安装的JDK的\径:形如C:\Program Files\Java\jdk1.6.0_11Q之后重启机器;
好了Q大功告成,看看MDS是否可以启动了,启动正常后,打开bold览器,敲入|址Q蝲入正常,我的问题到这里就已经解决了?br />
关于中文昄的问?br />
可以搜烦\Research In Motion\BlackBerry JDE 4.5.0\simulator\Java下面所有的包含chinese或者ZH_CN的cod文gQ然后在打开模拟器的时候选择Load Java Programq行加蝲可以了?br />
【{帖】来?http://gceclub.sun.com.cn/NetBeans/tutorials/mobility/blackberry.html