有没有想过,家里闲置不用的旧手机可以当时钟闹钟来用,觉得这个想法可以吧,把闲置手机充分利用起来了呢,接下来给大家讲一下如何实现,功能简单,可以当作编程入门课。
在电脑上,打开我们熟悉的AndroidStudio开发工具,选择新建一个项目,名字自己随意填,例如我的叫AlarmClock,选择空页模板,然后等待它创建好
先找到文件
activity_main.xml
,去做一下布局,设置一下横屏,布局完成后,效果如下图所示
接下来,找到文件
MainActivity.java
,开始写代码,很简单的,只需少许代码,详细如下
publicclassMainActivityextendsAppCompatActivity{TextView showTime,showHour,showMinue,showDiv;Timer timer =null;@OverrideprotectedvoidonCreate(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);//线程通信finalHandler handler =newHandler();//更新UIfinalRunnable run =newRunnable(){@Overridepublicvoidrun(){updateShowTime();}};//定时器TimerTask tTask =newTimerTask(){@Overridepublicvoidrun(){
handler.post(run);}};
timer =newTimer();
timer.schedule(tTask,0,1000);}privatevoidupdateShowTime(){Date time =newDate();
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")@OverrideprotectedvoidonResume(){if(getRequestedOrientation()!=ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE){setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);}super.onResume();}@OverrideprotectedvoidonDestroy(){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
类,
具体怎么写呢,这里不多说,到此结束,走了走了。
听说,只要把这个应用装在手机上,睡觉前就打开,放到手机架上,明天一早醒来就能第一个开眼看到时间,心想着再睡一会儿吗,不知道是谁的闹钟放了一首歌:有个懒猪起床了,太阳都晒屁股了…
版权归原作者 TA远方 所有, 如有侵权,请联系我们删除。