こんにちは、スペリング ゲーム アプリケーションがあり、10 ステージあります。ステージ 1 の動物、ステージ 2 のモノなど、各ステージに割り当てられたカテゴリがあり、ステージごとの質問もいくつかあります。ここで、正解ごとにインクリメントし、間違った答えごとに差し引くスコアリング機能を追加したいと思います。ユーザーが 10 段階すべてを完了すると、ハイスコアが表示され、ユーザーは自分の名前を入力してデータベースに保存できます。どうすればそれを行うことができますか?私はAndroidとJAVAの初心者です。前もって感謝します。
4 に答える
これを実装するには、ローカル データベースを使用することをお勧めします。現時点では、ハイスコア テーブルを作成する必要があります。
- ID
- 名前
- スコア
テーブル ユーザーとテーブル スコアを作成して (そしてそれらを接続して)、ユーザーに複数の属性 (単一のテーブルを使用する場合は名前) を持たせることをお勧めします。
データベースについては、Android は SQLite を使用します: http://developer.android.com/reference/android/database/sqlite/SQLiteDatabase.htmlを参照してください。
次に、アプリで、ステップ (レベル) がいつ終了したかをキャッチする必要があります。終了したら、データベースと目的のテーブルのインスタンスを取得し、内部にデータを挿入できます。
すべてのレベルが終了したら、ハイスコアを表示し、必要に応じてユーザーに名前などを尋ねることができます。
Android (および他のすべての言語) でデータベースを管理する方法を学ぶことは非常に重要です。初心者の場合は簡単ではありませんが、次のような優れたチュートリアルがいくつかあります。
ここで共有設定を使用します。int 型の変数を +10 でインクリメントし、単純な if else を使用して -10 を差し引きます。最後にカスタム ダイアログを使用し、ユーザーがハイスコアラーである場合に名前を入力するように求める必要があります。ハイスコアはsharedprefrenceに保存することも、データベースに保存することもできます。
お役に立てれば
SQLiteデータベースを使用して各ユーザー/プレイスルーの進行状況と現在のスコアを保存し、別のテーブルを使用して実際のハイスコアを保存することをお勧めします。
AndroidのSQLiteは実際には非常に簡単です。SQLデータベースへのデータの保存を読むことから始めるのが最善です。
さまざまなクラスから呼び出してポイントを追加するシングルトン クラスを使用できます
import android.util.SparseArray;
public class Score{
public int score;
private static Scoreinstance;
private Score()
{
}
public static Score getInstance()
{
if (instance == null) {
instance = new Score();
}
return instance;
}
}
次に、それを呼び出します
Score.getInstance().score += "points to be added"
最後にデータベースに保存します
http://www.vogella.com/articles/AndroidSQLite/article.html この男は、いくつかの優れたわかりやすいチュートリアルを行っています