Kalender - wo befindet sich der Speicher?

  • Antworten:11
NoWo
  • Forum-Beiträge: 17

05.02.2014, 09:36:58 via Website

Hallo,

mich würde es mal interessieren, wo der Android-Kalender seine Einträge speichert.
Die müssten doch in einer Datenbank auf dem Android-Gerät gespeichert sein?

Habe Root-Zugriff aber dennoch kann ich nichts finden..

Antworten
Sascha M.
  • Forum-Beiträge: 435

05.02.2014, 10:05:22 via App

Wenn du als Hauptkalender den Google Kalender eingestellt hast, werden die Einträge sofort mit dem Google Server synchronisiert und dort gespeichert... Von einer Datenbank im Gerät wüsste ich nichts...

Wer Rechtschreibfehler findet, darf sie behalten oder gegen Pokémon-Karten tauschen. | DISCLAIMER : Ich versuche stets Tipps zu geben, die ich in anderen Threads aufgeschnappt und auch selbst ausprobiert habe. Sollte sich dein Gerät in irgendeiner Weise anders verhalten dann hast DU was falsch gemacht! | Unterstützt doch auch bitte die Jungs von Zuerst denken, dann Klicken! Danke! | LG V30 @ Stock

Antworten
Klaus T.
  • Forum-Beiträge: 8.183

05.02.2014, 10:09:53 via App

Für die Kalenderinhalte ist der "Kalenderspeicher" zuständig. Zu finden unter Einstellungen - Apps - Alle ( com.android.providers.calendar). Die Daten sind im zugehörigen Verzeichnis unter /data/data in einer Datenbankdatei gespeichert. Mit einem entsprechenden Tool (z. B. SQLiteManager) kann man da auch rein gucken.

if all else fails, read the instructions.

Antworten
NoWo
  • Forum-Beiträge: 17

05.02.2014, 10:31:53 via Website

@Sascha: Ich habe den Auto-Sync ausgeschaltet, sodass er die Termine lokal auf dem Gerät abspeichert und nur bei manuellem Sync mit Google abgleicht.

@Klaus: Wenn du mir nun noch sagen könntest, wo sich die Datenbankdatei genau befindet wäre ich dir sehr dankbar.
Im Verzeichnis "/data/data/com.android.providers.calendar/databases" gibt es bei mir 1 Datenbankdatei: calendar.db

Habe gerade gesehen, dass wenn ich sie als Text öffne den Inhalt sehe, wenn ich sie aber kopiert habe kann sie nicht geöffnet werden (Fehler beim Öffnen der Datei).

Seltsam, obwohl Root-Zugriff.

Wenn ich die Datei direkt per K9 sende ist die Datei auch leer.

Ist das bei dir auch so (falls nicht: wie kopierst/versendest du die Datei?)

Antworten
Klaus T.
  • Forum-Beiträge: 8.183

05.02.2014, 10:34:20 via App

Das ist die richtige Datei. Ich habe sie nach /sdcard kopiert und mit SQLiteManager rein geschaut.

if all else fails, read the instructions.

Antworten
NoWo
  • Forum-Beiträge: 17

05.02.2014, 10:45:07 via Website

Ich bekomm hier noch die Krise: bei mir ist die Datei immer leer, außer wenn ich die originale "/data/data/com.android.providers.calendar/databases/calendar.db" aufmache.
Habe jetzt testweise eine Zip-Datei erstellt von der calendar.db. In der Zip-Datei ist sie i.O.
Kopiere ich aber nun die ZIP-Datei in einen anderen Ordner ist auf einmal keine calendar.db mehr drin ?!?!
Kann doch nicht sein..

Welche Android-Version hast du ? Meine ist die 4.1.2

Update: Ich werd verrückt: die db-Datei in der ZIP-Datei ist nun lesbar! Dann hat wohl nur der Kopier-Vorgang so lange gebraucht obwohl er gesagt hat, dass er fertig wäre...

— geändert am 05.02.2014, 11:00:46

Antworten
Klaus T.
  • Forum-Beiträge: 8.183

05.02.2014, 10:57:09 via App

Ich habe 4.4.2, aber sowas habe ich auch mit älteren Versionen schon gemacht. Mit einem normalen Editor sieht man aber 'eh nichts sinnvolles darin...

if all else fails, read the instructions.

Antworten
NoWo
  • Forum-Beiträge: 17

05.02.2014, 11:01:41 via Website

Ja mir ging es nur darum, ob überhaupt was drin ist bevor ich die Datei aufwändig auslese :D

Antworten
reinold p
  • Forum-Beiträge: 3.401

05.02.2014, 11:08:18 via App

was ist dein Ziel - was willst du mit den Daten tun?

Antworten
Klaus T.
  • Forum-Beiträge: 8.183

05.02.2014, 11:08:22 via App

So sieht die Tabellenübersicht aus...

if all else fails, read the instructions.

Antworten
NoWo
  • Forum-Beiträge: 17

05.02.2014, 11:25:40 via Website

Ja ich habe den SQLite Administrator für Windows (ohne Installation, kostenfrei).

Ich habe in Tasker mir einen Wecker gebastelt, welcher nur Mo-Fr klingelt wenn ich nicht Urlaub habe und kein Feiertag ist.
Nun habe ich ab und zu einen Termin an einem Tag, wo ich 30min früher geweckt werden will.
Da der Termin nicht immer zur selben Uhrzeit ist möchte ich anhand einer SQL-Abfrage ermitteln, ob an diesem Tag dieser Termin ist.
Hierfür muss ich natürlich wissen, wie die DB aufgebaut ist. Danach würde ich per Befehl den nächsten Termin in Tasker ermitteln und abhängig davon den Wecker normal bzw. 30min früher klingeln lassen.

Antworten
reinold p
  • Forum-Beiträge: 3.401

05.02.2014, 11:40:47 via App

dazu bin ich zu doof
viel Spaß beim Wecken

Antworten