Title

Saturday, 7 February 2015

Adding Android Time Picker Hours and MInutes to SQLite Database in Android


Hi I'm beginner Android Programmer. I'm trying to add the TimePicker hours and minutes in the SQLiteDatabase. My code works, but when I look at the database table, the only thing I see is the columns which are column hour and column minutes. Below are my codes: My main class, DatabaseHandler class and Constructor class.

MyMainActivity class:

public class MainActivity extends Activity {     static final int TIME_DIALOG_ID = 999;     private TextView tvDisplayTime;   private TimePicker timePicker1;   private Button btnChangeTime;     private int hour;   private int minute;   DataBaseHandler db;     @Override   public void onCreate(Bundle savedInstanceState) {   super.onCreate(savedInstanceState);   setContentView(R.layout.activity_main);     db = new DataBaseHandler(this);     setCurrentTimeOnView();   addListenerOnButton();   }     public void setCurrentTimeOnView() {     tvDisplayTime = (TextView) findViewById(R.id.tvTime);   timePicker1 = (TimePicker) findViewById(R.id.timePicker1);     final Calendar c = Calendar.getInstance();   hour = c.get(Calendar.HOUR_OF_DAY);   minute = c.get(Calendar.MINUTE);     tvDisplayTime.setText(new StringBuilder().append(pad(hour)).append(":").append(pad(minute)));     timePicker1.setCurrentHour(hour);   timePicker1.setCurrentMinute(minute);   }     public void addListenerOnButton() {   btnChangeTime = (Button) findViewById(R.id.btnChangeTime);   btnChangeTime.setOnClickListener(new OnClickListener() {     @Override   public void onClick(View v) {   showDialog(TIME_DIALOG_ID);   }   });   }     @Override   protected Dialog onCreateDialog(int id) {   switch (id) {   case TIME_DIALOG_ID:   return new TimePickerDialog(this, timePickerListener, hour, minute, false);   }   return null;   }     private TimePickerDialog.OnTimeSetListener timePickerListener = new TimePickerDialog.OnTimeSetListener() {     @Override   public void onTimeSet(TimePicker view, int selectedHour, int selectedMinute) {   hour = selectedHour;   minute = selectedMinute;     tvDisplayTime.setText(new StringBuilder().append(pad(hour)).append(":").append(pad(minute)));     timePicker1.setCurrentHour(hour);   timePicker1.setCurrentMinute(minute);     final Calendar c = Calendar.getInstance();   hour = 5;   minute = 56;     String HourPrompt = String.valueOf(hour);   String MinutePrompt = String.valueOf(minute);     db.addTheTime(new TimeConstructor(HourPrompt, MinutePrompt));   Toast.makeText(getApplicationContext(), "Time Saved", Toast.LENGTH_LONG).show();   }   };     private static String pad(int c) {   if (c >= 10)   return String.valueOf(c);   else   return "0" + String.valueOf(c);   }  }

My SQLiteOpenHelper:

public class DataBaseHandler extends SQLiteOpenHelper {   private static final int DATABASE_VERSION = 1;   private static final String DATABASE_NAME = "SampleDatabase";   private static final String TABLE_TIME = "time";   public static final String HOUR = "hour";   public static final String MINUTE = "minute";   public static final String CREATE_TIME = "create table TABLE_TIME (hour text not null, minute text not null);";     SQLiteDatabase db;     public DataBaseHandler(Context context) {   super(context, DATABASE_NAME, null, DATABASE_VERSION);   }     public void onCreate(SQLiteDatabase db) {   db.execSQL(CREATE_TIME);   }     public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {     db.execSQL("DROP TABLE IF EXISTS " + TABLE_TIME);     onCreate(db);   }     public void addTheTime(TimeConstructor prompt) {   SQLiteDatabase db = this.getWritableDatabase();   ContentValues theTime = new ContentValues();   theTime.put(HOUR, prompt.hour);   theTime.put(MINUTE, prompt.minute);     db.insert(TABLE_TIME, null, theTime);   db.close();   }     public Cursor returndata() {   SQLiteDatabase db = this.getReadableDatabase();   return db.query(TABLE_TIME, new String[]{HOUR, MINUTE}, null, null, null, null, null);   }  }

My TimeConstructor class:

public class TimeConstructor {     String hour;   String minute;     public TimeConstructor(String newHour, String newMinute) {   this.hour = newHour;   this.minute = newMinute;   }  }
Answer

No comments:

Post a Comment