Ich versuche, eine Android-Anwendung, die identifizieren, wie viel Zeit für eine Aufgabe abgeschlossen ist, zu machen. Ich habe Vogellas Tutorial gefolgt, insbesondere diesen Teil http://www.vogella.com/articles/AndroidSQLite/article.html#todo, um einen Inhaltsanbieter und eine Datenbank zu erstellen. Es füllt eine Listenansicht mit zwei Dingen, dem Namen der Aufgabe und der Anzahl der verbleibenden Tage (letztere wird berechnet, wenn der Benutzer sein Enddatum in einer anderen Aktivität auswählt). Meine App berechnet das aktuelle Datum und subtrahiert es vom Enddatum und speichert, wie viele Tage in der Datenbank verbleiben. Das Problem ist, dass dies nur einmal gespeichert wird. In drei Tagen werden noch 4 Tage vergehen. Ich möchte, dass die App überprüft, wie viele Tage bei jedem Start des Clients verbleiben (aktuelles Datum prüfen, vom Enddatum subtrahieren und diese Spalte in der Datenbank aktualisieren). Das Problem ist, ich bin nicht sicher, wie es geht. Wenn mir jemand eine Anleitung geben könnte, würde ich es begrüßen.Android Content Provider aktualisieren bestimmte Spalten
5
A
Antwort
17
die Berechnung tun tun dann getContentResolver().update(uri,values,selection,selectionArgs);
EDIT:
so aktualisieren, nur mit den Werten
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
offensichtlich müssen Sie Sachen mit den richtigen Spaltennamen
Verwandte Themen
- 1. android content provider BEHÖRDEN
- 2. Android Custom Content Provider
- 3. Android Facebook Content Provider Behörde
- 4. Content Provider aktualisiert alle Zeilen
- 5. Tests für Android Content Provider seltsames Verhalten
- 6. Content-Provider-Generator für Android Studio
- 7. Recyclerview + Content Provider + CursorLoader
- 8. Content Provider vs ORM
- 9. Content Provider Grant uri Erlaubnis
- 10. Update-Funktion in Content-Provider nicht Datenbank aktualisieren
- 11. Muss ich einen Mutex in Android Content-Provider-Methoden verwenden?
- 12. Wie große Blobs in einem Android-Content-Provider speichern?
- 13. Zugriff auf UserDictionary Content Provider auf Android API Level 23
- 14. Firmennamen Form Content Provider in Android mit neuen APIs
- 15. Android: Content Provider fügt zwei Zeilen gleichzeitig hinzu
- 16. Wie Android als ANCS Content Provider zu verwenden?
- 17. Was entspricht Content Provider (Android) in Xamarin Entwicklung
- 18. Sollte ich einen Content Provider verwenden?
- 19. Ein Content-Provider zu ersetzen ContactcsContract
- 20. Erzwingen Element Besitzrechte für Content-Provider
- 21. Wie kann ich Content Provider initialisieren?
- 22. SQLite Android aktualisieren eine bestimmte Zeile
- 23. So aktualisieren Sie bestimmte Spalten in db mit EF
- 24. Irgendein cursorLoader mit out-Content-Provider, der Daten nicht ändert?
- 25. Volley Content-Type Header nicht aktualisieren
- 26. Problem beim Öffnen Asset-Datei mit Hilfe des Content Provider
- 27. aktualisieren bestimmte Benutzer FOSuserbundle
- 28. Speichern von Dateien in der Android Datenbank (Custom Content Provider) mit _data field - v1.6
- 29. OmniAuth & openid: bestimmte Felder von OpenID-Provider
- 30. Android Geschichte Content Observer
Wie ersetzen Tue ich das für jede Id? Ich weiß nicht, welchen Code für den Zugriff auf jede ID in der Liste eingeben. Ich denke, ich möchte sagen, dass ich die Syntax nicht kenne, um den Cursor aufzufordern, jede ID in der Datenbank abzurufen und ihre Enddaten abzurufen. – user2525981
verwenden Sie die 'selection' und die' selectionArgs', um sie zu bestimmen, wohin sie gehen sollen. Lesen Sie die Informationen zur Verwendung von Contentprovidern in der Dokumentation http://developer.android.com/guide/topics/providers/content-provider-basics.html#Modifications – tyczj
Vielen Dank, ich werde es überprüfen. Danke für die schnellen Antworten. – user2525981