Android 通过Handler获取当前时间

一言不合就上代码 

public class HandlerDemoActivity extends AppCompatActivity {

    private Button getTime;
    private TextView setTime;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_handler_demo);
        getTime = (Button) findViewById(R.id.getTime);
        setTime = (TextView) findViewById(R.id.setTime);
        
        getTime.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                MyThread myThread = new MyThread();
                Thread t1 = new Thread(myThread);
                t1.start();
            }
        });
    }
    Handler handler = new Handler(){
        @Override
        public void handleMessage(Message msg) {
            if (msg.what == 0x11){
                setTime.setText(msg.getData().getString("time"));
            }
        }
    };

    class MyThread implements Runnable{
        @Override
        public void run() {
            try {
                Thread.sleep(1000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            //MM表示月份从1开始,mm表示月份从0开始
            //HH表示24小时制,hh表示12小时制
            //SimpleDateFormat导这个包--import java.text.SimpleDateFormat
            String time = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss").format(new Date());
            Bundle bundle = new Bundle();
            Message message = new Message();
            //将数据绑定到Bundle上
            bundle.putString("time",time);
            //bunndle传值,耗时,效率低
            message.setData(bundle);
            //发送message数据
            handler.sendMessage(message);
            //标志是哪个线程传过来的
            message.what = 0x11;
        }
    }
}

想说的都在注释里 

xml文件里就一个Button,一个TextView,so easy

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以通过以下步骤在 Android Studio 中获取当前时间并实时显示: 1. 在布局文件中添加一个 TextView 控件,用于显示当前时间。例如: ```xml <TextView android:id="@+id/current_time" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="24sp" /> ``` 2. 在 Activity 中获取 TextView 控件的引用,并创建一个 Handler 对象和一个 Runnable 对象。例如: ```java private TextView currentTime; private Handler handler = new Handler(); private Runnable runnable = new Runnable() { @Override public void run() { // 获取当前时间 SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss", Locale.getDefault()); String time = sdf.format(new Date()); // 更新 TextView 控件的文本 currentTime.setText(time); // 每隔一秒钟更新一次时间 handler.postDelayed(this, 1000); } }; ``` 3. 在 Activity 的 onCreate 方法中启动 Runnable 对象。例如: ```java @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); currentTime = findViewById(R.id.current_time); // 启动 Runnable 对象 handler.post(runnable); } ``` 这样就可以在 TextView 控件中实时显示当前时间了。注意,为了避免内存泄漏,应该在 Activity 的 onDestroy 方法中停止更新时间。例如: ```java @Override protected void onDestroy() { super.onDestroy(); // 停止更新时间 handler.removeCallbacks(runnable); } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值