当前位置:   article > 正文

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

时钟app开发

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

在电脑上,打开我们熟悉的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();
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87

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

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

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

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

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

请添加图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/675771
推荐阅读
相关标签
  

闽ICP备14008679号