Próbuję utworzyć aplikację na Androida, która określi, ile czasu pozostało do ukończenia zadania. Podążałem za samouczkiem Vogelli, szczególnie tej części http://www.vogella.com/articles/AndroidSQLite/article.html#todo, aby stworzyć dostawcę treści i bazę danych. Wprowadza do listview dwie rzeczy, nazwę zadania i liczbę dni pozostałych (ta ostatnia jest obliczana, gdy użytkownik wybierze datę końcową w innym działaniu). Moja aplikacja kalcualtes bieżąca data i odejmuje go od daty zakończenia i zapisuje, ile dni pozostało w bazie danych. Problem polega na tym, że jest to przechowywane tylko raz. Za trzy dni pozostanie jeszcze 4 dni. Chcę, aby aplikacja sprawdzała, ile dni pozostało przy każdym uruchomieniu klienta (sprawdź bieżącą datę, odejmij od daty zakończenia i zaktualizuj tę kolumnę w bazie danych). Problem polega na tym, że nie jestem pewien, jak to zrobić. Gdyby ktoś dał mi wskazówki, byłbym wdzięczny.Aktualizowanie dostawców zawartości Androida dla niektórych kolumn
5
A
Odpowiedz
17
wykonać obliczenia następnie zrobić getContentResolver().update(uri,values,selection,selectionArgs);
EDIT:
więc wystarczy zaktualizować z wartościami
ContentValues values = new ContentValues();
values.put(HabitTable.TIME); //whatever column you want to update, I dont know the name of it
...//any other values you want to update too
getContentResolver().update(HabitTable.CONTENT_URI,values,HabitTable.ID+"=?",new String[] {String.valueOf(id)}); //id is the id of the row you wan to update
oczywiście trzeba będzie wymienić rzeczy z prawidłowymi nazwami kolumn
jaki sposób Robię to jednak dla każdego Id? Nie wiem, jaki kod podać, aby uzyskać dostęp do każdego identyfikatora na liście. Myślę, że to, co mam na myśli, to to, że nie znam składni dla zapytania kursora, aby pobrać każdy Id w bazie danych i pobrać ich daty końcowe. – user2525981
używasz 'selection' i' selectionArgs', aby powiedzieć mu, gdzie ma się udać. Przeczytaj, jak korzystać z dostawców treści w dokumentach http://developer.android.com/guide/topics/providers/content-provider-basics.html#Modifications – tyczj
Dzięki, sprawdzę to. Dzięki za szybkie odpowiedzi. – user2525981