-1

私はアンドロイドアプリを開発しています。最初にインストールしたときにアプリがそこにガイドされるようにします。アプリケーションの開始ボタンを押すと、ガイドが消えます。アプリケーションがローカル起動に戻ると、ガイドは再表示されません。前にありがとう:D

4

2 に答える 2

1

共有設定を使用してください。私の回答を参照してください: View Page Indicator の Shared Preferences

ユーザーがボタンを押したときにブール値を保存します。ブール値が設定されている場合、ガイドをスキップできます。

アプリのインストール期間中は機能します。

まず、PreferencesData クラスを作成します (リンクから String メソッドを保持し、ブール値のメソッドを追加します)。

public class PreferencesData {

    public static void saveString(Context context, String key, String value) {
    SharedPreferences sharedPrefs = PreferenceManager
            .getDefaultSharedPreferences(context);
    sharedPrefs.edit().putString(key, value).commit();
    }

    public static String getString(Context context, String key, String defaultValue) {
    SharedPreferences sharedPrefs = PreferenceManager
            .getDefaultSharedPreferences(context);
    return sharedPrefs.getString(key, defaultValue);
    }


    public static void saveBoolean(Context context, String key, Boolean value) {
    SharedPreferences sharedPrefs = PreferenceManager
            .getDefaultSharedPreferences(context);
    sharedPrefs.edit().putBoolean(key, value).commit();
    }

    public static Boolean getBoolean(Context context, String key, Boolean defaultValue) {
    SharedPreferences sharedPrefs = PreferenceManager
            .getDefaultSharedPreferences(context);
    return sharedPrefs.getBoolean(key, defaultValue);
    }
}

さて、あなたの MainActivity で (ここに MainActivity と GuideActivity があると仮定します)

  protected void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);

     // will return the default value true if never been set before
     if (PreferencesData.getBoolean(this, "showGuide", true) {
         startActivity(new Intent(MainActivity.this, GuideActivity.class));

         // you can do this from the last step of your guide instead
         // to make sure that the guide is shown again if user 
         // quit before completing it

         PreferencesData.saveBoolean(this, "showGuide", false);

         finish();
     } else {
          // continue application
          setContentView(R.id.yourlayout);
          ...
     }
 }
于 2013-10-02T01:54:15.103 に答える
0

ウォークスルー ガイドをアプリのメイン アクティビティとして設定しますが、そのアクティビティのレイアウトをインスタンス化する前に、ガイドが以前に一度閉じられたかどうかを示すフラグの存在を確認してください。このフラグは、アプリが閉じられたときに残る場所 (プロパティ ファイルまたはデータベースのいずれか) にある必要があります。ユーザーが初めてガイドを閉じるときに、そのフラグを true に設定します。次回起動時に確認するときに、ウォークスルーのレイアウトをスキップして、アプリを最初の「実際の」アクティビティに直接送ることができます。

編集: それに殴られました。はい - 使用したいデータベースが既にセットアップされていない限り、SharedPreferences を使用してください。

于 2013-10-02T01:57:38.283 に答える