Frage

Ich schreibe ein Midlet, das Datei schreiben muss. Ich verwende Fileconnection von JSR-75, um dies zu erreichen.

Es ist beabsichtigt, dass dieses Midlet so viele Geräte wie möglich aufgebaut hat (alle MidP 2.0-Geräte mit JSR-75-Unterstützung idealerweise).

Bei mehreren Emulatoren und einem HTC Touch PRO2 kann ich den folgenden Code perfekt verwenden, um das Root des Dateisystems zu erhalten:

Enumeration drives = FileSystemRegistry.listRoots();
String root = (String) drives.nextElement();
String path = "file:///" + root;

Bei einem Nokia S60 5. Ausgabe -Emulator wirft versucht jedoch, eine Fileconnection für diesen Weg zu öffnen. Anscheinend erlauben S60 -Geräte keine Verbindungen zum Root des Dateisystems. Mir ist klar, dass ich so etwas wie System.getProperty ("fileconn.dir.photos") verwenden kann, aber das wird auch nicht auf allen Geräten unterstützt.

Also mein Tatsächlich Frage: Was ist der beste Ansatz, um einen Weg zu erhalten, um eine Fileconnection zu erstellen, mit der maximale Portabilität ermöglicht wird?

Vielen Dank.

Bearbeiten: Ich nehme an, ich könnte alle Wurzeln in der Aufzählung itererieren und nach einem beschreibbaren Überblick suchen, aber das ist aus zwei Gründen kaum optimal. Erstens gibt es nicht unbedingt keine beschreibbaren Wurzeln. Zweitens könnte dies der Telefonspeicher oder eine Speicherkarte sein, sodass die Speichermethode nicht über Geräte hinweg konsistent wäre, was ziemlich hässlich ist.

War es hilfreich?

Lösung

Sie sollten schreibgeschützte Verbindungen zu Wurzeln öffnen, um herauszufinden, welchen Ordner sie enthalten.

Wenn Sie eine allgemeine Read_Write-Verbindung zu einem Ordner öffnen, versuchen Sie, eine schreibgeschützte Verbindung zu öffnen, um die Unterordner zu durchsuchen, um eine beschreibbare zu finden.

Insbesondere auf Symbian (und anderen Plattformen, die so weit fortgeschritten sind, dass Sie Ihren Midlets sichere Datenkäfige zur Verfügung stellen) können Sie verwenden System.getProperty("fileconn.dir.private"); einen beschreibbaren Bereich finden.

Andere Tipps

Ich werde dir sagen, was wir tun. Wir haben eine Test -App, die nur das Dateisystem Root und die SD -Karten root herausfindet, falls zutreffend. Wir setzen dies als JAD -Parameter. Der Code liest ihn aus der JAD -Datei. Da Sie das Glas nicht für verschiedene Geräte neu kompilieren müssen, ändern Sie einfach den JAD -Parameter für ein Mobilteil mit unterschiedlichem Dateisystem -Root.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top