| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer User Registriert seit: Jun 2008
Beiträge: 11
| AIR 2.7 > Apple iOS für iPad: Lokales speichern von Daten
Ich habe die Aufgabe, eine Anwendung, die ich bereits in Air entwickelt habe, für iOS zu portieren (iPad 2, iOS 4). Die Anwendung ist eine kleine Marktforschungsanwendung in welcher Fragen beantwortet werden und am Ende das Ergebnis (gesammelte Variablen) als simple Textdatei gespeichert werden soll. Der Name der Datei wird entsprechend dem Datum und der aktuellen Uhrzeit benannt, so dass jede zu speichernde Datei einen individuellen Namen hat. Nun scheint iOS ja recht restriktiv mit dem lokalen Speichern von Daten umzugehen. Wie kann ich da vorgehen? Ich habe gelesen, dass das Speichern von Daten im lokalen App-Ordner möglich sein soll. Aber wie kann ich die dann später wieder abrufen? Ich bin im Bereich iOS Entwicklung absoluter Anfänger ![]() Hat da jemand eine Idee? Ich hoffe, das geht irgendwie… Vielen Dank schon mal… |
| | |
| | #2 (permalink) |
| ?-Developer Registriert seit: Jul 2004 Ort: Zuchwil (CH)
Beiträge: 901
|
Schau doch mal folgendes an: flash.filesystem.File - ActionScript® 3.0 Reference for the Adobe® Flash® Platform ActionScript:
Es ist nur an diesem Punkt erlaubt zu schreiben. Am Ort der App selber hat es bei mir auch noch nie funktioniert.
__________________ Nur tote Fische schwimmen mit dem Strom |
| | |
| | #3 (permalink) |
| in the boondocks Registriert seit: Feb 2006 Ort: Augsburg
Beiträge: 3.498
|
Kennt ihr diesen Artikel? Saving state in AIR applications for iOS devices | Adobe Developer Connection File.applicationDirectory geht soweit ich mich erinner generell nicht, auch nicht auf dem Desktop. mfg sx Geändert von shin10 (22-08-2011 um 19:54 Uhr) |
| | |
| | #4 (permalink) |
| Neuer User Registriert seit: Jun 2008
Beiträge: 11
|
Danke für die Antwort. Wird dabei nur der "Stand der Dinge" gespeichert und wieder abgerufen? Ich habe im Endeffekt vor, am Ende des Tages eine gewisse Menge Text-Files zu haben, die ich abrufen kann , um diese weiter zu verarbeiten. Es soll also kein temporäres Abspeichern sein, das dann von der gleichen App wieder abgerufen wird. Ich werde es aber genau unter die Lupe nehmen. |
| | |
| | #5 (permalink) |
| ?-Developer Registriert seit: Jul 2004 Ort: Zuchwil (CH)
Beiträge: 901
|
Also wenn du im Apple-AppStore wTicTacToe suchts findes du meine erste App welche die jeweiligen Einstellungen auf dem iPhone Speichert. Wenn du diese jedoch löschst und wieder neu installierst sind natürlich auch diese Einstellungen wieder weg. Das Handling ob eine Datei entfernt, überschrieben oder gelöscht wirst bestimmst aber im Betrieb du selbst. Die File-Klasse beschreibt dies ziemlich gut.
__________________ Nur tote Fische schwimmen mit dem Strom |
| | |
| | #6 (permalink) |
| Neuer User Registriert seit: Jun 2008
Beiträge: 11
|
OK. Danke. Was mir absolut fehlte, war die Tatsache, dass ich in der App erstmal das File Sharing in der .XML aktivieren muss. Der entsprechende Bereich in der XML sieht dann bei mir so aus: HTML-Code: <InfoAdditions> <![CDATA[<key>UIFileSharingEnabled</key><true/><key>UIDeviceFamily</key><array><string>2</string></array>]]></InfoAdditions> HTML-Code:
import flash.filesystem.*;
var file:File = File.documentsDirectory.resolvePath("test.txt"); |
| | |
| | #8 (permalink) |
| Neuer User Registriert seit: Jun 2008
Beiträge: 11
|
Habe ich auch schon versucht. Hier nochmal der komplette Code. Vielleicht übersehe ich etwas oder habe etwas vergessen: HTML-Code: import flash.filesystem.*;
var file:File = File.applicationStorageDirectory.resolvePath("test.txt");
save_btn.addEventListener(MouseEvent.CLICK,
function(evt:MouseEvent){
file.save(savetext);
}); Hier hat es auch keinen Unterschied gemacht, ob ich "applicationStorageDirectory" oder ob "documentsDirectory" eingesetzt habe… |
| | |
| | #9 (permalink) |
| in the boondocks Registriert seit: Feb 2006 Ort: Augsburg
Beiträge: 3.498
|
Das ist der ganze code den du hast? Wo ist dein FileStream? Hast du schon mal einen Speichern-Unter-Dialog auf dem iPhone gesehen? Also ich nicht ... Und wo schaust du dann nach, ob die Datei existiert? Geändert von shin10 (24-08-2011 um 16:27 Uhr) |
| | |
| | #10 (permalink) | |
| Neuer User Registriert seit: Jun 2008
Beiträge: 11
| Zitat:
Ich schaue in iTunes nach, ob die Datei existiert. Unter Dateifreigabe bei der entsprechenden App müsste die Datei ja angegeben sein. Oder bin ich jetzt komplett auf dem falschen Dampfer? | |
| | |
| | #12 (permalink) |
| Neuer User Registriert seit: Jun 2008
Beiträge: 11
|
OK. Sorry. Dann habe ich da was durcheinandergebracht. Schaue ich mir dann nochmal in Ruhe an… Wenn ich das richtig verstehe, muss ich den FileStream generieren und brauche ja dann nur noch die save Funktion, die ich dann in meinem Button einbinde, richtig? |
| | |
| | #13 (permalink) |
| ?-Developer Registriert seit: Jul 2004 Ort: Zuchwil (CH)
Beiträge: 901
|
Ich hab dir hier mal mein Beispiel: (Natürlich nicht 1:1 kopierbar) ActionScript:
__________________ Nur tote Fische schwimmen mit dem Strom |
| | |
| | #14 (permalink) |
| Neuer User Registriert seit: Jun 2008
Beiträge: 11
|
Es scheint nach wie vor nicht zu klappen. Hier mein Code: HTML-Code: import flash.filesystem.*;
var myfl:File = File.applicationStorageDirectory.resolvePath("test.txt");
var myfls:FileStream = new FileStream();
var teststring_txt:String = "testtext";
save_btn.addEventListener(MouseEvent.CLICK,
function(evt:MouseEvent){
myfls.open(myfl, FileMode.WRITE);
myfls.writeUTFBytes(teststring_txt);
myfls.close();
}); |
| | |
| | #15 (permalink) |
| Neuer User Registriert seit: Jun 2008
Beiträge: 11
|
So. Nach langem hin und her habe ich des Rätsels Lösung: Das Ganze funktioniert bei mir mit documentsDirectory und nicht mit applicationStorageDirectory! Der Code lautet dann: Code: import flash.filesystem.*;
function saveFile():void
{
var outputFile:File = File.documentsDirectory.resolvePath("test.txt");
var outputStream:FileStream = new FileStream();
outputStream.open(outputFile,FileMode.WRITE);
outputStream.writeUTFBytes(savetext);
outputStream.close();
}
saveFile(); |
| | |
![]() |
| Lesezeichen |
| Stichworte |
| abruf, air 2.7, ios4, speichern, speicherort |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Speichern Daten | Mando | ActionScript 3 | 8 | 25-02-2011 13:53 |
| Speichern von Daten in xml? | Jakozk | Flash Einsteiger | 5 | 23-04-2006 21:35 |
| lokales Speichern und Wiederverwenden des sharedObject | aBernhardt | ActionScript 1 | 3 | 17-11-2005 15:05 |
| Daten speichern! | Globaltek | Flash MX 2004 | 1 | 12-04-2005 10:49 |
| Lokales Speichern/Exportieren geht, auf Netzlaufwerken aber nicht | matiz | Flash 4 und Flash 5 | 2 | 07-11-2003 10:01 |