From cca5f79b3af36e5a908c5dfecbd30110febe3baa Mon Sep 17 00:00:00 2001 From: 陈力 <chenli@lotaai.com> Date: 星期五, 09 六月 2023 20:58:09 +0800 Subject: [PATCH] 增加mqtt --- app/src/main/java/com/lotaai/canguiayw/MainActivity.java | 154 ++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 115 insertions(+), 39 deletions(-) diff --git a/app/src/main/java/com/lotaai/canguiayw/MainActivity.java b/app/src/main/java/com/lotaai/canguiayw/MainActivity.java index 601fa53..ffea3f4 100644 --- a/app/src/main/java/com/lotaai/canguiayw/MainActivity.java +++ b/app/src/main/java/com/lotaai/canguiayw/MainActivity.java @@ -8,26 +8,33 @@ import android.os.Build; import android.os.Build.VERSION; import android.os.Bundle; +import android.os.Handler; +import android.os.Message; import android.util.Log; import android.view.View; import android.widget.ImageView; +import com.alibaba.fastjson.JSONObject; +import com.blankj.utilcode.util.CacheDiskUtils; +import com.blankj.utilcode.util.DeviceUtils; import com.blankj.utilcode.util.LogUtils; -import com.blankj.utilcode.util.TimeUtils; -import com.lotaai.canguiayw.device.CanGuiCommand; -import com.lotaai.canguiayw.device.CanguiStatus; -import com.lotaai.canguiayw.device.DeviceMessage; -import com.lotaai.canguiayw.device.DeviceType; -import com.lotaai.canguiayw.device.MessageType; +import com.lotaai.canguiayw.common.HttpLoggerInterceptor; +import com.lotaai.canguiayw.common.HttpUrlDefine; +import com.lotaai.canguiayw.common.SettingConfig; import com.lotaai.canguiayw.device.service.CanGuiService; -import com.lotaai.canguiayw.sqllitedb.Order; -import com.lotaai.canguiayw.sqllitedb.OrderDetail; -import com.lotaai.canguiayw.sqllitedb.SqlliteDbManage; +import com.lotaai.canguiayw.mqtt.MyMQTTService; +import com.pranavpandey.android.dynamic.toasts.DynamicToast; -import org.greenrobot.eventbus.EventBus; +import java.io.IOException; +import java.util.concurrent.TimeUnit; -import java.util.Date; -import java.util.Random; +import okhttp3.Call; +import okhttp3.Callback; +import okhttp3.FormBody; +import okhttp3.OkHttpClient; +import okhttp3.Request; +import okhttp3.RequestBody; +import okhttp3.Response; public class MainActivity extends AppCompatActivity { private Context context; @@ -41,43 +48,48 @@ context = MainActivity.this; Intent startIntent = new Intent(context, CanGuiService.class); startService(startIntent); + Intent startMqttIntent = new Intent(context, MyMQTTService.class); + startService(startMqttIntent); + + login(); + logoView.setOnLongClickListener(new View.OnLongClickListener() { @Override public boolean onLongClick(View view) { - Intent intent = new Intent(); - intent.setClass(MainActivity.this, AdminLoginActivity.class); - startActivity(intent); +// Intent intent = new Intent(); +// intent.setClass(MainActivity.this, AdminLoginActivity.class); +// startActivity(intent); return true; } }); - testData(); +// testData(); } - public void testData(){ - Random random = new Random(); - int rt= random.nextInt(10000-1000+1) + 1000; - Order order = new Order(); - order.setOrderNo("GB"+ rt); - order.setGridNo("1"); - order.setTakeCode("526895"); - order.setState(0); - Date time = new Date(); - order.setPutInDate(TimeUtils.date2String(time,"yyyy-MM-dd HH:mm:ss")); - SqlliteDbManage.getInstance().insertOrderInfo(order); - for (int p = 0; p < 3;p ++){ - OrderDetail detail = new OrderDetail(); - detail.setItemName("项目"+p); - detail.setNum(p); - detail.setOrderNo(order.getOrderNo()); - SqlliteDbManage.getInstance().insertOrUpdateOrderDetailInfo(detail); - } - LogUtils.i("插入订单数据:" + order.getOrderNo()); - } +// public void testData(){ +// Random random = new Random(); +// int rt= random.nextInt(10000-1000+1) + 1000; +// Order order = new Order(); +// order.setOrderNo("GB"+ rt); +// order.setGridNo("1"); +// order.setTakeCode("526895"); +// order.setState(0); +// Date time = new Date(); +// order.setPutInDate(TimeUtils.date2String(time,"yyyy-MM-dd HH:mm:ss")); +// SqlliteDbManage.getInstance().insertOrderInfo(order); +// for (int p = 0; p < 3;p ++){ +// OrderDetail detail = new OrderDetail(); +// detail.setItemName("项目"+p); +// detail.setNum(p); +// detail.setOrderNo(order.getOrderNo()); +// SqlliteDbManage.getInstance().insertOrUpdateOrderDetailInfo(detail); +// } +// LogUtils.i("插入订单数据:" + order.getOrderNo()); +// } public void gotoSetting(View view){ - Intent intent = new Intent(); - intent.setClass(MainActivity.this, AdminLoginActivity.class); - startActivity(intent); +// Intent intent = new Intent(); +// intent.setClass(MainActivity.this, AdminLoginActivity.class); +// startActivity(intent); } public void take(View view){ @@ -92,4 +104,68 @@ startActivity(intent); } + public void login() { + HttpLoggerInterceptor loggingInterceptor = new HttpLoggerInterceptor(true); + OkHttpClient client = new OkHttpClient.Builder() + .connectTimeout(20, TimeUnit.SECONDS)//响应时间,读取时间 + .readTimeout(20, TimeUnit.SECONDS) + .callTimeout(20, TimeUnit.SECONDS) + .addInterceptor(loggingInterceptor)//添加日志拦截器 + .build(); + + RequestBody body = new FormBody.Builder() + .add("equipmentUid", DeviceUtils.getUniqueDeviceId()).build(); + final Request request = new Request.Builder() + .url(HttpUrlDefine.equipmentLogin) + .addHeader("language", "zh-CN") + .post(body) + .build(); + client.newCall(request).enqueue(new Callback() { + @Override + public void onFailure(Call call, IOException e) { + Message msg = new Message(); + msg.what = 0; + msg.obj = "登录失败"; + showHandler.sendMessage(msg); + LogUtils.e(e); + } + + @Override + public void onResponse(Call call, Response response) throws IOException { + String result = response.body().string(); + LogUtils.i("获取到的数据:"+result); + JSONObject obj = JSONObject.parseObject(result); + if ("0".equals(obj.getString("code"))) { + JSONObject dataObj = obj.getJSONObject("data"); + String name = dataObj.getString("name"); + Message msg = new Message(); + msg.what = 1; + msg.obj = "登录成功!" + name; + showHandler.sendMessage(msg); + //equipmentCode + String code = dataObj.getString("equipmentCode"); + CacheDiskUtils.getInstance().put(SettingConfig.getInstance().Cache_Device_Code, code); + } else { + Message msg = new Message(); + msg.what = 0; + msg.obj = "登录失败:请重新激活!" ; + showHandler.sendMessage(msg); + } + } + }); + } + + private Handler showHandler = new Handler() { + @Override + public void handleMessage(Message msg) { + if (msg.what == 0) { + DynamicToast.makeError(context, msg.obj.toString(), 3).show(); + } else if (msg.what == 1) { + DynamicToast.makeSuccess(context, msg.obj.toString(), 3).show(); + } else { + DynamicToast.makeWarning(context, msg.obj.toString(), 3).show(); + } + } + }; + } -- Gitblit v1.7.1