日期:2014-05-20  浏览次数:20738 次

J2ME程序开发全方位基础讲解汇总2
十、增强J2ME的String能力——分割字符串
JAVA手机网[www.cnjm.net]  从JDK1.4以后,String类中新增了split方法来实现字符串的分割,但是在J2ME中却没有该方法(MIDP2.0中也没有实现),但是在实际使用过程中,有些时候的确要用到这种操作,这里将我以前实现的一段代码和大家共享:
/**
* 分割字符串,原理:检测字符串中的分割字符串,然后取子串
JAVA手机网[www.cnjm.net]* @param original 需要分割的字符串
* @paran regex 分割字符串
* @return 分割后生成的字符串数组
*/

private static String[] split(String original,String regex)
{
//取子串的起始位置
int startIndex = 0;
//将结果数据先放入Vector中
Vector v = new Vector();
//返回的结果字符串数组
String[] str = null;
//存储取子串时起始位置
int index = 0;

//获得匹配子串的位置
startIndex = original.indexOf(regex);
//System.out.println("0" + startIndex);
//如果起始字符串的位置小于字符串的长度,则证明没有取到字符串末尾。
//-1代表取到了末尾
while(startIndex < original.length() && startIndex != -1)
JAVA手机网[www.cnjm.net]{
String temp = original.substring(index,startIndex);
JAVA手机网[www.cnjm.net]System.out.println(" " + startIndex);
//取子串
v.addElement(temp);

JAVA手机网[www.cnjm.net]//设置取子串的起始位置
index = startIndex + regex.length();

//获得匹配子串的位置
startIndex = original.indexOf(regex,startIndex + regex.length());
}

//取结束的子串
v.addElement(original.substring(index + 1 - regex.length()));
//将Vector对象转换成数组
str = new String[v.size()];
for(int i=0;i
{
str = (String)v.elementAt(i);
}

//返回生成的数组
return str;
}

十一、J2ME在低级用户界面上分行显示文字
  在J2ME的低级用户界面开发中,经常会遇到需要在Canvas上显示大量的文字,例如关于界面、游戏说明、游戏公告等信息。如果在设计时,将文字的内容和长度都固定,既不利于修改也不利于维护。下面介绍一个简单的方法,实现一个简单、可维护性强的方式。
  实现方法:
   1、将需要显示的所有信息做成一个字符串。
   2、编写一个将该字符串按照要求转换为字符串数组的方法。
   3、将转换后的数组以循环的方式显示在Canvas上。
  通过这样三个步骤,则修改显示的信息时,只需要修改包含显示信息的字符串即可,自己书写的方法可以按照以前的标准重新分割新的字符串。如果需要修改每行显示的字符个数,则只需要修改自己书写的方法即可。
  通过这样一种实现方式,可以很方便的实现显示一些比较长的文本信息,即使是可变长度的字符串也没有问题。

JAVA手机网[www.cnjm.net]十二、J2ME中使用记录存储系统(RMS)存储信息
  在MIDP中,没有文件的概念,所以永久存储一般只能依靠记录存储系统实现,关于记录存储系统的简介,可以参看教程:http://www-900.ibm.com/developerWorks/cn/java/j-wi-rms/ind