android 应用--->睡眠助手功能实现

代码下载见:http://download.csdn.net/source/3477225


上篇文章上纪录了睡眠助手的UI的实现。现在纪录下睡眠助手功能的实现

上篇文章的时间和开关设置是单独的按钮实现的,后来发现这样设计不合理,就把时间设置改成了只有在选中了开关设置的开之后才可以设置时间。整合代码如下:

//设置开关按钮事件监听
    class SetOnOffListener implements OnClickListener {

    	AlertDialog singleDialog = null ;
		@Override
		public void onClick(View v) {
			
			final String[] strs = new String[]{"开","关"};
			
			singleDialog = new AlertDialog.Builder(HelperMain.this)
							.setTitle("设置开关")
							.setIcon(android.R.drawable.ic_dialog_info)
							.setSingleChoiceItems(strs, 0,
									new DialogInterface.OnClickListener() {
										
										@Override
										public void onClick(DialogInterface dialog, int which) {
											if(strs[which].equals("开")) {
												helper = true ;
												setTime();
												//openHelper();
												
											} else if(strs[which].equals("关")){
												close();
												helper = false ;
												onOffShow.setText("关");
												Toast.makeText(HelperMain.this, "助手已关", Toast.LENGTH_SHORT).show();
											}
											singleDialog.dismiss();
											SharedPreferences uiState = getPreferences(0);
											SharedPreferences.Editor editor = uiState.edit();
											editor.putBoolean("on_off", helper);
											editor.commit();
										}
									})
									.create();
			singleDialog.show();
		}
    	
    }


 

这里是时间的设置:

public void setTime() { final Time t = new Time(); t.setToNow(); new TimePickerDialog(HelperMain.this, new TimePickerDialog.OnTimeSetListener() { @Override public void onTimeSet(TimePicker view, int hourOfDay, int minute) { String time ; if(hourOfDay > 12) { if((hourOfDay - 12) >= 10) { time = (hourOfDay - 12) + " : " + minute + " pm" ; } else { time = "0" + (hourOfDay - 12) + " : " + minute + " pm" ; } } else if(hourOfDay == 12) { time = hourOfDay + " : " + minute + " pm" ; }else { if(hourOfDay >= 10){ time = hourOfDay + " : " + minute + " am" ; } else { time = "0" + hourOfDay + " : " + minute + " am" ; } } //calendar.setTimeInMillis(System.currentTimeMillis()); calendar.set(t.year,t.month,t.monthDay,hourOfDay,minute,0); timeShow.setText(time); SharedPreferences uiState = getPreferences(0); SharedPreferences.Editor editor = uiState.edit(); editor.putString("time", time); //一定要记得在存入数据之后要调用commit方法,不然getXXX的时候会获取不到值 editor.commit(); if(helper) { openHelper(); onOffShow.setText("开"); } } }, t.hour, t.minute, false).show(); }



到这里就完成了开关,时间和回复内容的设置。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值