RkConverter 바이너리 메시징 도구

1648 단어

간단한 소개


효율적인 전송을 위해 사물인터넷 프로젝트는 통상적으로 2진 프로토콜을 채택하여 데이터 교환을 진행한다.
RkConverter 라이브러리의 목표는 비효율적이고 중복되며 기술적 함량이 없는 이진 메시지 해석에서 업무와 협의의 변화에 전념할 수 있도록 개발하는 것이다.

사용법


바이트 배열 전환 대상


블루투스 장치가 장치 정보 바이트 그룹을 {82,75,52,49,48,48,0,68} 데이터 교환 해석 프로토콜로 되돌려줍니다.
바이트 수를 원하는 객체로 변환하려면 2단계만 수행
1. DeviceInfo 객체 속성에 RkField 메모 설명 해석 규칙 추가
public class DeviceInfo {

    @RkField(position = 0,length = 6)
    private String model;

    @RkField(position = 6,length = 2)
    private int versionCode;

    public String getModel() {
        return model;
    }

    public void setModel(String model) {
        this.model = model;
    }

    public int getVersionCode() {
        return versionCode;
    }

    public void setVersionCode(int versionCode) {
        this.versionCode = versionCode;
    }
}

2. RkFieldConverter#bytes2entity 방법을 호출하여 바이트 그룹을 사용하여DeviceInfo 대상 속성을 설정합니다
byte[] bytes = new byte[]{82,75,52,49,48,48,0,68};
DeviceInfo mDeviceInfo = new DeviceInfo();
mDeviceInfo = RkFieldConverter.bytes2entity(mDeviceInfo,bytes);
assertEquals("RK4100",mDeviceInfo.getModel());
assertEquals(68,mDeviceInfo.getVersionCode());

객체 바이트 배열


RkFieldConverter#entity2bytes 방법을 사용하여 객체를 Bluetooth 장치에 데이터를 쓰기 쉽게 바이트 배열로 변환합니다.
DeviceInfo mDeviceInfo = new DeviceInfo();
mDeviceInfo.setModel("RK4100");
mDeviceInfo.setVersionCode(68);
byte[] bytes = RkFieldConverter.entity2bytes(mDeviceInfo);
assertArrayEquals(new byte[]{82,75,52,49,48,48,0,68},bytes);

GitHub 프로젝트 주소

좋은 웹페이지 즐겨찾기