AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Cross-Platform-Entwicklung Delphi Android Calendar instances auslesen
Thema durchsuchen
Ansicht
Themen-Optionen

Android Calendar instances auslesen

Ein Thema von zeras · begonnen am 22. Mär 2016 · letzter Beitrag vom 23. Mär 2016
Antwort Antwort
zeras

Registriert seit: 11. Mär 2007
Ort: Saalkreis
1.633 Beiträge
 
Delphi 12 Athens
 
#1

Android Calendar instances auslesen

  Alt 22. Mär 2016, 19:34
Hallo,

ich möchte Termine aus dem Android Kalender auslesen. Das geht soweit, nur dass ich die Wiederholtermine nicht auslesen kann. Nach einigen Recherchen soll man nicht die Events auslesen, sondern die Instances.
So in der Art kann ich die Kalenderdaten auslesen. Aber wenn man die Uri auf
"content://com.android.calendar/instances/when" ändert und die Projection Werte anpaßt, geht das nicht. Bei einigen Android Beispielen soll man in der Art "query(ContentResolver cr, String[] projection, long begin, long end)" auslesen, aber da komme ich mit dem bestehenden Quelltext nicht klar.
Hat jemand eine Idee, wie ich an die Instances komme?


Delphi-Quellcode:
Function GetCalEvents(DTNow: TDateTime): Boolean;
var
  Cursor: JCursor;
  l_eventUri: Jnet_Uri;
  SortOrder : JString;
  Selection: JString;
  SelectionArgs: TJavaObjectArray<JString>;
  l_projection: TJavaObjectArray<JString>;
  sSQLEventAbfrage : String;
  EventCount: integer;
  EventId : integer;


begin

  Result := False;

  l_eventUri := StrToJURI('content://com.android.calendar/events');
  l_projection := TJavaObjectArray<JString>.Create(8);
  l_projection.Items[0] := StringToJString(TokTitle);
  l_projection.Items[1] := StringToJString(TokDTStart);
  l_projection.Items[2] := StringToJString(TokDTEnd);
  l_projection.Items[3] := StringToJString(TokEventTimeZone);
  l_projection.Items[4] := StringToJString(TokHasAlarm);
  l_projection.Items[5] := StringToJString(TokOriginal_ID);
  l_projection.Items[6] := StringToJString(TokAllDay);
  l_projection.Items[7] := StringToJString(TokID);

  SortOrder := StringToJString('dtstart ASC, dtend ASC'); //vom ältesten zum neuesten Eintrag

  Selection := nil;

  Selection := StringToJString(sSQLEventAbfrage);
  SelectionArgs := nil; // im Moment nicht genutzt

  //hier die Abfrage der Termine im jeweiligem Zeitraum
  Cursor := TAndroidHelper.Activity.getContentResolver.query(l_eventUri, l_projection, Selection, SelectionArgs, SortOrder);

  if not Assigned(Cursor) then begin
    Log('GetCalEvents not Assigned(Cursor)',[]);
    Exit;
  end;

  EventCount := Cursor.getCount;
Matthias
Es ist nie falsch das Richtige zu tun!
- Mark Twain
  Mit Zitat antworten Zitat
zeras

Registriert seit: 11. Mär 2007
Ort: Saalkreis
1.633 Beiträge
 
Delphi 12 Athens
 
#2

AW: Android Calendar instances auslesen

  Alt 23. Mär 2016, 19:48
Mein Problem scheint schon sehr speziell zu sein, da derzeit niemand auf mein Problem eine Lösung hat.
Deshalb pusche ich mal diesen Beitrag in der Hoffnung, dass doch noch jemand eine Idee hat.
Ich bin da schon seit letztem Wochenende dran und finde keine Lösung.
Matthias
Es ist nie falsch das Richtige zu tun!
- Mark Twain
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:03 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz