最近这些日子,经常需要每天晚上在电饭锅上设置定时煮饭,以备第二天的早餐。但是计算倒计时时间是一件讨厌并且费脑子的事情。于是我趁今天周末写了这么一个Android手机软件,还开放源代码了。

“煮饭时间”——一个很简单的计算煮饭时间的Android手机软件,作者Liigo。

项目首页:https://github.com/liigo/cooktime

下载地址:CookTime.apk(270KB)

“煮饭时间”软件的主要功能是:

  • 计算并显示当前时间与开饭时间的时间间隔

  • 软件启动后、修改开饭时间后自动计算

  • 显示部分放在屏幕上方、操作部分放在屏幕下方,方便使用

  • 自动记忆修改后的开饭时间

  • 可以重新计算时间间隔

软件主界面如下:

  


软件核心Java源代码如下

package com.liigo.cooktime;public class MainActivity extends Activity {private TextView   textViewShowTime;private TimePicker timePickerMealTime;private Button     buttonCalcTime;SharedPreferences  pref;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);textViewShowTime   = (TextView)   findViewById(R.id.textViewShowTime);timePickerMealTime = (TimePicker) findViewById(R.id.timePickerMealTime);buttonCalcTime     = (Button)     findViewById(R.id.buttonCalcTime);// 初始化开饭时间,恢复上次运行时存储的开饭时间pref = PreferenceManager.getDefaultSharedPreferences(this);timePickerMealTime.setIs24HourView(true);timePickerMealTime.setCurrentHour(pref.getInt("MealTime.Hour", 8));timePickerMealTime.setCurrentMinute(pref.getInt("MealTime.Minute", 0));calcTime(); // 计算并显示距离开饭时间的间隔时长buttonCalcTime.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View view) {calcTime();}});timePickerMealTime.setOnTimeChangedListener(new OnTimeChangedListener() {@Overridepublic void onTimeChanged(TimePicker timePicker, int hour, int minute) {calcTime();// 存储开饭时间Editor editor = pref.edit();editor.putInt("MealTime.Hour", hour);editor.putInt("MealTime.Minute", minute);editor.commit();}});}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;}/** * 计算并显示当前时间与开饭时间之间间隔的时间差 */private void calcTime() {// 现在时间(本地时区)Calendar calendar = Calendar.getInstance();int fromHour   = calendar.get(Calendar.HOUR_OF_DAY); // 24小时制int fromMinute = calendar.get(Calendar.MINUTE);// 开饭时间int endHour   = timePickerMealTime.getCurrentHour(); // 24小时制int endMinute = timePickerMealTime.getCurrentMinute();Log.d("cooktime", "from "+fromHour+":"+fromMinute+" to "+endHour+":"+endMinute);// 取二者时间间隔int hour, minute;if(fromHour > endHour || (fromHour == endHour && fromMinute > endMinute)) {endHour += 24;}hour = endHour - fromHour;minute = endMinute - fromMinute;if(minute < 0) {minute += 60;hour--;if(hour < 0) hour += 24;}String showtimeStr = "";showtimeStr += hour + "小时" + minute + "分钟";textViewShowTime.setText(showtimeStr);}}


更多相关文章

  1. “大数据讲师”、“Hadoop讲师”、“Spark讲师”、“云计算讲师
  2. Android(安卓)获取应用的安装时间及更新时间
  3. Android日期时间格式国际化的实现代码
  4. 二级购物车完整版
  5. 简单分析Android里面的TimePicker控件
  6. Android设置Toast长时间显示,及AlertDialog的使用
  7. 【Android(安卓)开发】:UI控件之 DatePicker 输入日期控件的使用
  8. android调用系统相机拍摄多张照片
  9. 最新最全的Android计算器开发教程

随机推荐

  1. Android: AIDL --- Android中的远程接口
  2. Android的进程,线程模型
  3. Phonegap软键盘遮挡输入框问题
  4. Android(安卓)Activity的4种启动模式详解
  5. 漫谈Android安全框架
  6. 在Android程序中使用全局变量
  7. 从Android界面开发谈起
  8. Android(安卓)NDK环境搭建
  9. Android热点回顾第一期
  10. HelloWorld-----Google手机操作系统Andro