appdemo
This commit is contained in:
@@ -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"
|
||||
|
||||
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user