如何将服务器发来的信息在FORM以列表的形式显示出来
我做的是聊天室开发 服务器登入成功后,发来在线用户信息!但是我想以列表的形式显示在FORM上,不知道怎么实现!
服务器发来的信息格式是这样的0009 9521 test 1 0 0009表示后面有9个字节,9521 表示用户ID,test表示用户名,1表示性别,0表示在线状态!
相关代码如下:
public class ListForm extends Form implements CommandListener{
/******************好友列表界面*******************/
private Command cmdBack = new Command("返回", Command.BACK, 1);
private Command cmdOk = new Command("聊天", Command.SCREEN, 1);
private Command cmdGo = new Command("加入聊天室", Command.SCREEN, 1);
private Command cmdLoginout = new Command("下线", Command.SCREEN, 1);
private ClientMIDlet parent;
public DataInputStream dis;
public DataOutputStream dos;
public ListForm(String title, ClientMIDlet parent) {
super(title);
this.parent = parent;
dis=parent.m_dis;
dos=parent.m_dos;
try{
//发送05到服务器,请求好友列表
String str="05";
dos.write(str.getBytes().length);
dos.write(str.getBytes(), 0, str.getBytes().length);
//接受好友列表
byte[] buffer1=new byte[4];
dis.read(buffer1, 0, 4);
//转化为字符串
String s=new String(buffer1, 0, 4);
int ss=Integer.parseInt(s);
//获得用户名
byte[] buffer2=new byte[ss];
dis.read(buffer2,5,ss-2);
String username=new String(buffer2,0,ss-2);
}catch (Exception e) { }
this.addCommand(cmdBack);
this.addCommand(cmdOk);
this.addCommand(cmdGo);
this.addCommand(cmdLoginout);
this.setCommandListener(this);
}
public void commandAction(Command c, Displayable d) {
if (c == cmdBack) {
//切换到菜单
parent.changeForm(Conf.MENU);
} else if (c == cmdLoginout) {
//下线退出
parent.notifyDestroyed();
} else if (c == cmdOk) {
//聊天界面
parent.changeForm(Conf.SEND);
} else if (c == cmdGo) {
//聊天室
}
}
}
求高手帮忙解决,最好能指出上面的代码怎么修改!