TimePicker를 이용해서 시간을 설정하고 그 설정 값을 db에 저장 하려니 오류가 뜨네요...

logcat 오류를 보니깐 value 값이 ? 로 되어 잇는데요...

 

ContentValues newValues = new ContentValues();

     newValues.put(mDBHelper.KEY_START_TIME_HOUR,
       startTime.getCurrentHour());
     newValues.put(mDBHelper.KEY_START_TIME_MINUTE,
       startTime.getCurrentHour());
     newValues.put(mDBHelper.KEY_END_TIME_HOUR,
       endTime.getCurrentHour());
     newValues.put(mDBHelper.KEY_END_TIME_MINUTE,
       endTime.getCurrentMinute());

     db.insert(mDBHelper.DATABASE_TABLE, null, newValues);

TimePicker가 있는 부분에서 insert하는 구문입니다. getCurrent*(); 이렇게 하며는 설정한 값을 받아오는 것이 아닌지요.....

혹시나 해서 전체적인 소스도 올립니다... ㅜㅜ

 

 

 

 

 

public class TimeActivity$2 extends Activity implements OnClickListener,  OnTimeChangedListener {

 

 private MyDBHelper$2 mDBHelper;
 private int mId;
 private String today;
 private Cursor cursor;
 private Calendar calStart;
 private Calendar calEnd;

 // Gregorian

 private SQLiteDatabase db;

 private int mHour;
 private int mMinute;

 private TimePicker startTime;
 private TimePicker endTime;

 private Button bSave;
 private Button bCancel;
 private Intent intent;

 // private AlarmManager mAlarm;

 

@Override
 public void onCreate(Bundle savedInstanceState) {

 

  super.onCreate(savedInstanceState);
  setContentView(R.layout.time);

  startTime = (TimePicker) findViewById(R.id.start_time);
  startTime.setIs24HourView(false);

  endTime = (TimePicker) findViewById(R.id.end_time);
  endTime.setIs24HourView(false);

  bSave = (Button) findViewById(R.id.tSave_button);
  bSave.setOnClickListener(this);

  bCancel = (Button) findViewById(R.id.tCancel_button);
  bCancel.setOnClickListener(this);

  Intent intent = getIntent();
  mId = intent.getIntExtra("ParamID", -1);

  mDBHelper = new MyDBHelper$2(this);

 

  if (mId != -1) {

   db = mDBHelper.getReadableDatabase();
   db.rawQuery("SELECT * FROM " + mDBHelper.DATABASE_TABLE + " WHERE "
     + mDBHelper.KEY_ROWID + "='" + mId + "'", null);
   if (cursor.move(mId)) {
    startTime.setCurrentHour(cursor
      .getInt(mDBHelper.FIND_BY_START_TIME_HOUR));
    startTime.setCurrentMinute(cursor
      .getInt(mDBHelper.FIND_BY_START_TIME_MINUTE));

    endTime.setCurrentHour(cursor
      .getInt(mDBHelper.FIND_BY_END_TIME_HOUR));
    endTime.setCurrentMinute(cursor
      .getInt(mDBHelper.FIND_BY_END_TIME_MINUTE));

   }

   //현재시간 설정

   startTime.setCurrentHour(calStart.get(Calendar.HOUR_OF_DAY));
   startTime.setCurrentMinute(calStart.get(Calendar.MINUTE));
   endTime.setCurrentHour(calEnd.get(Calendar.HOUR_OF_DAY));
   endTime.setCurrentHour(calEnd.get(Calendar.MINUTE));

   startTime.setOnTimeChangedListener(this);
   endTime.setOnTimeChangedListener(this);

 

  }

 }

 

 public void onTimeChanged(TimePicker v, int hourOfDay, int minute) {


  switch (v.getId()) {
  case R.id.start_time:


   calStart = Calendar.getInstance();
   calStart.set(Calendar.HOUR_OF_DAY, hourOfDay);
   calStart.set(Calendar.MINUTE, minute);
   Log.i("StartTime", calStart.getTime().toString());


  case R.id.end_time:


   calEnd = Calendar.getInstance();
   calEnd.set(Calendar.HOUR_OF_DAY, hourOfDay);
   calEnd.set(Calendar.MINUTE, minute);
   Log.i("EndTime", calEnd.getTime().toString());


  }
 }

 public void onClick(View v) {

  // TODO Auto-generated method stub

  switch (v.getId()) {

 

  case R.id.tSave_button:
   db = mDBHelper.getWritableDatabase();

 

   if (mId != -1) {
    try{

    db.execSQL("UPDATE " + mDBHelper.DATABASE_TABLE + " SET "
      + mDBHelper.FIND_BY_START_TIME_HOUR + "='"
      + startTime.getCurrentHour() + "', "
      + mDBHelper.FIND_BY_START_TIME_MINUTE + "='"
      + startTime.getCurrentMinute() + "', "
      + mDBHelper.FIND_BY_END_TIME_HOUR + "='"
      + endTime.getCurrentHour() + "', "
      + mDBHelper.FIND_BY_END_TIME_MINUTE + "='"
      + endTime.getCurrentMinute() + "'" + "' WHERE "
      + mDBHelper.KEY_ROWID + "='" + mId + "';");

    Toast.makeText(
      this,
      "시작시간 " + startTime.getCurrentHour() + "시"
        + startTime.getCurrentHour() + "분 / " + "종료시간 "
        + endTime.getCurrentHour() + "시"
        + endTime.getCurrentMinute() + "분이 수정 되었습니다.",
      Toast.LENGTH_LONG).show();
    } catch(SQLiteException e){
     Log.e("time updata error", "142");
    }

   } else {
    try {
     ContentValues newValues = new ContentValues();

     newValues.put(mDBHelper.KEY_START_TIME_HOUR,
       startTime.getCurrentHour());
     newValues.put(mDBHelper.KEY_START_TIME_MINUTE,
       startTime.getCurrentHour());
     newValues.put(mDBHelper.KEY_END_TIME_HOUR,
       endTime.getCurrentHour());
     newValues.put(mDBHelper.KEY_END_TIME_MINUTE,
       endTime.getCurrentMinute());

     db.insert(mDBHelper.DATABASE_TABLE, null, newValues);

     Toast.makeText(
       this,
       "시작시간 " + startTime.getCurrentHour() + "시"
         + startTime.getCurrentHour() + "분 / "
         + "종료시간 " + endTime.getCurrentHour() + "시"
         + endTime.getCurrentMinute()
         + "분이 저장 되었습니다.", Toast.LENGTH_LONG).show();
    } catch (SQLiteException e) {
     Log.e("time insert error", "162");
    }
    
    intent.putExtra("ParamTimeID", mId);
   }

   setResult(RESULT_OK);

   break;

  case R.id.tCancel_button:

   setResult(RESULT_CANCELED);

   break;

  }
  finish();

 }

}