1,混淆时堆栈溢出的解决办法(jre1.5适用,其他没试过):
window-preferences-java-installed jres-edit把 default vm arguments设为:-xss1024k
2,如何使defaultcolorphone变成触摸屏?
用记事本打开c:/wtk25/wtklib/devices/defaultcolorphone/defaultcolorphone.properties,将里面的touch_screen=false改成true
3,四级灰度的颜色值怎么表示?
private final static int white_color = 0x00ffffff;
private final static int light_gray = 0x00888888;
private final static int dark_gray = 0x00444444;
private final static int black_color = 0x00000000;
4,如何读取手机的imei ?
一般手机按"*#06#"就可得到imei码,每个手机是唯一的。
moto系列的可以通过读取系统的imei属性获得
string imei = system.getproperty("imei");
siemens系列的可以通过读取系统的com.siemens.imei属性获得
string imei = system.getproperty("com.siemens.imei");
nokia
string imei = system.getproperty("com.nokia.mid.imei");
注:不是所有都能读取到
5,j2me中文问题的解决方案
public string readfromfile(string filename)
{
string returnstring = null;
inputstream is = getclass().getresourceasstream(filename);
if (is != null)
{
bytearrayoutputstream baos = new bytearrayoutputstream();
int ch = 0;
try
{
while ((ch = is.read()) != -1)
{
baos.write(ch);
}
byte[] data = baos.tobytearray();
returnstring = new string(data, "utf-8");
is.close();
baos.close();
} catch (ioexception e)
{
e.printstacktrace();
}
}
return returnstring;
}
6,如何高效地判断奇数和偶数?
一般的处理做法是用这个整数和2取模。然后判断是等于1还是等于0。
大家都知道,奇数的最低位一定是1,而偶数的最低位一定是0.所以我们可以根据这个特性,让需要判定的整数和1进行“与”运算,这样就只留下了原数的最低位,然后直接判断这个数等于1还是等于0即可。
/*
/// 判断一个整数是奇数还是偶数。
* /
static public bool iseven(int a)
{
if ((a & 1) == 0)
{
return true;
}
else
{
return false;
}
}
static public bool isodd(int a)
{
return !iseven(a);
}
}
7,在j2me网络编程中使用cmwap代理
在中国移动提供的网络连接中,分为cmnet和cmwap两种,其中cmnet可以无限制的访问互联网络,资费比较贵。cmwap类似一个http的代码,只能访问支持http的应用,但是资费便宜,稳定性比较差。
在实际的j2me网络编程中,一般需要提供以cmwap代理的方式连接网络,在j2me中,连接的代码和直接连接有所不同,代码如下:
c= (httpconnection)connector.open("http://10.0.0.172:80/1.png,connector.read,true);
c.setrequestproperty("x-online-host", "211.136.87.234");
c.setrequestproperty("accept", "*/*");
is = c.openinputstream();
10.0.0.172是移动的cmwap网关。
8,在j2me联网应用中获得客户端的手机号码
在j2me程序开发过程中,为了一定的需要,经常需要来获得用户的手机号码,但是这个功能却在标准的j2me类库中没有提供。
在使用中国移动的cmwap方式连接网络时,中国移动会将用户的手机号码放在一个名称为x-up-calling-line-id的头信息中,可以通过读取该头信息,获得用户的手机号码,具体代码如下:
string usermphone = http.getheader("x-up-calling-line-id");
其中http是httpconnction类型的对象。
9,sonyericssonwtk不能正常显示中文的问题
sun发布的wtk模拟器是支持中文的,但是sprint和sonyericsson提供的sdk不支持中文,但是他们有一个共同的特点就是基于wtk,因此让他们支持中文也并不复杂。只要按照下面的方式即可。
将c:/sonyericsson/j2me_sdk/pc_emulation/wtk2/wtklib/devices/sonyericsson_k750.properties文件中的font部分用以下部分代替:
font.default=宋体-plain-12
font.softbutton=宋体-plain-12
font.system.plain.small: 宋体-plain-12
font.system.plain.medium: 宋体-plain-12
font.system.plain.large: 宋体-plain-12
font.system.bold.small: 宋体-bold-12
font.system.bold.medium: 宋体-bold-12
font.system.bold.large: 宋体-bold-14
font.system.italic.small: 宋体-italic-12
font.system.italic.medium: 宋体-italic-12
font.system.italic.large: 宋体-italic-14
font.system.bold.italic.small: 宋体-bolditalic-12
font.system.bold.italic.medium: 宋体-bolditalic-12
font.system.bold.italic.large: 宋体-bolditalic-14
font.monospace.plain.small: 宋体-plain-12
font.monospace.plain.medium: 宋体-plain-12
font.monospace.plain.large: 宋体-plain-14
font.monospace.bold.small: 宋体-bold-12
font.monospace.bold.medium: 宋体-bold-12
font.monospace.bold.large: 宋体-bold-14
font.monospace.italic.small: 宋体-italic-12
font.monospace.italic.medium: 宋体-italic-12
font.monospace.italic.large: 宋体-italic-14
font.monospace.bold.italic.small: 宋体-bolditalic-12
font.monospace.bold.italic.medium: 宋体-bolditalic-12
font.monospace.bold.italic.large: 宋体-bolditalic-14
font.proportional.plain.small: 宋体-plain-12
font.proportional.plain.medium: 宋体-plain-12
font.proportional.plain.large: 宋体-plain-14
font.proportional.bold.small: 宋体-bold-12
font.proportional.bold.medium: 宋体-bold-12
font.proportional.bold.large: 宋体-bold-14
font.proportional.italic.small: 宋体-italic-12
font.proportional.italic.medium: 宋体-italic-12
font.proportional.italic.large: 宋体-italic-14
font.proportional.bold.italic.small: 宋体-bolditalic-12
font.proportional.bold.italic.medium: 宋体-bolditalic-12
font.proportional.bold.italic.large: 宋体-bolditalic-14
其中“宋体”——要显示的字体 “plain”——显示的效果 “12”显示的大小
字体可以换成任何系统中找的到的字体。
还有一种方法也可以解决此问题——把"c:/sonyericsson/javame_sdk_cldc/pc_emulation/wtk2/wtklib/devices/fonts"文件夹删除即可.
10,motorola v系列的j2me的图标显示
motorola的v系列手机j2me程序图标大小必须是15*15的大小.而且必须在midlet-icon中填出图标名字.不能只在midlet-1中填写.nokia的手机的确只填写这里就可以了.