zurück

erste Dokumentation zur inhalt.xml

Um Inhalte hinzuzufügen bzw. zu editieren, die jar-Datei mit einem ZIP-Packer öffnen und die darin enthaltene Datei inhalt.xml in einem Texteditor bearbeiten. Achtung: die Datei MUSS mit Unix-Zeilenumbrüchen gespeichert werden, sonst startet die Java-Anwendung auf dem Telefon nicht mehr! Abschließend die jar-Datei (mit der neuen inhalt.xml) auf das Mobiltelefon übertragen.
Tip: der jar-Datei vorübergehend eine .zip-Endung geben

kurzes Beispiel
<?xml version="1.0" standalone="yes"?>
<Brian>
  <Berechnungen>

root kann irgendwas sein

Elemente ohne Attribute oder Inhalt erscheinen als Liste zur Navigation

    <page name="Temp" descr="Celsius/Fahrenheit">
page definiert eine Formelberechnung
Attribute: name muss sein, descr ist ein optionaler text zur erläuterung
      <feld name="°C" init="15" />
      <feld name="°F" init="59" rund="1" />

hier werden 2 Zahleingabefelder definiert
Attribute: name
weitere optional:
init="15" - angezeigter Wert beim Aufrufen der Seite
edit="false" - zum Sperren des Feldes gegen Eingabe
rund="1" - Anzahl der gerundeten Nachkommastellen
format="hex" - definiert ein hexadezimales Eingabefeld, alternativ auch "bin" für binär - die Zahlenwerte werden intern automatisch ins Dezimalsystem konvertiert

      <formel val="#0*1.8+32" />
      <formel val="(#1-32)*(5/9)" />
hier werden die Formeln zur Umrechnung definiert
Attribut: val enthält die Formel (gültige Operatoren siehe unten)
zur strikten Anzahl und Reihenfolge der Formeln siehe unten
    </page>
  </Berechnungen>
(Elemente schliessen)
  <Texte>
    <text name="eins" descr="ein kurzer Text" image="bild.png" />
ein neues Navigationselement
alle Elemente, die nicht leer sind, werden als Text dargestellt (egal, ob sie text heissen oder nicht)
Attribute: name muss sein, descr ist optionaler Text, image ist der optionale Dateiname eines png-Bildes im jar-Archiv
    <text name="zwei" monospace="true" size="small">
Ein laengerer Text kann auch Zeilenumbrueche enthalten,
die dann so direkt auch in der
xml-Datei enthalten
sein muessen.</text>
zweites Textbeispiel
hier steht der Text als Inhalt des Elementes und es sind zusätzlich noch optionale Fontauszeichnungen angegeben:
monospace="true" - wählt einen monospace-Font
size="small" oder size="large" - klar, oder?
  </Texte>
</Brian>
(Elemente schliessen)

Bitte beachten: auf einigen Nokia-Telefonen ist die Größe einer jar-Datei auf 64kB limitiert.

zu den Formeln:
um die Werte der Eingabefeldern zu verwenden, wird das Sonderzeichen # benutzt, und direkt danach die Nummer des Eingabefeldes angegeben. Die Zählung beginnt mit 0 für das erste Feld! Der Wert des zweiten Eingabefeldes wäre also #1

die Operatoren des Compilers von Konstatin Knizhnik
Name Beispiel Beschreibung
Zuweisung x=1 Assign value to variable. After execution of this statement, it is possible to access variables from other expressions.
Conditional operator c?x:y If value of expression left to question sign is true, than value of conditional expression is value of the expression after question sign, otherwise - value of expression after colon sign.The following conditional expression for example example is used to calculate fibonnachi numbers: fib(x)=x<2?1:fib(x-1)+fib(x-2)
größer als x>y wahr, wenn x größer als y - um eine wohlgeformte XML-Datei zu erhalten, als Entity schreiben: &gt; !
kleiner als x<y wahr, wenn x kleiner als y - um eine wohlgeformte XML-Datei zu erhalten, als Entity schreiben: &lt; !
zwischen 1<x<5 wahr, wenn x zwischen 1 und 5 liegt
um eine wohlgeformte XML-Datei zu erhalten, als Entity schreiben: 1&lt;x&lt;5 !
Sequence x=1,y=2 Sequence of expressions. Expression are evaluated in left-to-right order and result of the last expression is used. using sequences of expressions allows to write the simplest programs.
Addition x+y Sum of two operands
Subtraction x-y Difference of two operands
Multiplication x*y Multiplication of two operands
Division x/y Division of first operand on the second operand
Potenz x^y x hoch y
Integer part [x] ganzzahliger Anteil
Floating part {x} Nachkommastellen
Absolute value |x| Absoluter Betrag
Klammern (x) Klammerausdrücke können verschachtelt werden
Sine sin(x) Sine
Cosine cos(x) Cosine
Tangent tan(x) Tangent
Arc sine asin(x) Arc sine
Arc cosine acos(x) Arc cosine
Arc tangent atan(x) Arc tangent
Exponent exp(x) Exponent
natürlicher Logarithmus ln(x) Natural logarithm
dekadischer Logarithmus log(x) common logarithm
Ceil ceil(x) Smallest integer value not less than operand
Floor floor(x) greatest integer value not greater than operand
Wurzel sqr(x) Wurzel

Formelanzahl und Reihenfolge
die Anzahl der Formeln hängt von der Anzahl der Eingabefelder (theor. max. 9) ab:

Felder Formeln
2 2
3 6
4 12
5 20

die Reihenfolge der Formeln muss wie folgt eingehalten werden:

Anzahl Felder Formel-Nr wird benutzt bei Änderung im Feld berechnet Wert für Feld
2 1 1 2
2 2 1
3 1 1 2
2 1 3
3 2 1
4 2 3
5 3 1
6 3 2

usw. für mehr Felder...

zurück

Christian Güssmer 2005-06