读书人

谁能花点时间帮小弟我看一下小弟我实

发布时间: 2012-01-14 20:02:35 作者: rapoo

哪位高手能花点时间帮我看一下,我实在不行了!
public class mmsmidlet extends MIDlet{
//省略其他代码

public void notifyIncomingMessage(MessageConnection messconn){
if(messconn == smsConnection){//接受多媒体信息
reader.handleMessage();
}
else if(messconn ==mmsConnection){
new Thread(){
public void run(){
try {
Message mmsMessage = mmsConnection.receive();
if ( mmsMessage!=null ) {
if(mmsMessage instanceof MultipartMessage) {
MultipartMessage multipartMessage =(MultipartMessage)mmsMessage;
String mmsdata1 =mmsMessage.getAddress();
String mmsdata2 =multipartMessage.getTimestamp().toString();
MessagePart[] messageParts = multipartMessage.getMessageParts();
String mmsmessagepart1 =new String(messageParts[0].getContent());
String mmsmessagepart2 =new String(messageParts[1].getContent());
mdbase =new mmsdatabase(mmsdata1,mmsdata2, mmsmessagepart1, mmsmessagepart2);
}
savemmsmessage(mdbase);
}
}catch (IOException ioe) {
//处理异常
}
}
}.start();
}
}

public void savemmsmessage(mmsdatabase database){//存储多媒体信息到RMS中
ByteArrayOutputStream baos = new ByteArrayOutputStream();
DataOutputStream dos = new DataOutputStream(baos);
try {
rss =RecordStore.openRecordStore(fileNames,true);
database.serialize(dos);
byte[] data = baos.toByteArray();
rss.addRecord(data, 0, data.length);
dos.close();


rss.closeRecordStore();
}catch(RecordStoreNotOpenException e){
e.printStackTrace();
}catch (IOException e) {
e.printStackTrace();
} catch (RecordStoreException e) {
e.printStackTrace();
}
}

public mmsdatabase getmmsmessage(int recordID){//读取recordId对象
try {
rss =RecordStore.openRecordStore(fileNames,true);
if (rss.getNumRecords() > 0) {
byte[] data = rss.getRecord(recordID);
ByteArrayInputStream bais = new ByteArrayInputStream(data);
DataInputStream dis = new DataInputStream(bais);
mmsdatabase mmsdb = mmsdatabase.deserialize(dis);
dis.close();
return mmsdb;
}
return null;
}catch(RecordStoreNotOpenException e){
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (RecordStoreException e) {
e.printStackTrace();
}finally{
try {
if(rss != null){
rss.closeRecordStore();
}


}catch(Exception e){
}
}
return null;
}
}

class ReceiveScreen extends Form{//将多媒体信息显示出来
//省略其他代码
public void createForm() {
  mmsdatabase mm =midlet.getmmsmessage(1);
StringItem textmessage1 =new StringItem(null,mm.getaddress());
textmessage1.setLayout(Item.LAYOUT_NEWLINE_AFTER);
append(textmessage1);
StringItem textmessage2 =new StringItem(null, mm.gettimestamp());
textmessage2.setLayout(Item.LAYOUT_NEWLINE_AFTER);
append(textmessage2);
Image image = Image.createImage(mm.getimagedata().getBytes(), 0, mm.getimagedata().getBytes().length);
ImageItem imageItem = new ImageItem(null,image,Item.LAYOUT_CENTER + Item.LAYOUT_NEWLINE_AFTER,null);
append(imageItem);
StringItem textmessage3 =new StringItem(null, mm.gettext());
textmessage3.setLayout(Item.LAYOUT_NEWLINE_AFTER);
append(textmessage3);
addCommand(Backcommand);
setCommandListener(this);

}


class mmsdatabase {
private String address = " ";//定义成员变量
private String timestamp = " ";
private String text = " ";
// private Image image = " ";
private String imagedata = " ";


public mmsdatabase() {
}

public mmsdatabase(String _address, String _timestamp,String _imagedata,String _text) {
this.address =_address;
this.timestamp =_timestamp;
this.imagedata =_imagedata;
this.text =_text;
}
//这里省略getter和setter方法

public void serialize(DataOutputStream dos) throws IOException {//序列化


dos.writeUTF(address);
dos.writeUTF(timestamp);
dos.writeUTF(text);
dos.writeUTF(imagedata);
dos.flush();
}
public static mmsdatabase deserialize(DataInputStream dis) throws IOException {//反序列化
mmsdatabase database = new mmsdatabase();
database.setaddress(dis.readUTF());
database.settimestamp(dis.readUTF());
database.setimagedata(dis.readUTF());
database.settext(dis.readUTF());
return database;
}
}

[解决办法]
什么问题啊?
[解决办法]
头疼

读书人网 >J2ME开发

热点推荐