2

大学の授業で、10 の数学の問題を提示し、ユーザーから回答を得てスコアを計算するための小さな Android アプリケーションを作成する必要があります。

プログラムには、「新しいゲーム」ボタンと「続行」ボタンを備えたメイン画面があるはずです。

アプリケーションの実行中にデータを保存し、保存された場所からデータを取得して、ユーザーが続行ボタンを押した場合にその時点から続行するようにプログラムするにはどうすればよいですか? (そのようなタスクのためにどのような方法を検討する必要がありますか?)

前もって感謝します。

4

4 に答える 4

1

プリファレンスを使用して、コードに値を保存および取得するだけです。スニペットは次のとおりです。

//Set Preference
SharedPreferences myPrefs = getSharedPreferences("myPrefs", MODE_WORLD_READABLE);
SharedPreferences.Editor prefsEditor;  
prefsEditor = myPrefs.edit();  
prefsEditor.putString("REFKEY", valuetobestored);
prefsEditor.commit();

//Get Preferenece  
SharedPreferences myPrefs;  
myPrefs = getSharedPreferences("myPrefs", MODE_WORLD_READABLE);
String output=myPrefs.getString("REFKEY", "");
于 2012-03-14T04:22:18.313 に答える
0

保存するデータの種類によって異なります。本当に基本的なものである場合は、名前と値のペアとしてonSaveInstanceStateメソッドに保存するか、onPauseメソッドの設定として保存します。もう少し複雑な場合は、SQLiteDBに保存することをお勧めします。

ガイド曰く_

メソッド onSaveInstanceState(Bundle) は、アクティビティをそのようなバックグラウンド状態にする前に呼び出されます。これにより、アクティビティの動的インスタンスの状態を指定されたバンドルに保存し、後でアクティビティが必要な場合に onCreate(Bundle) で受け取ることができます。再作成されました。プロセスのライフサイクルがホストしているアクティビティにどのように結び付けられているかについての詳細は、「プロセスのライフサイクル」セクションを参照してください。onPause() ではなく onSaveInstanceState(Bundle) で永続データを保存することが重要であることに注意してください。後者はライフサイクル コールバックの一部ではないため、ドキュメントに記載されているように、すべての状況で呼び出されるわけではありません。

onSaveInstanceState でデータを保存する方法は次のとおりです。Save Instance State を使用して Android アクティビティの状態を保存する

これは、設定でデータを保存する方法です: Androidでデータを永続化する

于 2012-03-14T04:24:00.507 に答える
0

これは最善の解決策ではないかもしれません..しかし、これは必要な機能を得る方法です..続行ボタンをクリックしてこのコードを入力してください

finish();
                 Intent k=new Intent(youractivitytivity.this,youractivity.class);
k.putExtra("qno",x+1)<---- next question number to appear on screen(x is the present question number)
k.putExtra("score",bool)<--- if the answer is right or wrong)
                 startActivity(k);

次に、アクティビティの作成時に..エクストラを取得し、表示する必要がある質問を確認します.10個の質問の配列があると思います..

于 2012-03-14T04:37:19.933 に答える
0

SharedPreferences を使用するだけです。詳細については、このリンクを確認してください。2早朝に私自身の例を挙げます:P

AndroidのPreferenceActivityからSharedPreferencesを取得するにはどうすればよいですか?

この設定は、アプリケーションがデバイスにインストールされている限り維持されます。の場合に削除すると、それらも削除されます。

アプリが最初の実行時かどうかを確認したい場合は、デバイスに保存されている (または最初の実行時に保存されていない) ブール値を確認するだけです。:) 存在しない場合 (デフォルト値が返されます)、その値を true または何かに変更するだけで、アプリを実行するたびにチェックするので、最初の実行ではないことがわかります :)

これが役立つことを願っています、乾杯。

于 2012-03-14T04:29:05.900 に答える