2011-01-28 11 views
7

Chcę przechowywać wartość czasową w bazie danych SQLite w systemie Android. Moja wartość czasu jest w EditText, a kiedy klikam przycisk zapisu, chciałbym, aby wartość czasu była przechowywana w bazie danych. A także chcę przejrzeć już zapisaną wartość w bazie danych.jak przechowywać wartość czasu w bazie danych SQLite w systemie Android?

+0

Czy próbowałeś po prostu przechowywać go jako ciąg? –

+1

nie chcę przechowywać jako czas – user555910

Odpowiedz

2

Sqlite + timestamp = Date and time functions

SQLite + timestamp + android = Timestamp Class

Inne opcje

  • utworzyć kolumnę dla każdego kawałka informacji, które chcesz zapisać (dzień, godzina, minuta , drugi itd.)
  • zamień czas na długi i zapisz go zamiast tego. Użyj java.sql.Time
6

SQLite doesn't have a specific datatype for storing times i pozostawia go do ciebie, czy chcesz zapisać je w postaci tekstu, liczb całkowitych, lub wartości zmiennoprzecinkowych, dzięki czemu można ustalić cokolwiek konwencja działa najlepiej dla Ciebie.

Dla aplikacji, w której chcesz, aby czas był edytowalny przez użytkownika, sugeruję zaglądanie do widżetów DatePicker i TimePicker, abyś nie musiał się martwić o parsowanie i formatowanie czasu jako tekstu, a następnie Klasa Java Calendar do konwersji danych z tych na prostą wartość, którą można umieścić w bazie danych (sugerowałbym użycie metody getTimeInMillis() w celu przekonwertowania jej na liczbę całkowitą).

+0

kiedy przechowujemy czas w milisekundach możemy później użyć do alarmu? –

+1

@BibiTahira Tak, wierzę w to. Nie zapominaj, że alarmy muszą być ustawione w strefie czasowej UTC. –

Powiązane problemy