我目前正在開發,並提出以下問題: 如何/應該如何存儲基本信息,例如設備之間未鎖定的項目和級別。 當然,我將它們存儲在首選項文件中。在設備之間同步信息的推薦方式
但是如果用戶買了一部新手機並想繼續在那玩呢? (共享)首選項不會重複。
因此,有沒有(谷歌)推薦的方式(雲?)來解決這個問題?
我目前正在開發,並提出以下問題: 如何/應該如何存儲基本信息,例如設備之間未鎖定的項目和級別。 當然,我將它們存儲在首選項文件中。在設備之間同步信息的推薦方式
但是如果用戶買了一部新手機並想繼續在那玩呢? (共享)首選項不會重複。
因此,有沒有(谷歌)推薦的方式(雲?)來解決這個問題?
我不是專家,但我這樣做的方式是在線SQL數據庫。讓設備連接到它,並保存/加載您需要的任何數據。我知道這不適用於文件,只適用於基於文本的信息。我也使用Flash來做到這一點。如果這是你的路線,我可以分享一些代碼。好吧,所以你需要3件事情,如果你在Flash中做這個:Flash(duh),PHP文件和一個SQL服務器(我有一個MYSQL服務器)。
它將如何工作是閃存將加載PHP,PHP將做它的事情(如更改數據庫),並吐出它的結果閃光。
比方說,我們想要從數據庫中獲取所有用戶名。
數據庫
表的名字叫做 「玩家」 與所謂的 「U_ID」
閃存
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現在
一列可能並不需要d,但我儘量確保PHP文件和數據庫在同一臺主機上,這樣我就可以做「localhost」作爲主機名
<?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;
?>
好吧,試着用用,它應該開始你在正確的道路上。
分享一些代碼將是偉大的任何方式:)([email protected]個人時) – poitroae 2012-04-07 20:31:17
我認爲最好的方式是維護在線數據庫,並定期更新每個註冊用戶的最新信息。因此,不是將所有內容都存儲在本地,它可以存儲在遠程服務器上,並在需要時發送給用戶。所以只要用戶擁有自己爲應用程序創建的帳戶,就不會丟失任何數據。
實現一個[備份代理](http://developer.android.com/guide/topics/data/backup.html)將允許您保留電話之間的配置,如果用戶不做傻事 - 比如改變他的谷歌帳戶用於市場。 – Jens 2012-04-07 22:06:22