From 4a4ed8210c58dba28deea1a6e69c3671ae1a7dd0 Mon Sep 17 00:00:00 2001
From: JLChen <551775569@qq.com>
Date: 星期五, 10 十二月 2021 17:28:50 +0800
Subject: [PATCH] 2021-12-10 1.更新
---
HDLSDK_DEMO/app/src/main/java/com/hdl/hdlsdk/device/DevicesListAdapter.java | 55 ++++++++++++++++++
HDLSDK_DEMO/app/libs/hdl-connect-V1.0.1.aar | 0
HDLSDK_DEMO/app/libs/hdl-socket-V1.0.1.aar | 0
HDLSDK_DEMO/app/libs/hdl-common-V1.0.1.aar | 0
HDLSDK_DEMO/app/src/main/java/com/hdl/hdlsdk/MainActivity.java | 111 ++++++++++++++++++++++++++++++++----
5 files changed, 152 insertions(+), 14 deletions(-)
diff --git a/HDLSDK_DEMO/app/libs/hdl-common-V1.0.1.aar b/HDLSDK_DEMO/app/libs/hdl-common-V1.0.1.aar
index 5fecde9..3e7e0f8 100644
--- a/HDLSDK_DEMO/app/libs/hdl-common-V1.0.1.aar
+++ b/HDLSDK_DEMO/app/libs/hdl-common-V1.0.1.aar
Binary files differ
diff --git a/HDLSDK_DEMO/app/libs/hdl-connect-V1.0.1.aar b/HDLSDK_DEMO/app/libs/hdl-connect-V1.0.1.aar
index 9759821..e2b97c4 100644
--- a/HDLSDK_DEMO/app/libs/hdl-connect-V1.0.1.aar
+++ b/HDLSDK_DEMO/app/libs/hdl-connect-V1.0.1.aar
Binary files differ
diff --git a/HDLSDK_DEMO/app/libs/hdl-socket-V1.0.1.aar b/HDLSDK_DEMO/app/libs/hdl-socket-V1.0.1.aar
index 20823ed..1ff8177 100644
--- a/HDLSDK_DEMO/app/libs/hdl-socket-V1.0.1.aar
+++ b/HDLSDK_DEMO/app/libs/hdl-socket-V1.0.1.aar
Binary files differ
diff --git a/HDLSDK_DEMO/app/src/main/java/com/hdl/hdlsdk/MainActivity.java b/HDLSDK_DEMO/app/src/main/java/com/hdl/hdlsdk/MainActivity.java
index 44815ae..d6c6e37 100644
--- a/HDLSDK_DEMO/app/src/main/java/com/hdl/hdlsdk/MainActivity.java
+++ b/HDLSDK_DEMO/app/src/main/java/com/hdl/hdlsdk/MainActivity.java
@@ -19,14 +19,17 @@
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.listener.OnItemClickListener;
+import com.google.gson.JsonObject;
import com.google.gson.reflect.TypeToken;
import com.hdl.hdlsdk.device.DevicesListActivity;
+import com.hdl.sdk.common.config.TopicConstant;
import com.hdl.sdk.common.event.EventListener;
import com.hdl.sdk.common.exception.HDLLinkException;
import com.hdl.sdk.common.utils.IdUtils;
import com.hdl.sdk.common.utils.IpUtils;
import com.hdl.sdk.common.utils.gson.GsonConvert;
import com.hdl.sdk.connect.HDLLink;
+import com.hdl.sdk.connect.bean.LinkRequest;
import com.hdl.sdk.connect.bean.LinkResponse;
import com.hdl.sdk.connect.bean.request.AuthenticateRequest;
import com.hdl.sdk.connect.bean.request.PropertyReadRequest;
@@ -100,13 +103,17 @@
beans.add(new DemoBean("鑾峰彇鍦烘櫙鍒楄〃"));
beans.add(new DemoBean("鍦烘櫙鎺у埗"));
beans.add(new DemoBean("璁惧鍔熻兘鍒楄〃"));
+ beans.add(new DemoBean("UDP鍙戦�侊紝鐩戝惉涓婚鍥炲锛屽甫閲嶅彂甯﹀洖璋�"));
+ beans.add(new DemoBean("TCP鍙戦�侊紝鐩戝惉涓婚鍥炲锛屽甫閲嶅彂甯﹀洖璋�"));
+ beans.add(new DemoBean("UDP鍙戦�侊紝涓嶅洖璋冧笉閲嶅彂"));
+ beans.add(new DemoBean("TCP鍙戦�侊紝涓嶅洖璋冧笉閲嶅彂"));
demoAdapter = new DemoAdapter(beans);
rv.setAdapter(demoAdapter);
// final SocketOptions options = new SocketOptions();
//
- MessagePipeLine pipeLine = new MessagePipeLine();
+// MessagePipeLine pipeLine = new MessagePipeLine();
// options.setHandleMessage(pipeLine);
// options.setEnabledHeartbeat(false);
@@ -150,10 +157,29 @@
//鍔熻兘鍒楄〃
startDevicesListActivity();
break;
+ case 9:
+ //UDP鍙戦��
+ udpSendWithCallback();
+ break;
+ case 10:
+ //TCP鍙戦��
+ tcpSendWithCallback();
+ case 11:
+ //UDP鍙戦��
+ udpSend();
+ break;
+ case 12:
+ //TCP鍙戦��
+ tcpSend();
+ break;
}
}
});
}
+
+
+
+
public void showToast(String text) {
Toast.makeText(this, text, Toast.LENGTH_SHORT).show();
}
@@ -176,13 +202,6 @@
@Override
public void onMessage(Object msg) {
LinkResponse response = (LinkResponse)msg;
- if(response != null){
- Log.i(TAG, "AllTopicsListener"
- + "\nTopic: " + response.getTopic()
- +"\n Data: " + response.getData());
- handleLinkResponse(response);
- }
-
}
};
HDLLink.getInstance().registerAllTopicsListener(allTopicsListener);
@@ -238,9 +257,9 @@
tv.setText("寮�濮嬪叆缃戣璇�...");
//璁よ瘉鎻愪氦鍙傛暟鍑嗗
- String spkStr = "ir.module";//浜у搧spk
- String macStr = "AA000000000000BB";//璁惧鍞竴MAC鍦板潃
- String secret = "87ae414b7a853f65";//閫氳繃spk鍜宮ac鎻愪氦浜戠璁よ瘉鍚庡垎閰嶇殑secret
+ String spkStr = "screen.mirror";//浜у搧spk
+ String macStr = "AA000000000000AC";//璁惧鍞竴MAC鍦板潃
+ String secret = "ee62124c151b737c";//閫氳繃spk鍜宮ac鎻愪氦浜戠璁よ瘉鍚庡垎閰嶇殑secret
String mac_key = stringToMD5(stringToMD5(macStr + secret));
String versionString = "HDL_V1.0.1";//
String time = String.valueOf(System.currentTimeMillis());
@@ -248,7 +267,7 @@
//1.璁剧疆璁よ瘉淇℃伅
AuthenticateRequest.RequestBean requestBean = new AuthenticateRequest.RequestBean();
requestBean.setMAC(macStr);
- requestBean.setSupplier("HDL");
+ requestBean.setSupplier("raysgem");
requestBean.setFirmwareVersion(versionString);
requestBean.setHardwareModel("1956F");
AuthenticateRequest.AuthBean authbean = new AuthenticateRequest.AuthBean();
@@ -263,7 +282,7 @@
infoBean.setDeviceName("绾㈠瀹�");//璁惧鍚嶅瓧
infoBean.setDeviceModel("HDL");//
infoBean.setAccessMode("WIFI");
- infoBean.setIPGateway("192.168.12.1");
+ infoBean.setIPGateway("192.168.88.1");
infoBean.setIPAddress(IpUtils.getIP(this));
infoBean.setOID("010105000000FE08");
@@ -476,4 +495,70 @@
Intent intent = new Intent(this, DevicesListActivity.class);
startActivity(intent);
}
+
+ /**
+ * TCP鍙戦�侊紝鐩戝惉涓婚鍥炲锛屽甫閲嶅彂甯﹀洖璋�
+ */
+ private void tcpSendWithCallback() {
+ String time = String.valueOf(System.currentTimeMillis());
+ JsonObject jsonObject = new JsonObject();
+ jsonObject.addProperty("id", IdUtils.getUUId());
+ jsonObject.addProperty("time_stamp", time);
+ HDLLink.getInstance().tcpSendMsg(TopicConstant.GATEWAY_SEARCH, jsonObject.toString(), new HDLLinkCallBack() {
+ @Override
+ public void onSuccess(String data) {
+ responseTv.setText(data);
+ }
+
+ @Override
+ public void onError(HDLLinkException e) {
+ responseTv.setText(e.getMsg());
+ }
+ });
+ }
+
+ /**
+ * UDP鍙戦�侊紝鐩戝惉涓婚鍥炲锛屽甫閲嶅彂甯﹀洖璋�
+ */
+ private void udpSendWithCallback() {
+ String time = String.valueOf(System.currentTimeMillis());
+ JsonObject jsonObject = new JsonObject();
+ jsonObject.addProperty("id", IdUtils.getUUId());
+ jsonObject.addProperty("time_stamp", time);
+ HDLLink.getInstance().udpSendMsg(TopicConstant.GATEWAY_SEARCH, jsonObject.toString(), new HDLLinkResponseCallBack() {
+ @Override
+ public void onSuccess(LinkResponse linkResponse) {
+ if(linkResponse != null){
+ responseTv.setText(linkResponse.getData());
+ }
+ }
+
+ @Override
+ public void onError(HDLLinkException e) {
+ responseTv.setText(e.getMsg());
+ }
+ });
+ }
+
+ /**
+ * TCP鍙戦�� 鍙彂涓�娆★紝涓嶇洃鍚洖澶嶏紝涓嶉噸鍙�
+ */
+ private void tcpSend() {
+ String time = String.valueOf(System.currentTimeMillis());
+ JsonObject jsonObject = new JsonObject();
+ jsonObject.addProperty("id", IdUtils.getUUId());
+ jsonObject.addProperty("time_stamp", time);
+ HDLLink.getInstance().tcpSendMsg(TopicConstant.GATEWAY_SEARCH, jsonObject.toString());
+ }
+
+ /**
+ * 鍙彂涓�娆★紝涓嶇洃鍚洖澶嶏紝涓嶉噸鍙�
+ */
+ private void udpSend() {
+ String time = String.valueOf(System.currentTimeMillis());
+ JsonObject jsonObject = new JsonObject();
+ jsonObject.addProperty("id", IdUtils.getUUId());
+ jsonObject.addProperty("time_stamp", time);
+ HDLLink.getInstance().udpSendMsg(TopicConstant.GATEWAY_SEARCH, jsonObject.toString());
+ }
}
\ No newline at end of file
diff --git a/HDLSDK_DEMO/app/src/main/java/com/hdl/hdlsdk/device/DevicesListAdapter.java b/HDLSDK_DEMO/app/src/main/java/com/hdl/hdlsdk/device/DevicesListAdapter.java
index 1816d97..d352b7c 100644
--- a/HDLSDK_DEMO/app/src/main/java/com/hdl/hdlsdk/device/DevicesListAdapter.java
+++ b/HDLSDK_DEMO/app/src/main/java/com/hdl/hdlsdk/device/DevicesListAdapter.java
@@ -1,16 +1,34 @@
package com.hdl.hdlsdk.device;
import android.content.Context;
+import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
+import android.widget.CompoundButton;
+import android.widget.Switch;
import android.widget.TextView;
-
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
import androidx.recyclerview.widget.RecyclerView;
+import com.chad.library.adapter.base.BaseMultiItemQuickAdapter;
+import com.chad.library.adapter.base.viewholder.BaseViewHolder;
+import com.hdl.hdlsdk.DemoBean;
import com.hdl.hdlsdk.R;
+import com.hdl.sdk.common.config.TopicConstant;
+import com.hdl.sdk.common.exception.HDLLinkException;
+import com.hdl.sdk.common.utils.IdUtils;
+import com.hdl.sdk.common.utils.LogUtils;
+import com.hdl.sdk.common.utils.gson.GsonConvert;
+import com.hdl.sdk.connect.HDLLink;
+import com.hdl.sdk.connect.bean.request.DeviceControlRequest;
+import com.hdl.sdk.connect.bean.response.BaseLocalResponse;
+import com.hdl.sdk.connect.callback.HDLLinkCallBack;
+import com.hdl.sdk.connect.config.HDLLinkConfig;
+import java.util.ArrayList;
import java.util.List;
public class DevicesListAdapter extends RecyclerView.Adapter<DevicesListAdapter.ViewHolder> {
@@ -46,6 +64,12 @@
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
holder.item_tv.setText(mList.get(position).getName());
+ holder.device_on_off_switch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
+ @Override
+ public void onCheckedChanged(CompoundButton compoundButton, boolean isChecked) {
+ propertyDown(mList.get(position), isChecked);
+ }
+ });
}
@Override
@@ -56,10 +80,39 @@
//鑷畾涔夌殑ViewHolder锛屾寔鏈夋瘡涓狪tem鐨勭殑鎵�鏈夌晫闈㈠厓绱�
public static class ViewHolder extends RecyclerView.ViewHolder {
public TextView item_tv;
+ public Switch device_on_off_switch;
public ViewHolder(View view) {
super(view);
item_tv = (TextView) view.findViewById(R.id.device_title_tv);
+ device_on_off_switch = view.findViewById(R.id.device_on_off_switch);
}
}
+
+ private void propertyDown(FunctionBean functionBean, Boolean isOn){
+ List<DeviceControlRequest> requestList = new ArrayList<>();
+ DeviceControlRequest request = new DeviceControlRequest();
+ request.setSid(functionBean.getSid());
+ List<DeviceControlRequest.StatusBean> statusBeanList= new ArrayList<>();
+ DeviceControlRequest.StatusBean bean = new DeviceControlRequest.StatusBean();
+ bean.setKey("on_off");
+ bean.setValue(isOn ? "on" : "off");
+ statusBeanList.add(bean);
+ request.setStatus(statusBeanList);
+ requestList.add(request);
+ String time = String.valueOf(System.currentTimeMillis());
+
+ HDLLink.getInstance().propertyDown(requestList, new HDLLinkCallBack() {
+ @Override
+ public void onSuccess(String data) {
+ Log.i("propertyDown",data);
+ }
+
+ @Override
+ public void onError(HDLLinkException e) {
+ Log.e("propertyDown", "ERROR :"+ e.getMsg());
+ }
+ });
+
+ }
}
\ No newline at end of file
--
Gitblit v1.8.0