【Android】开发一个简单时钟应用每天看时间起床

有没有想过,家里闲置不用的旧手机可以当时钟闹钟来用,觉得这个想法可以吧,把闲置手机充分利用起来了呢,接下来给大家讲一下如何实现,功能简单,可以当作编程入门课。

在电脑上,打开我们熟悉的AndroidStudio开发工具,选择新建一个项目,名字自己随意填,例如我的叫AlarmClock,选择空页模板,然后等待它创建好

先找到文件activity_main.xml,去做一下布局,设置一下横屏,布局完成后,效果如下图所示
在这里插入图片描述
接下来,找到文件MainActivity.java,开始写代码,很简单的,只需少许代码,详细如下

public class MainActivity extends AppCompatActivity {

    TextView showTime,showHour,showMinue,showDiv;
    Timer timer = null;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        Window w = getWindow();
        //保持屏显常亮
        w.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

        //隐藏状态栏
        w.addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);

        //隐藏标题栏
        ActionBar aBar = getSupportActionBar();
        if(aBar!=null){
            aBar.hide();
        }else{
            this.requestWindowFeature(Window.FEATURE_NO_TITLE);
        }

        setContentView(R.layout.activity_main);
        showTime = this.findViewById(R.id.show_time);
        showHour = this.findViewById(R.id.textView_h);
        showMinue = this.findViewById(R.id.textView_m);
        showDiv = this.findViewById(R.id.textView_div);

        //线程通信
        final Handler handler = new Handler();
        //更新UI
        final Runnable run = new Runnable() {
            @Override
            public void run() {
                updateShowTime();
            }
        };
        //定时器
        TimerTask tTask = new TimerTask() {

            @Override
            public void run() {
                handler.post(run);
            }
        };
        timer = new Timer();
        timer.schedule(tTask,0,1000);
    }

    private void updateShowTime() {
        Date time = new Date();

        showHour.setText(String.format("%02d",time.getHours()));
        showMinue.setText(String.format("%02d",time.getMinutes()));
        showTime.setText(String.format("%02d",time.getSeconds()));

        if(showDiv.getVisibility()== View.VISIBLE){
            showDiv.setVisibility(View.INVISIBLE);
        }else{
            showDiv.setVisibility(View.VISIBLE);
        }
    }

    @SuppressLint("SourceLockedOrientationActivity")
    @Override
    protected void onResume() {
        if(getRequestedOrientation()!= ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE){
            setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
        }
        super.onResume();
    }

    @Override
    protected void onDestroy() {
        if(this.mReceiver!=null) {
            this.unregisterReceiver(this.mReceiver);
        }
        if(this.timer!=null) {
            this.timer.cancel();

        }
        getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
        super.onDestroy();
    }
}

于是,一个时钟应用就这样完成了,放在手机上运行,效果如下图(别说喔在那个时候搞的,是模拟器上截图,时间P的不准哦
在这里插入图片描述

如果需要再加个闹钟,到点就响那种,请自行研究,
使用AlarmManager这个类,还有BroadcastReceiver类,
具体怎么写呢,这里不多说,到此结束,走了走了。

听说,只要把这个应用装在手机上,睡觉前就打开,放到手机架上,明天一早醒来就能第一个开眼看到时间,心想着再睡一会儿吗,不知道是谁的闹钟放了一首歌:有个懒猪起床了,太阳都晒屁股了…
请添加图片描述

可以在此基础上改,先已优化显示,增加了显示星期,效果动图如下请添加图片描述

源码已放在资源列表里,有需要的可以前往下载,注意区分有无显示星期的

请添加图片描述

  • 2
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论
开发一个时钟应用程序,你需要遵循以下步骤: 1. 创建一个新的 Android 项目。你可以使用 Android Studio 创建项目,选择“Empty Activity”模板。 2. 编写布局文件。你需要在布局中添加一个 TextView 控件来显示时间,并在布局中添加一些按钮来设置闹钟功能等。 3. 在 MainActivity 类中编写代码。你需要编写代码来获取当前时间,并更新 TextView 控件中的显示时间。同时,你还需要为按钮添加事件处理程序,例如设置闹钟。 4. 测试你的应用程序。你可以在模拟器或者真实设备上运行你的应用程序,检查是否正常工作。 下面是一个简单时钟应用程序的实现示例: 1. 在布局文件中添加一个 TextView 控件和一个 Button 控件: ``` <TextView android:id="@+id/textViewTime" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="40sp" /> <Button android:id="@+id/buttonSetAlarm" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Set Alarm" /> ``` 2. 在 MainActivity 类中编写代码: ``` public class MainActivity extends AppCompatActivity { private TextView textViewTime; private Button buttonSetAlarm; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); textViewTime = findViewById(R.id.textViewTime); buttonSetAlarm = findViewById(R.id.buttonSetAlarm); // 获取当前时间并更新 TextView 控件 updateTime(); // 为按钮添加事件处理程序 buttonSetAlarm.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { setAlarm(); } }); } private void updateTime() { // 获取当前时间 Calendar calendar = Calendar.getInstance(); int hour = calendar.get(Calendar.HOUR_OF_DAY); int minute = calendar.get(Calendar.MINUTE); // 更新 TextView 控件 textViewTime.setText(String.format("%02d:%02d", hour, minute)); } private void setAlarm() { // TODO: 实现设置闹钟的功能 } } ``` 在 updateTime() 方法中,我们使用 Calendar 类获取当前时间,并使用 String.format() 方法将时间格式化为“HH:mm”的形式。在 setAlarm() 方法中,你可以实现设置闹钟的功能,例如弹出一个对话框供用户设置闹钟时间等。 这样,你就可以创建一个简单时钟应用程序了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

TA远方

谢谢!收到你的爱╮(╯▽╰)╭

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值