From 830e47a67026205b75f69e061d81783aa606a237 Mon Sep 17 00:00:00 2001 From: 562935844@qq.com Date: 星期五, 23 九月 2022 16:23:26 +0800 Subject: [PATCH] tcp发送之前判断是否连接 --- HDLSDK/app/src/main/java/com/hdl/hdlsdk/device/DevicesListAdapter.java | 118 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 118 insertions(+), 0 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 new file mode 100644 index 0000000..6128305 --- /dev/null +++ b/HDLSDK/app/src/main/java/com/hdl/hdlsdk/device/DevicesListAdapter.java @@ -0,0 +1,118 @@ +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> { + + 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