/there/src/com/google/marvin/there/DbManager.java

http://eyes-free.googlecode.com/ · Java · 78 lines · 53 code · 15 blank · 10 comment · 2 complexity · 02f18836ab69ec2ec8b4dcaee61df0d9 MD5 · raw file

  1. package com.google.marvin.there;
  2. import java.util.ArrayList;
  3. import android.content.ContentValues;
  4. import android.content.Context;
  5. import android.database.Cursor;
  6. import android.database.sqlite.SQLiteDatabase;
  7. public class DbManager {
  8. private final String DATABASE_NAME = "MARVIN_THERE";
  9. private final String DATABASE_TABLE = "LOCATIONS";
  10. SQLiteDatabase db;
  11. Context parent;
  12. public DbManager(Context ctx) {
  13. parent = ctx;
  14. db = parent.openOrCreateDatabase(DATABASE_NAME, Context.MODE_PRIVATE, null);
  15. /* Create a Table in the Database. */
  16. // Uncomment this line to drop the table and reset it - dev purposes only
  17. //db.execSQL("DROP TABLE IF EXISTS " + DATABASE_TABLE);
  18. db.execSQL("CREATE TABLE IF NOT EXISTS " + DATABASE_TABLE
  19. + "(_id integer primary key autoincrement, Name VARCHAR, Desc VARCHAR,"
  20. + " Lat VARCHAR, Lon VARCHAR);");
  21. }
  22. public void put(Place place) {
  23. /*
  24. * db.execSQL("INSERT INTO " + DATABASE_TABLE + " (Name, Desc, Lat, Lon)" +
  25. * " VALUES ('" + place.name + "', '" + place.desc + "', '" + place.lat +
  26. * "', '" + place.lon + "');");
  27. */
  28. ContentValues placeValues = new ContentValues();
  29. placeValues.put("Name", place.name);
  30. placeValues.put("Desc", place.desc);
  31. placeValues.put("Lat", place.lat);
  32. placeValues.put("Lon", place.lon);
  33. db.insert(DATABASE_TABLE, null, placeValues);
  34. }
  35. public Place get(String name) {
  36. Place answer = null;
  37. Cursor c =
  38. db.query(DATABASE_TABLE, null, "Name = '" + name + "';", null, null, null, null, null);
  39. if (c.moveToFirst()) {
  40. // 0th position is the ID
  41. answer = new Place(c.getString(1), c.getString(2), c.getString(3), c.getString(4));
  42. }
  43. return answer;
  44. }
  45. public void delete(String name) {
  46. db.delete(DATABASE_TABLE, "Name = '" + name + "';", null);
  47. }
  48. public ArrayList<Place> toArrayList() {
  49. ArrayList<Place> list = new ArrayList<Place>();
  50. Cursor c = db.query(DATABASE_TABLE, null, null, null, null, null, null, null);
  51. while (c.moveToFirst()) {
  52. // 0th position is the ID
  53. list.add(new Place(c.getString(1), c.getString(2), c.getString(3), c.getString(4)));
  54. }
  55. return list;
  56. }
  57. public Cursor getCursor() {
  58. Cursor c =
  59. db.query(true, DATABASE_TABLE, null, null, null,
  60. null, null, null, null);
  61. return c;
  62. }
  63. }