Flashhilfe.de - Flash Community

Nokia API Kalendereinträge anzeigen [Flash CS5]

Forum > Flash Platform auf mobilen Geräten > Nokia API Kalendereinträge anzeigen

 


AntwortenRegistrieren Seite1

 17.07.2010, 20:00 
Beiträge: 6
Wohnort: g
Registriert: Jul 2010

Nokia API Kalendereinträge anzeigen
Hallo Leute,

nachdem meine erste Anfrage ja schon so gut beantwortet wurde, versuch ichs gleich noch einmal :o)

Und zwar habe ich folgenden Code gefunden welcher von Nokia veröffentlicht wurde.

ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
// Import Platform Service Interface
import com.nokia.lib.Service;
// Heading of the application
heading_txt.text = "List Calendar entries";

// Create a new Service object which has Calendar data
var calender = new Service("Service.Calendar", "IDataSource");

// Define input parameters
var inParams = {Type:"CalendarEntry"};

// Define result value
var outParams = calender.GetList(inParams);
if (outParams.ErrorCode == 0) {
     var outList = outParams.ReturnValue;
     var outputEntry = null;
     // Go through all calendar events and print them to the textbox on the
      // scene
   do {
        outputEntry = outList.next();
        if (null != outputEntry) {
           var id = outputEntry.id;
           text_txt.text += "-"+id+"r";
        } else {
           break;
        }
     } while (true);
} else {
      var errorId = outParams.ErrorCode;
     text_txt.text += "Error: "+errorId;
}


Nun diesen Code habe ich wie folgt angepasst:

ActionScript:
1
2
3
4
5
6
         var ty = outputEntry.Type;
         var su = outputEntry.Summary;
         var ti = outputEntry.StartTime;

         text_txt.text += "- "+su+"r";
         date_txt.text += +ti+"r";


Type zeigt an ob Meeting... Summary den gesetzen Namen und StartTime eben den Zeitpunkt!

Nun folgendes:

1. Frage: Kann ich die Anzeige von StartTime noch irgendwie bearbeiten? Ich habe ein Programm gesehen wo die Anzeige nicht so bescheuert ist. (Orginal zeigt: Fri Jul 16 20:30:00 GMT+2 2010 an)

2. Frage: Wieso könnte mir diese Anzeige immer Tag - 1 anzeigen? im oben genannten Beispiel habe ich z.B. einen Eintrag am 17en um 20:30 gesetzt...

3. Frage: Gibt es irgend eine Möglichkeit den Wert Type zu verwenden um dadurch Icon´s anzuzeigen? Dieser Wert hat 5 Möglichkeiten (Meeting...) Könnte ich das irgendwie auslesen quasie If type = Meeting...

Vielleicht kann ja die folgende Seite alle weiteren Unklarheiten beheben:

Nokia Variablen-Tabelle

Hoffe ihr versteht das ganze ^.^ Ich habs nämlich echt satt, dass es nur sinnlose Homescreens fürs Vivaz gibt :/
Geändert von mkl23 am 17.07.10 um 20:04 Uhr

 18.07.2010, 13:56Re1
Benutzerbild von vindelFlashhilfe.de Moderator
Beiträge: 2702
Wohnort: Köln
Registriert: Oct 2007

Also zu Frage 1 hier:
http://www.adobe.com/support/flash/action_scripts/actionscript_dictionary/actionscript_dictionary153.html

Frage 2 habe ich nicht so ganz verstanden :)

bei der 3 gibt es mehrer Möglichkeiten - per switch, per if - else if oder einfach per Instanzennamne ;)
Am einfachsten ist es, du erstellst dir deine paar Bildchen und wählst unter den Eigenschaften "Verknüpfen für AS" undgibst dann da einen Namen an. Der Name sollte genau der gleiche sein, wie die Variable type beinhaltet.
Jetzt einfach nur
ActionScript:
1this.attachMovie(type, "neuerName", 1);
public Weltformel(Problem){
      if (Problem gelöst) return Lösung;
      else Weltformel(kleiners Problem);
}
 18.07.2010, 16:29Re2
Beiträge: 6
Wohnort: g
Registriert: Jul 2010

Themenautor/in

Hallo und danke erstmal :)

Also das mit dem Datum etc. hab ich nun alles alleine geschafft durch rumprobieren aber trotzdem danke. Zum Punkt 3 könntest du das ganze nochmal konkreter erklären. Das Problem wäre halt, dass das Icon in ein Textfeld soll geht das überhaupt?

Was ich mir genau vorstelle:

Icon - Name
Leer - Datum - Uhrzeit
----------------------

Das mit Name Datum Uhrzeit hab ich ja wie gesagt schon.

Was ein anderes Problem ist. Ich hab derzeit nur 3-4 Einträge und dann klappt die Anzeige auf dem Handy perfekt! Jedoch schafft die swf es nicht wenn ich mehrere Einträge habe! Was sie ja eigentlich auch nicht muss, da mir der Platz auf meinem Homescreen sowieso nur für 4-5 Einträge reicht...

Nun meine Frage und zwar habe ich etwas gelesen von einem Filter (StartRange/EndRange) jedoch verstehe ich nicht so ganz wie ich das ins Script integrieren muss :/

Ich hätte gerne das StartRange eben das heutige Datum und EndRange das heutig Datum + 7 Tage ist.

Folgende Infos hab ich gefunden:
ActionScript:
1
2
3
4
5
6
7
8
9
10
11
[parameters.Filter.StartRange]   

If only StartRange is specified, all entries that occur on or after this date are retrieved.

If both StartRange and EndRange are specified, all entries that occur within these dates are retrieved.      

[parameters.Filter.EndRange]
   
If only EndRange is specified, all entries that occur on or before this date are retrieved.

If both StartRange and EndRange are specified, all entries that occur within these dates are retrieved.


Kannst du mit der Information etwas anfangen? Weis nicht genau wo ich nun das reinschreiben soll :(
 
nicht sichtbar bei eingeloggten Mitgliedern
 19.07.2010, 10:48Re3
Benutzerbild von vindelFlashhilfe.de Moderator
Beiträge: 2702
Wohnort: Köln
Registriert: Oct 2007

Hallo,
Also du könntest auch icons in textfeld einfügen, es würde sich aber mehr anbieten, einen Movieclip mit festen textfeldern zu erstellen, den du dann für jedes Objekt rein lädst!

Ich habe leider noch nicht wirklich viel mit der nokia api gemacht, aber ich denke mal, dass du deinen Parameter hier hinzufügen musst:
ActionScript:
1var inParams = {Type:"CalendarEntry", Filter.StartRange:"datum"};

So würde ich es mal versuchen...
public Weltformel(Problem){
      if (Problem gelöst) return Lösung;
      else Weltformel(kleiners Problem);
}
 19.07.2010, 13:54Re4
Beiträge: 6
Wohnort: g
Registriert: Jul 2010

Themenautor/in

Nein funktioniert leider nicht...

Hast du eine Idee wieso das Datum immer falsch angezeigt wird?

Bsp: Ich habe einen Termin am 20.08.2010 nun verwende ich var ti = outputEntry.StartTime und lass mir mit ti den Wert anzeigen. Nur zeigt er mir statt dem 20.08 den 19.08 an. Die Uhrzeit stimmt jedoch... Auch die Variable outputEntry.EndTime ist genau um 1 Tag verschoben... Nun habe ich leichtsinniger Weise einfach ti1 = ti++ gemacht damit mir das richtige Datum angezeigt wird! Doof nur wenn Das Datum am 01en z.B. ist und mir dann der 32e angezeigt wird... Gibts nicht ne vernünftige Lösung für das Problem. Isn bissi arg gepfuscht wenn ich jetzt mittels lauter If´s die Anzeige richtig stelle...

Hoff dir fällt was ein :/
 20.07.2010, 11:16Re5
Benutzerbild von vindelFlashhilfe.de Moderator
Beiträge: 2702
Wohnort: Köln
Registriert: Oct 2007

Also zu deinem Datumsproblem.. da musst du dich vertun - in der API steht, dass es nur Daten von 0-30 gibt.. Also kannst du eg nicht auf 32 kommen und deine ++-Methode ist schon richtig!
   Possible values for an item: [0, 30]

Was hast du den dem Filter.StartRange-Übergeben?
public Weltformel(Problem){
      if (Problem gelöst) return Lösung;
      else Weltformel(kleiners Problem);
}
 
nicht sichtbar bei eingeloggten Mitgliedern1&1 Webhosting
 20.07.2010, 13:47Re6
Beiträge: 6
Wohnort: g
Registriert: Jul 2010

Themenautor/in

var inParams = {Type:"CalendarEntry", Filter.StartRange:"20.08.2010"};

Fehler: Szene=Szene 1, layer=Ebene 1, frame=2; Zeile 10 ':' erwartet

Mal noch ne etwas simplere Frage...

Wie ändere ich über ActionScript in diesem konkreten Beispiel die größe der Schrift / Transparenz...

wenn ich text_txt._alpha = 30; und damit will das der gesamte Text eine bestimmte Transparenz hat funktioniert es nicht :/

lg mkl
Geändert von mkl23 am 20.07.10 um 14:11 Uhr

 22.07.2010, 10:56Re7
Benutzerbild von vindelFlashhilfe.de Moderator
Beiträge: 2702
Wohnort: Köln
Registriert: Oct 2007

Ja, doch das funktioniert - aber nur wenn du deine Schrift eingebunden hast.
Also auf textfeld kliucken und dann im Fenster "eigenschaften" auf "eibetten" klicken - dort nun alle Buchstaben & Zeichen auswählen die du gerne benutzen möchtest und dann hast du auch deine Transparent.

Beim Filter musst du ein Date-Object übergeben - nicht ein Datum...
Also bei:
ActionScript:
1var jetzt:Date = new Date();
einfach "heute" übergeben für das aktuelle Datum!
public Weltformel(Problem){
      if (Problem gelöst) return Lösung;
      else Weltformel(kleiners Problem);
}
 
Themen
Ähnliche Beiträge zum Thema
 
AntwortenRegistrieren Seite1

Schnellantwort

Du musst registriert sein, um diese Funktion nutzen zu können.
Partner Webseiten: DesignerInAction.de   Designnation.de   Mediengestalter.info   php-resource.de   phpforum.de   phpwelt.de   Pixelio.de   PSD-Tutorials.de   Tutorials.de

Haftungsausschluss   Datenschutzerklärung   Hier Werben   Impressum
© 1999-2012 Sebastian Wichmann - Flashhilfe.de