class MainActivityKt AppCompatActivity EventObserver private var connection Connection = null override fun onCreatesavedInstanceState Bundle superonCreatesavedInstanceState setC
是的,可以将这段Kotlin代码转换为Java代码。转换后的Java代码如下所示:
public class MainActivity extends AppCompatActivity implements EventObserver {
private Connection connection;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
BluetoothDevice device = getIntent().getParcelableExtra("device");
if (device == null) {
finish();
return;
}
connection = BTManager.getInstance().createConnection(device, UUIDWrapper.useDefault(), this);
if (connection == null) {
finish();
return;
}
connection.connect(new ConnectCallback() {
@Override
public void onSuccess() {
}
@Override
public void onFail(String errMsg, Throwable e) {
runOnUiThread(new Runnable() {
@Override
public void run() {
tvLog.append("连接失败\n");
}
});
}
});
btnSend.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (connection != null && connection.isConnected()) {
if (etMsg.getText() != null && !etMsg.getText().toString().isEmpty()) {
connection.write(null, etMsg.getText().toString().getBytes(), null);
}
} else {
ToastUtils.showShort("未连接");
}
}
});
}
@RunOn(ThreadMode.MAIN)
@Override
public void onRead(BluetoothDevice device, UUIDWrapper warpper, byte[] value) {
tvLog.append(new String(value) + "\n");
}
@Override
public void onWrite(BluetoothDevice device, UUIDWrapper warpper, String tag, byte[] value, boolean result) {
}
@RunOn(ThreadMode.MAIN)
@Override
public void onConnectionStateChanged(BluetoothDevice device, UUIDWrapper warpper, int state) {
String msg = "";
switch (state) {
case Connection.STATE_PAIRING:
msg = "配对中...";
break;
case Connection.STATE_PAIRED:
msg = "配对成功";
break;
case Connection.STATE_CONNECTED:
msg = "连接成功";
break;
case Connection.STATE_DISCONNECTED:
msg = "连接断开";
break;
case Connection.STATE_RELEASED:
msg = "连接已销毁";
break;
default:
break;
}
if (!msg.isEmpty()) {
tvLog.append(msg + "\n");
}
}
@Override
protected void onDestroy() {
connection.release();
super.onDestroy();
}
}
请注意,转换后的Java代码可能需要根据您的项目结构和依赖项进行一些调整
原文地址: https://www.cveoy.top/t/topic/hECr 著作权归作者所有。请勿转载和采集!