管灌系统巡查员智能手机App
zuoxiao
2024-12-05 3a4343f647f038a9e8366f17b33a07fdfd8b680c
app/src/main/java/com/dayu/pipirrapp/activity/MainActivity.java
@@ -1,20 +1,30 @@
package com.dayu.pipirrapp.activity;
import android.net.ConnectivityManager;
import android.net.Network;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.content.ContextCompat;
import androidx.fragment.app.Fragment;
import com.dayu.pipirrapp.MyApplication;
import com.dayu.pipirrapp.R;
import com.dayu.pipirrapp.adapter.TabAdapter;
import com.dayu.pipirrapp.bean.db.TagBean;
import com.dayu.pipirrapp.dao.DaoSingleton;
import com.dayu.pipirrapp.databinding.ActivityMainBinding;
import com.dayu.pipirrapp.fragment.OrderFragment;
import com.dayu.pipirrapp.fragment.MapFragment;
import com.dayu.pipirrapp.fragment.MyFragment;
import com.dayu.pipirrapp.net.MqttManager;
import com.dayu.pipirrapp.tool.InspectionUtils;
import com.dayu.pipirrapp.utils.MyLog;
import com.dayu.pipirrapp.utils.NetUtils;
import java.util.ArrayList;
import java.util.List;
@@ -26,6 +36,7 @@
    private ActivityMainBinding binding;
    private List<Fragment> fragments = new ArrayList<>();
    private long mExitTime;
    MqttManager mqttManager;
    private enum Tab {
        ORDER, MAP, MY
@@ -36,10 +47,19 @@
        super.onCreate(savedInstanceState);
        binding = ActivityMainBinding.inflate(LayoutInflater.from(this));
        setContentView(binding.getRoot());
        registNetCallBack();
        setupFragments();
        initView();
        initTab();
        try {
            TagBean tagBean = DaoSingleton.getInstance(this).tagDao().findFirst();
            MyApplication.myApplication.myTag = tagBean.getTag();
        } catch (Exception e) {
            e.printStackTrace();
        }
        mqttManager = new MqttManager(this);
        mqttManager.connect();
    }
    private void setupFragments() {
@@ -74,6 +94,18 @@
            return true;
        }
        return super.onKeyDown(keyCode, event);
    }
    @Override
    protected void onDestroy() {
        super.onDestroy();
        //关闭MQ
        try {
            mqttManager.disconnect();
            unregisterNetworkCallback();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    /**
@@ -128,4 +160,36 @@
        binding.myImg.setImageDrawable(ContextCompat.getDrawable(this, R.drawable.bottom_my_black));
        binding.myText.setTextColor(ContextCompat.getColor(this, R.color.black));
    }
    //    注册网络监控
    private void registNetCallBack() {
        NetUtils.registerNetCallBack(this, networkCallback);
    }
    private void unregisterNetworkCallback() {
        NetUtils.unregisterReceiver(this, networkCallback);
    }
    //网络监控
    ConnectivityManager.NetworkCallback networkCallback = new ConnectivityManager.NetworkCallback() {
        @Override
        public void onAvailable(@NonNull Network network) {
            super.onAvailable(network);
            // 这里可以执行网络可用后的逻辑,比如进行数据请求等
            MyLog.d("onAvailable");
            InspectionUtils.aginPutInspectionData(MainActivity.this);
        }
        @Override
        public void onLost(@NonNull Network network) {
            super.onLost(network);
            // 这里可以执行网络丢失后的逻辑,比如停止数据请求等
            MyLog.d("onLost");
        }
    };
}