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

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

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

先找到文件activity_main.xml,去做一下布局,设置一下横屏,布局完成后,效果如下图所示
【Android】开发一个简单时钟应用每天看时间起床_第1张图片
接下来,找到文件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的不准哦
【Android】开发一个简单时钟应用每天看时间起床_第2张图片

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

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

你可能感兴趣的:(#,Android,android,java,ui,入门,时钟)