私は現在、Android ゲームを開発しています。私の目標は、ゲームの無料/デモ版を作成して、ユーザーが試せるようにすることです。しかし、デモのセーブゲームが完全版に自動的にインポートされることも望んでいます。
私がアプリケーションのプライベート ストレージに保存するセーブゲームは、基本的に複数の Java オブジェクトをマッピングするJSON文字列です。ユーザーは好きなだけ「新しいゲーム」を作成でき、開始した各ゲームには「自動保存」ファイルと「手動保存」ファイルがあります。すべてのファイルを追跡するために、ファイル名といくつかの追加情報 (プレイヤー名など) を含むリストがあります。
基本的に、セーブゲームを扱う小さなファイルがたくさんあります。これは最もエレガントなアプローチではないかもしれませんが、非常にうまく機能します。
ここに私の質問があります:ユーザーがデモ版でゲームを開始したとしましょう (したがって、デモ版のプライベート ストレージに 3 つのファイルが保存されます)。フルバージョンからこれらのファイルにアクセスするにはどうすればよいですか?
2 つのバージョンに大きな違いはありません。デモ版の制限にもかかわらず、それらは実際には同じです。しかし、同じコード ベースを使用することになります。
このフォーラムや他の場所でこの問題についてかなりの質問があったことは知っていますが、適切な解決策を見つけることができませんでした. 私が見つけることができたのは、次のいずれかです。
- 誰でも読み取り可能なストレージ(SD カードなど)にファイルを保存する、または
- SharedPreferencesの使用
しかし、私はユーザーがセーブゲームを読み取れるようにしたくない (または、ゲームを台無しにする可能性があるため、それを変更することさえできません)。200 行のコード (JSON に変換された多くの Java オブジェクト) と、これらすべての値とオブジェクトを SharedPreferences に使用されるある種のキーと値の構造にマッピングすることは、私にはまったく不可能に思えます。
これはすべて台無しですか、それとも誰かアイデアがありますか?
お時間を割いていただきありがとうございます。あなたのアイデアをお待ちしております。
- クリストフ