赞
踩
有没有想过,家里闲置不用的旧手机可以当时钟闹钟来用,觉得这个想法可以吧,把闲置手机充分利用起来了呢,接下来给大家讲一下如何实现,功能简单,可以当作编程入门课。
在电脑上,打开我们熟悉的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
类,
具体怎么写呢,这里不多说,到此结束,走了走了。
听说,只要把这个应用装在手机上,睡觉前就打开,放到手机架上,明天一早醒来就能第一个开眼看到时间,心想着再睡一会儿吗,不知道是谁的闹钟放了一首歌:有个懒猪起床了,太阳都晒屁股了…
可以在此基础上改,先已优化显示,增加了显示星期,效果动图如下
源码已放在资源列表里,有需要的可以前往下载,注意区分有无显示星期的
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。