New file |
| | |
| | | package com.hdl.sdk.link.core.utils;
|
| | |
|
| | | import android.text.TextUtils;
|
| | |
|
| | | /**
|
| | | * Created by Tong on 2021/9/22.
|
| | | * 解析Link协议
|
| | | */
|
| | | public class ProtocolParse {
|
| | |
|
| | | private String topic;
|
| | | private int length;
|
| | | private int dataIndex;
|
| | |
|
| | | public ProtocolParse(byte[] bytes) {
|
| | | parse(bytes);
|
| | | }
|
| | |
|
| | | private void parse(byte[] bytes) {
|
| | | try {
|
| | | String[] split = new String(bytes, "utf-8").split("\r\n");
|
| | | setTopic(parseTopic(split));
|
| | | setLength(parseLength(split));
|
| | | } catch (Exception e) {
|
| | | e.printStackTrace();
|
| | | }
|
| | | }
|
| | |
|
| | | private static String parseTopic(String[] bytes) {
|
| | | try {
|
| | | for (String s : bytes) {
|
| | | if (s.startsWith("Topic:")) {
|
| | | return s.replace("Topic:", "");
|
| | | }
|
| | | }
|
| | | } catch (Exception e) {
|
| | | e.printStackTrace();
|
| | | }
|
| | | return null;
|
| | | }
|
| | |
|
| | | private static int parseLength(String[] bytes) {
|
| | | try {
|
| | | for (String s : bytes) {
|
| | | if (!TextUtils.isEmpty(s) && s.startsWith("Length:")) {
|
| | | return Integer.parseInt(s.replace("Length:", ""));
|
| | | }
|
| | | }
|
| | | } catch (Exception e) {
|
| | | e.printStackTrace();
|
| | | }
|
| | | return -1;
|
| | | }
|
| | |
|
| | |
|
| | |
|
| | | public String getTopic() {
|
| | | return topic;
|
| | | }
|
| | |
|
| | | public void setTopic(String topic) {
|
| | | this.topic = topic;
|
| | | }
|
| | |
|
| | | public int getLength() {
|
| | | return length;
|
| | | }
|
| | |
|
| | | public void setLength(int length) {
|
| | | this.length = length;
|
| | | }
|
| | |
|
| | |
|
| | | }
|