Ich bin kein Experte, aber die Art, wie ich das mache, ist mit einer Online-SQL-Datenbank. Lassen Sie das Gerät eine Verbindung herstellen und speichern/laden Sie alle Daten, die Sie benötigen. Ich weiß, das wird nicht mit Dateien funktionieren, nur textbasierte Informationen. Ich mache das auch mit Flash. Wenn dies Ihre Route ist, kann ich Code teilen.
Ok, also brauchst du 3 Dinge, wenn du das in Flash machst: Flash (duh), PHP-Dateien und einen SQL-Server (ich habe einen MYSQL-Server).
Wie es funktioniert ist, wird Flash laden PHP, PHP wird es tun (wie Änderungen an der Datenbank) und spucke es zurück, Ergebnisse zu blinken.
Sagen wir, wir wollen alle Benutzernamen aus der Datenbank bekommen.
Datenbank
Der Tabellenname ist "Players" mit einer einzigen Spalte namens "u_id"
Flash-
var loader:URLLoader; //makes a loader that will "load" the php page
public function DoIt()
{
loader = new URLLoader();
loader.addEventListener(Event.COMPLETE, loaderComplete);
loader.load(new URLRequest("http://yourDomain.com/thePHPFile.php?arg=42"));
}
public function loaderComplete(e:Event):void
{
var returnXML:XML; //we are assuming the return values are in xml format, trust me, this might be easier
for each (var ListItem:XML in returnXML..Users) //you might need to change this "users" to be the root of the xml file
{
var userName:String = ListItem.u_id.toString();
//you can do what you want with the data here
}
}
PHP
es jetzt genannt möglicherweise nicht erforderlich d, aber ich versuche, die PHP-Dateien, um sicherzustellen, und die DB ist auf dem gleichen Host, so dass ich „localhost“ als Hostnamen tun kann
<?php
$argumentVar = $_GET["arg"]; //not using this, just showing it's possible
$connect = mysql_connect("localhost", "db_username", "db_password");
if(!$connect)
{
die("error connecting to DB" . mysql_error());
}
$db_selected = mysql_select_db("the_name_of_the_db", $connect);
if(!$db_selected)
{
die("error selecting db" . mysql_error());
}
$table_name = "Players" //this is the name of your database
$sql = "SELECT * FROM $table_name;"; //not sure if you need ending ';'
$dbresult = mysql_query($sql, $connect); //this is where all your data comes into
//and now to save all the information to a xml file
$doc = new DOMDocument('1.0');
$root = $doc->createElement('root');
$root = $doc->appendChild($root);
while($row = mysql_fetch_assoc($dbresult))
{
$occ = $doc->createElement($table_name);
$occ = $root->appendChild($occ);
foreach ($row as $fieldname => $fieldvalue)
{
$child = $doc->createElement($fieldname);
$child = $occ->appendChild($child);
$value = $doc->createTextNode($fieldvalue);
$value = $child->appendChild($value);
}
}
$xml_string = $doc->saveXML();
echo $xml_string;
?>
Ok, damit gehen spielen, sollte es Ihnen beginnt auf dem richtigen Weg.
Durch die Implementierung eines [backup agent] (http://developer.android.com/guide/topics/data/backup.html) können Sie die Konfiguration zwischen den Telefonen beibehalten, wenn der Benutzer nichts Ungewöhnliches tut - wie das Ändern sein Google-Konto für Market verwendet. – Jens