版权声明:转载注明出处 https://blog.csdn.net/qq_22794043/article/details/82974440
目前没搞懂为什么要这没写,只知道要这么写
之前做需求一直都是需要什么数据,通过某个协议直接获得,今天做一个需求,服务器给了两个.java文件,一脸懵逼。
一个是SM_xxxInfo文件,发的是一个List<RewardInfoVO> rewardInfos
另一个是RewardInfoVO文件,发了list中的每一个元素的rewardId、inxex等数据。
一时不知道怎么搞,查看别人的代码后,照着写,发现没问题,注意:这时候忘了写协议号,但是表现正常,写完之后在SM_RewardINfo中加了协议号,发现表现也正常
下面是代码
SM_RewardInfo类和RewardInfoVO类
public class SM_RewardInfo extends Message{
public var List:Array;
public function SM_RewardInfo(){
super();
}
override protected function reading():Boolean{
List = readArray(MapType.BEAN,RewardInfoVO);
return true;
}
override public function getId():int{
return 协议号;
}
}
public class RewardInfoVO extends Bean{
public var rewardId:int;
public var index:int;
}
override protected function reading():Boolean{
rewardId = readInt();
index = readInt();
return true;
}
最后再加个SM_RewardInfoHandler处理服务器发过来的数据,在messagepool中注册对应的协议号即可