1

Androidアプリの最初のインストール後に一度実装される機能はありますか? 私のアプリは音声再交渉アプリなので、初回起動後に音声でユーザーに指示を出したいのですが?

4

4 に答える 4

1

SharedPreferencesを探しています。このチュートリアルを受講して、それらがどのように機能するかを確認してください。これがどのように機能するかがわかれば、やりたいことを実行する方法がわかります。

この技術は、将来作成するほぼすべてのアプリで使用されるため、これについて読むことは非常に重要です。

お役に立てれば。

于 2013-04-28T08:22:41.797 に答える
0

簡潔な答え:

いいえ。

少し長い答え:

Android には、このようなタスクを処理するためのメカニズムが組み込まれていません。ただし、そうするためのメカニズムを提供します。

ここで SharedPreferencesについて読んでください。

サンプル:

SharedPreferences sharedPrefs = getApplicationContext().getSharedPreferences("SOME_FILE_NAME", Context.MODE_PRIVATE);

// PUT THIS AFTER THE INSTRUCTIONS / TUTORIAL IS DONE PLAYING
Editor editor = sharedPrefs.edit();
editor.putBoolean("TUTORIAL_SHOWN", true);

// DO NOT SKIP THIS. IF YOU DO SKIP, THE VALUE WILL NOT BE RETAINED BEYOND THIS SESSION
editor.commit(); 

から値を取得するにはSharePreference:

boolean blnTutorial = extras.getBoolean("TUTORIAL_SHOWN", false);

の値を確認しますblnTutorial

if (blnTutorial == false) {
    // SHOW THE TUTORIAL
} else {
    // DON'T SHOW THE TUTORIAL AGAIN
}
于 2013-04-28T08:23:08.953 に答える
0

それを行うための組み込み関数はありませんが、を使用して簡単に実現できますSharedPreferences

たとえば、アクティビティでは、次の方法で設定を読み取ることができます。

SharedPreferences settings = getSharedPreferences("my_preferences", 0);
boolean setupDone = settings.getBoolean("setup_done", false);

if (!setupDone) {
    //Do what you need
}

セットアップが完了したら、設定値を更新します。

SharedPreferences.Editor editor = settings.edit();
editor.putBoolean("setup_done", true);
editor.commit();

についての詳細SharedPreferences:

http://developer.android.com/reference/android/content/SharedPreferences.html http://developer.android.com/guide/topics/data/data-storage.html#pref

于 2013-04-28T08:23:15.967 に答える
0

これは sharedPreferences で行うことができます。(http://developer.android.com/reference/android/content/SharedPreferences.htmlまたはhttp://developer.android.com/guide/topics/data/data-storage.html)例

SharedPreferences settings= getSharedPreferences(PREFS_NAME, 0);
boolean first_run= settings.getBoolean("first", true);

if(first_run){
///show instruction
SharedPreferences.Editor editor = settings.edit();  
editor.putBoolean("first", false);
editor.commit();
}
于 2013-04-28T08:25:31.493 に答える