Skip to content

Commit

Permalink
删除硬编码ip地址和端口号,由手动输入
Browse files Browse the repository at this point in the history
  • Loading branch information
neilyhe committed Oct 23, 2024
1 parent 1199c1b commit e49b03f
Show file tree
Hide file tree
Showing 4 changed files with 269 additions and 202 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@
import android.content.res.AssetManager;
import android.os.Bundle;
import android.os.Environment;
import android.text.Editable;
import android.text.TextUtils;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
Expand Down Expand Up @@ -54,6 +56,7 @@
import java.util.Map;
import java.util.UUID;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.regex.Pattern;

import javax.net.SocketFactory;

Expand All @@ -75,6 +78,8 @@ public class IoTMqttFragment extends Fragment {

private Button mCloseConnectBtn;

private EditText mIPEdit;

private Button mSubScribeBtn;

private Button mUnSubscribeBtn;
Expand Down Expand Up @@ -165,9 +170,14 @@ public class IoTMqttFragment extends Fragment {
"Zcrqjyw+6baShrOfotoFDlFE/wqf6FjhgeRkOb5QlA==\n" +
"-----END CERTIFICATE-----\n";
// ssh 要访问的IP
private String sshHost = "***REMOVED***";
// ssh 端口号
private int sshPort = 8022;
private String sshHost = "";
// ssh 端口号
private int sshPort = 0;

String pattern = "^(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])\\."
+ "(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])\\."
+ "(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])\\."
+ "(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])$";

private volatile boolean mIsConnected;

Expand Down Expand Up @@ -264,27 +274,47 @@ public void onNothingSelected(AdapterView<?> parent) {
mConnectBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (!mIsConnected) {
SharedPreferences settings = mParent.getSharedPreferences("config", Context.MODE_PRIVATE);
mBrokerURL = settings.getString(BROKER_URL, mBrokerURL);
mProductID = settings.getString(PRODUCT_ID, mProductID);
mDevName = settings.getString(DEVICE_NAME, mDevName);
mDevPSK = settings.getString(DEVICE_PSK, mDevPSK);
mSubProductID = settings.getString(SUB_PRODUCID, mSubProductID);
mSubDevName = settings.getString(SUB_DEVNAME, mSubDevName);
mSubDevPsk = settings.getString(SUB_DEVICE_PSK, mSubDevPsk);

mTestTopic = settings.getString(TEST_TOPIC, mTestTopic);

mDevCert = settings.getString(DEVICE_CERT, mDevCert);
mDevPriv = settings.getString(DEVICE_PRIV, mDevPriv);

mMQTTSample = new MQTTSample(mParent, new SelfMqttActionCallBack(), mBrokerURL, mProductID, mDevName, mDevPSK,
mDevCert, mDevPriv, mSubProductID, mSubDevName, mTestTopic, null, null, true, new SelfMqttLogCallBack(), sshHost, sshPort);
mMQTTSample.setSubDevPsk(mSubDevPsk);
mMQTTSample.connect();
Editable ip = mIPEdit.getText();
String[] ipInfo;
if (TextUtils.isEmpty(ip)) {
Toast.makeText(requireContext(), "请输入ip", Toast.LENGTH_SHORT).show();
} else if ((ipInfo = ip.toString().split(":")).length != 2) {
Toast.makeText(requireContext(), "ip与端口输入格式错误", Toast.LENGTH_SHORT).show();
} else {
mParent.printLogInfo(TAG, "Mqtt has been connected, do not connect it again.", mLogInfoText, TXLog.LEVEL_INFO);
if (!Pattern.compile(pattern).matcher(ipInfo[0]).matches()) {
Toast.makeText(requireContext(), "ip地址输入格式错误", Toast.LENGTH_SHORT).show();
return;
} else {
sshHost = ipInfo[0];
}
if (!Pattern.compile("^\\d{4}$").matcher(ipInfo[1]).matches()) {
Toast.makeText(requireContext(), "端口号输入格式错误", Toast.LENGTH_SHORT).show();
return;
} else {
sshPort = Integer.parseInt(ipInfo[1]);
}
if (!mIsConnected) {
SharedPreferences settings = mParent.getSharedPreferences("config", Context.MODE_PRIVATE);
mBrokerURL = settings.getString(BROKER_URL, mBrokerURL);
mProductID = settings.getString(PRODUCT_ID, mProductID);
mDevName = settings.getString(DEVICE_NAME, mDevName);
mDevPSK = settings.getString(DEVICE_PSK, mDevPSK);
mSubProductID = settings.getString(SUB_PRODUCID, mSubProductID);
mSubDevName = settings.getString(SUB_DEVNAME, mSubDevName);
mSubDevPsk = settings.getString(SUB_DEVICE_PSK, mSubDevPsk);

mTestTopic = settings.getString(TEST_TOPIC, mTestTopic);

mDevCert = settings.getString(DEVICE_CERT, mDevCert);
mDevPriv = settings.getString(DEVICE_PRIV, mDevPriv);

mMQTTSample = new MQTTSample(mParent, new SelfMqttActionCallBack(), mBrokerURL, mProductID, mDevName, mDevPSK,
mDevCert, mDevPriv, mSubProductID, mSubDevName, mTestTopic, null, null, true, new SelfMqttLogCallBack(), sshHost, sshPort);
mMQTTSample.setSubDevPsk(mSubDevPsk);
mMQTTSample.connect();
} else {
mParent.printLogInfo(TAG, "Mqtt has been connected, do not connect it again.", mLogInfoText, TXLog.LEVEL_INFO);
}
}
}
});
Expand Down Expand Up @@ -589,6 +619,7 @@ public void onClick(View view) {
public void initView(View view) {
mConnectBtn = view.findViewById(R.id.connect);
mCloseConnectBtn = view.findViewById(R.id.close_connect);
mIPEdit = view.findViewById(R.id.ed_ip);
mSubScribeBtn = view.findViewById(R.id.subscribe_topic);
mUnSubscribeBtn = view.findViewById(R.id.unSubscribe_topic);
mPublishBtn = view.findViewById(R.id.publish_topic);
Expand Down
Loading

0 comments on commit e49b03f

Please sign in to comment.