Desktop-Version

Start arrow Informatik arrow Strategie für die Portierung von Desktop-Business-Anwendungen auf iOS-gestützte Endgeräte

< Zurück   INHALT   Weiter >

5.2.2 Ressourcendateien

Grundsätzlich kann MonoTouch die vorhandenen Ressourcendateien des .NETFrameworks verwenden. Jedoch sind zwei Punkte zu beachten:

1. MonoTouch kann nicht wie das .NET-Framework die Klasse Resources automatisch aus der Ressourcendatei generieren

2. Der Ordnername Resources ist in MonoTouch reserviert

Der Compiler des .NET-Frameworks konvertiert die Ressourcendatei in die Klasse Resources. Die Klasse Resources beinhaltet statische getter-Methoden für den Zugriff auf die verlinkten und eingebetteten Ressourcen. Diesen Kompilierungsschritt unterstützt MonoTouch nicht. Dennoch kann MonoTouch die vom .NET-Framework erstellte Klasse verarbeiten. Hierzu ist es lediglich notwendig, die Ressourcendatei und die Resource-Klasse nach MonoTouch zu kopieren. Tab. 5-5 zeigt die Gegenüberstellung beider Plattformen.

Tab. 5-5 Ressourcendateien MonoTouch vs. .NET-Framework

In der Tabelle zeigt die linke Seite die Ordneransicht der MonoTouch-Anwendung in MonoDevelop. Die rechte Seite listet die Ordner und Dateien des .NET-Frameworks in Visual Studio auf. Die IDS-Datei in .NET versieht jede Ressource mit einer eindeutigen ID. Sie hat für die Portierung keine Relevanz.

MonoTouch erlaubt nicht die Verwendung des Ordnernamens Resources, da dieser in iOS reserviert ist. Aus diesem Grund müssen sämtliche Anwendungsressourcen in einem anderen Ordner abgelegt werden. Ein weiteres Problem ergibt sich bei der Erstellung der Resource-Klasse. Der Konverter nutzt den Ordnernamen, um den Namensraum der Resource-Klasse zu erzeugen. Die Namensraumdefinition ist folglich nach der Portierung in MonoTouch in allen anderen betroffenen Quelltextdateien anzupassen.

Listing 5-3 Beispiel für die Änderung der Namespace-Definition

Auf Basis dieser Erkenntnisse existieren zwei Portierungslösungen:

1. MonoTouch speichert die Anwendungsressourcen in einem anderen Ordner. Der Entwickler hat anschließend die Namensraumbezeichnungen und – verweise in MonoTouch anzupassen

2. Beide Plattformen vergeben für die Ordner Resources einen anderen Namen, der aber auf beiden Plattformen gleich ist.

Durch die zweite Portierungslösung können beide Plattformen die gleiche Datenbasis für die Anwendungsressourcen verwenden. Das vermeidet einen erheblichen Portierungsaufwand, insbesondere bei späteren Anpassungen im Code.

Eine denkbare Vorgehensweise für die Portierung der Ressourcendateien ist:

1. Ressourcendatei in der IDE (Visual Studio) des .NET-Frameworks erstellen

2. Resource-Klasse automatisch durch den Compiler erzeugen lassen

3. Ressourcendatei und Resource-Klasse in MonoTouch importieren, bzw. MonoTouch den Zugriff auf diese beiden Klassen gewähren

4. Ressourcendatei als Enbedded Datei deklarieren (Dadurch wird sie während des Kompilierungsprozesses zum Anwendungspaket hinzugefügt)

5. MonoTouch-Anwendung kompilieren. MonoTouch übersetzt die Resource-

Klasse in die Maschinensprache

 
< Zurück   INHALT   Weiter >

Related topics