This commit is contained in:
renjianbo
2026-01-20 14:15:13 +08:00
parent 60cba7e373
commit a94a053fd9
6 changed files with 186 additions and 21 deletions

View File

@@ -1,5 +1,5 @@
plugins {
id 'com.android.application'
alias(libs.plugins.android.application)
}
android {
@@ -8,7 +8,7 @@ android {
defaultConfig {
applicationId "com.example.agentclient"
minSdk 24
minSdk 26
targetSdk 34
versionCode 1
versionName "1.0"

View File

@@ -58,9 +58,11 @@ public class MainActivity extends AppCompatActivity {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initViews();
// 先初始化 Handler因为 initViews() 中会使用它
mainHandler = new Handler(Looper.getMainLooper());
initViews();
// 启动时自动登录
login();
}
@@ -403,6 +405,13 @@ public class MainActivity extends AppCompatActivity {
* 更新状态栏
*/
private void updateStatus(String status) {
if (mainHandler == null) {
// 如果 Handler 还未初始化,直接在主线程更新
if (tvStatus != null) {
tvStatus.setText("状态: " + status);
}
return;
}
mainHandler.post(() -> {
if (tvStatus != null) {
tvStatus.setText("状态: " + status);
@@ -414,6 +423,19 @@ public class MainActivity extends AppCompatActivity {
* 添加消息到消息列表
*/
private void addMessage(String sender, String message) {
if (mainHandler == null) {
// 如果 Handler 还未初始化,直接在主线程更新
if (tvMessages != null) {
String newMessage = String.format("[%s] %s\n\n", sender, message);
tvMessages.append(newMessage);
// 自动滚动到底部
if (scrollView != null) {
scrollView.post(() -> scrollView.fullScroll(View.FOCUS_DOWN));
}
}
return;
}
mainHandler.post(() -> {
if (tvMessages != null) {
String currentText = tvMessages.getText().toString();