以下是一个完整的示例代码,演示如何在安卓应用中获取时间并更新UI显示。

在MainActivity.java文件中:

import android.os.Bundle;
import android.os.Handler;
import android.view.View;
import android.widget.TextView;

import androidx.appcompat.app.AppCompatActivity;

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

public class MainActivity extends AppCompatActivity {

    private TextView timeTextView;
    private Handler handler;

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

        timeTextView = findViewById(R.id.timeTextView);
        handler = new Handler();
    }

    @Override
    protected void onResume() {
        super.onResume();
        startUpdatingTime();
    }

    @Override
    protected void onPause() {
        super.onPause();
        stopUpdatingTime();
    }

    private void startUpdatingTime() {
        handler.post(timeRunnable);
    }

    private void stopUpdatingTime() {
        handler.removeCallbacks(timeRunnable);
    }

    private Runnable timeRunnable = new Runnable() {
        @Override
        public void run() {
            updateTime();
            handler.postDelayed(this, 1000); // 每隔1秒更新一次时间
        }
    };

    private void updateTime() {
        SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss", Locale.getDefault());
        String currentTime = sdf.format(new Date());
        timeTextView.setText(currentTime);
    }
}

在activity_main.xml布局文件中:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity">

    <TextView
        android:id="@+id/timeTextView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="24sp"
        android:text="00:00:00" />

</RelativeLayout>

这个示例中,我们在MainActivity中创建了一个TextView组件来显示时间。在onResume()方法中启动了一个持续更新时间的线程,并在onPause()方法中停止线程。

在startUpdatingTime()方法中,我们使用Handler.post()方法来定期执行一个Runnable,该Runnable中调用了updateTime()方法来获取当前时间并更新UI显示。我们使用SimpleDateFormat来格式化时间,并将其设置为TextView的文本。

最后,我们使用Handler.postDelayed()方法将Runnable延迟1秒后再次执行,以实现每隔1秒更新一次时间的效果

安卓获取时间以时分秒格式更新时间并显示在UI上请给出完整示例。

原文地址: https://www.cveoy.top/t/topic/hYGR 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录