From cc0421a5d9b1b7f19f6c8e39e4756b95345f1623 Mon Sep 17 00:00:00 2001 From: panlili2024 <14743743+panlili2024@user.noreply.gitee.com> Date: 星期二, 25 二月 2025 18:04:23 +0800 Subject: [PATCH] sdk demo优化 --- HDLSDK/app/src/main/java/com/hdl/hdlsdk/device/DevicesListAdapter.java | 220 ++++++++++++++++++++++++++---------------------------- 1 files changed, 107 insertions(+), 113 deletions(-) diff --git a/HDLSDK/app/src/main/java/com/hdl/hdlsdk/device/DevicesListAdapter.java b/HDLSDK/app/src/main/java/com/hdl/hdlsdk/device/DevicesListAdapter.java index 6e224da..730e98e 100644 --- a/HDLSDK/app/src/main/java/com/hdl/hdlsdk/device/DevicesListAdapter.java +++ b/HDLSDK/app/src/main/java/com/hdl/hdlsdk/device/DevicesListAdapter.java @@ -1,114 +1,108 @@ -package com.hdl.hdlsdk.device; - -import android.content.Context; -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> { - - private LayoutInflater mInflater; - private List<FunctionBean> mList = null; - - public DevicesListAdapter(Context context, List<FunctionBean> devicesList) { - this.mInflater = LayoutInflater.from(context); - this.mList = devicesList; - } - - /** - * item鏄剧ず绫诲瀷 - * - * @param parent - * @param viewType - * @return - */ - @Override - public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { - View view = mInflater.inflate(R.layout.item_devices_list, parent, false); - ViewHolder viewHolder = new ViewHolder(view); - return viewHolder; - } - - /** - * 鏁版嵁鐨勭粦瀹氭樉绀� - * - * @param holder - * @param position - */ - @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 - public int getItemCount() { - return mList.size(); - } - - //鑷畾涔夌殑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()); - - final BaseLocalResponse<List<DeviceControlRequest>> data = new BaseLocalResponse<>(); - data.setId(IdUtils.getUUId()); - data.setTime_stamp(time); - data.setObjects(requestList); - - String topic = String.format(TopicConstant.PROPERTY_DOWN, HDLLinkConfig.getInstance().getGatewayId()); - - HDLLink.getInstance().tcpSendMsg(topic, GsonConvert.getGson().toJson(data)); -// HDLLink.getInstance().udpSendMsg(topic, GsonConvert.getGson().toJson(data)); - } +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.recyclerview.widget.RecyclerView; + +import com.hdl.hdlsdk.R; +import com.hdl.hdlsdk.bean.FunctionBean; +import com.hdl.sdk.common.exception.HDLLinkException; +import com.hdl.sdk.connect.HDLLink; +import com.hdl.sdk.connect.bean.request.DeviceControlRequest; +import com.hdl.sdk.connect.callback.HDLLinkCallBack; + +import java.util.ArrayList; +import java.util.List; + +public class DevicesListAdapter extends RecyclerView.Adapter<DevicesListAdapter.ViewHolder> { + + private LayoutInflater mInflater; + private List<FunctionBean> mList = null; + + public DevicesListAdapter(Context context, List<FunctionBean> devicesList) { + this.mInflater = LayoutInflater.from(context); + this.mList = devicesList; + } + + /** + * item鏄剧ず绫诲瀷 + * + * @param parent + * @param viewType + * @return + */ + @Override + public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { + View view = mInflater.inflate(R.layout.item_devices_list, parent, false); + ViewHolder viewHolder = new ViewHolder(view); + return viewHolder; + } + + /** + * 鏁版嵁鐨勭粦瀹氭樉绀� + * + * @param holder + * @param position + */ + @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 + public int getItemCount() { + return mList.size(); + } + + //鑷畾涔夌殑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