2024.3.27軟工日報

liuxuechao發表於2024-04-01

學習時間2小時

程式碼量200

package com.example.myapplication;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;

public class MainActivity extends AppCompatActivity {

private TextView textViewTime;
private Handler handler;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 找到 TextView

textViewTime = findViewById(R.id.textViewTime);

// 初始化 Handler
handler = new Handler();

// 開始更新時間
startUpdatingTime();

Button button = (Button) findViewById(R.id.a1);
Button button1 = (Button) findViewById(R.id.a2);
Button button2 = (Button) findViewById(R.id.a3);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//監聽按鈕,如果點選,就跳轉
Intent intent = new Intent();
//前一個(MainActivity.this)是目前頁面,後面一個是要跳轉的下一個頁面
intent.setClass(MainActivity.this, line.class);

startActivity(intent);


}
});
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, site.class);
startActivity(intent);
startUpdatingTime();
}
});
button2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, start.class);
startActivity(intent);
startUpdatingTime();
}
});// 新增缺失的 }

}

private void startUpdatingTime() {
// 定義一個 Runnable 來更新時間
Runnable updateTimeRunnable = new Runnable() {
@Override
public void run() {
// 獲取當前時間
String currentTime = new SimpleDateFormat("HH:mm:ss", Locale.getDefault()).format(new Date());

// 設定當前時間到 TextView
textViewTime.setText("當前時間: " + currentTime);

// 延遲一秒後再次更新時間
handler.postDelayed(this, 1000);
}
};

// 首次啟動更新時間
handler.post(updateTimeRunnable);
}

@Override
protected void onDestroy() {
super.onDestroy();
// 停止更新時間,避免記憶體洩漏
handler.removeCallbacksAndMessages(null);
}
}