ウェルカム画面を1回だけ作りたいです。テキストエディットとユーザーのユーザー名を取得するためのボタンを配置するので、スプラッシュ画面ではないはずです。立ち寄ってくれてありがとう、それを行うコードの例をいくつか見る必要があります!:D
4 に答える
1.まず、ユーザーに自分のユーザー名をTextViewに挿入させます。
2.ユーザーがボタンを押したら、次の手順を実行します。
-Intent
このStaringActiviyの後で、彼を迂回させたい次のアクティビティに移動するために使用します。
例えば:
Intent i = new Intent(StartActivity.this, DesiredActivity.class);
-引数としてstartActivity()
メソッドを 使用した後、メソッドを使用してください。これにより、このStartActivityがバックスタックから削除されます。Intent
finish()
例えば:
Intent i = new Intent(StartActivity.this, DesiredActivity.class);
startActivity(i);
finish();
これで、ユーザーが(back button
から移動したもの)を押すと、アプリが終了します。DesiredActivity
StartActivity
////////////編集済みパーツ/////////////////
すでにユーザー名を指定している最初のアクティビティにアプリが再度移動しないようにする必要があります。最初の操作の後..right??????
-次に、これを行うには...以下を実行することをお勧めします...。
私。最初に、ユーザーが最初に入力したユーザー名を、、またはに保存します。Shared Preference
file
Database
ii。ここで、アプリを開いたときに、共有設定、ファイル、またはデータベースにユーザー名が存在thread
するかどうかを確認するものがあります。これは、uが保存した場所に対応します。
iii。見つかった場合は、目的のアクティビティに移動します。ユーザー名の入力を求められない場合は、アプリを初めて開いたときにそれが発生します。
iv。さて、それは使いやすsplash activity
さについてもですので、最初にを使用して、ここからチェックスレッドを起動することをお勧めします。したがって、スレッドがユーザー名をチェックしている間、ユーザーは空白の画面を見るのが面倒になることはありません。
アクティビティを開始します。で、がすでに表示されているOnCreate
かどうかを確認します。Activity
はいの場合は次のアクティビティを開始し、そうでない場合は、現在アクティビティを表示していることを保存します。
Activity
inメソッドチェックを作成して、onCreate
ユーザーがすでにUserNameを入力しているかどうかを確認できます。はいの場合は、すぐに別のアクティビティを開始するか、userActivityを表示してユーザー名を入力します。
ユーザー名をどこかに保存して、存在するかどうかを確認してください。
starting activity
次に開く必要のあるアクティビティが、1回限りのウェルカム画面なのか、アプリの他の部分なのかを決定するものを用意します。
最初のアクティビティ:画面が以前に開かれたことがあるかどうかを知るには、ブール値を電話のメモリに保存する必要があります。読み取られたブール値がfalseの場合(画面が以前に開かれたことがない場合)、1回限りの値を表示します。画面。それ以外の場合は、以前に画面が開かれているため、アプリの他の部分に進みます。
ブール値を保存するには:
public void writePrimitiveInternalMemory(String filename, boolean value) {
SharedPreferences preferences = game.getPreferences(Activity.MODE_PRIVATE);
SharedPreferences.Editor editor = preferences.edit();
editor.putBoolean(filename, value);
editor.commit();
}
ブール値を読み取るには:
public boolean readPrimitiveInternalMemoryBoolean(String filename) {
SharedPreferences preferences = game.getPreferences(Activity.MODE_PRIVATE);
return preferences.getBoolean(filename, false);
}
これがお役に立てば幸いです。