2017-04-11 4 views
1

こんにちは、私は自分のAndroidプログラミングクラスのテキストゲームを作っています。アンドロイドのテキストゲームでテクニックを保存する

私はサバイバルゲームを作りたいです。

だから私は、この文字クラスで、文字クラスに、このゲームを行います。

これはプレーヤーのプレスそうであれば次の日ボタン、サバイバルゲームですが、私は

件のデータを保存したいです。

私はTXT

ファイルを作成するFILEIOと私のデータを保存して、この問題を解決することができると思います。アプリケーションの起動時に

はその後、私は、プレイヤーのデータをロードするために、このtxtファイルを読み込みます。

しかし、私はこの場合に問題があると思います。

私はこのデータを手動で変更できると思います。しかし、私はこの状況を望んでいません。

どうすればこの問題を解決できますか?

また、私はまだこのようにしていませんでした。ゲームのデータを保存する方法を変更する必要がありますか?

私はそれをgoogledし、保存する2つの方法を見つけました。

を保存

  1. 共有好み
  2. Sqliteを
  3. txtファイルには、どのような方法で良いですか?

    私はtxtファイルの節約に保存することができた場合、どのように手動で変更からデータを保護する方法を教えてください。

    この問題を解決してください。

    ==============================================流暢な英語を使用してカントのため申し訳ありません======================

    ..私はネイティブスピーカーじゃないので。

答えて

0

いくつかのオプションこれを行うには:

  1. データベースを実装し、SQLCipherを使用して固定します。私は前にそれを試したことがない、しかし、あなたの代わりにアンドロイド-株式SharedPreferencesのthis
  2. 使用安全なSharedPreferenceを使用することによって打撃を与えることができます。安全なSharedPreferences hereの使い方を見つけることができます。例として示す:

をこれが

<map> 
    <int name="timeout" value="500" /> 
    <boolean name="is_logged_in" value="true" /> 
</map> 

を保存している。これは、保存されているか、安全なSharedPreferecensがどのように通常のSharedPreferencesである:それは人間になるようにデータを符号化に関する

<map> 
    <string name="TuwbBU0IrAyL9znGBJ87uEi7pW0FwYwX8SZiiKnD2VZ7"> 
     pD2UhS2K2MNjWm8KzpFrag==:MWm7NgaEhvaxAvA9wASUl0HUHCVBWkn3c2T1WoSAE/g=rroijgeWEGRDFSS/hg 
    </string> 
    <string name="8lqCQqn73Uo84Rj">k73tlfVNYsPshll19ztma7U"> 
     pD2UhS2K2MNjWm8KzpFrag==:MWm7NgaEhvaxAvA9wASUl0HUHCVBWkn3c2T1WoSAE/g=:jWm8KzUl0HUHCVBWkn3c2T1WoSAE/g= 
    </string> 
</map> 
+0

Oh ... 。ありがとうございました:) – InhoLee

+0

編集した例を見ることができます。弾丸ではないと主張されていますが、文字列をデコードすることは既に難しいです。 @InhoLee –

0

何を読めない?

あなたは現在、プレーヤーのデータ(健康、飢餓など)をファイルに直接書き込むストリームしかないと思います。ファイルには、次のようになります。

100 50 78 89 6 

次にあなたが戻って各番号を読み、Characterオブジェクトに割り当てます。

あなたは、どの値がどのフィールドに対応しているのかを把握し、ファイルを編集して不正行為をすることができるのではないかと恐れています。私は正しい?

あなたが試みることができるのは、とObjectInputStreamを使用して、Characterオブジェクトをバイナリにシリアル化することです。オブジェクトがバイナリである場合、ユーザーはそれを読み取ることができません。また、ファイルの拡張子を.datなどに変更します。

人間が読めるようにする別の方法は、それをbase64でエンコードすることです。

0

利用のSQLite - あなたのゲームは、デバイスに依存している場合、あなたはSQliteDataBaseを作成することができ、ゲームデータやユーザ情報やゲームの状態を処理するための最良の方法です。

使用API​​ - あなただけのデバイスに依存したくないと、ユーザーが自分のゲームの状態が最後の状態から同期され、その電話を切り替えた場合、あなたは、サーバー、MySqlまたはOracle上のデータベースを作成し、作成しなければならない場合AndroidでAPISを使用してください。

0

1.アンインストール後にユーザーのデータが必要な場合は、再度インストールしてテキストファイルオプションを使用する必要があります。ドット(.fileName)を使用して非表示にすることができます。 2.大きなデータを保存する場合は、sqliteを使用してテーブルを使用してデータを保存してください。 3.小さなデータを保存するにはsharedpreferenceを使用し、アプリケーションタグのマニフェストでallowBackup = trueを宣言してください。

関連する問題