web-dev-qa-db-ja.com

初めてアプリに入るときのチュートリアル?

Android studioを使用してアプリをプログラミングしています。ユーザーがアプリを初めて使用するときにのみ表示されるチュートリアルをどのように実行できるか知りたいです。画像やスクリーンショットなどのチュートリアル

誰かが私を助けることができますか?ありがとう

9

初めてチュートリアルを実行するためのソリューションを探しているときにこのスレッドに遭遇したので( rbaleksandar 提案されているように)、いつか誰かに役立つ場合に備えて、これが機能するソリューションのテンプレートです私にとって(SharedPreferences AP​​Iを使用):

_@Override
    protected void onResume() {
        super.onResume();
        String tutorialKey = "SOME_KEY";
        Boolean firstTime = getPreferences(MODE_PRIVATE).getBoolean(tutorialKey, true);
        if (firstTime) {
            runTutorial(); // here you do what you want to do - an activity tutorial in my case
            getPreferences(MODE_PRIVATE).edit().putBoolean(tutorialKey, false).apply();
        }
    }
_

編集-ボーナス-アプリのチュートリアルに興味がある場合-私は今 ShowcaseView ライブラリをいじっています(これは素晴らしいです- やってみて)。どうやら彼らはsingleShot(long)と呼ばれるメソッドを使用してその問題へのショートカットを持っているようです-その入力はSharedPreferencesのキーであり、まったく同じことをします-最初のアクティベーションでのみ実行されます。使用例( ここ から取得):

_@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_single_shot);

        Target viewTarget = new ViewTarget(R.id.button, this);
        new ShowcaseView.Builder(this)
                .setTarget(viewTarget)
                .setContentTitle(R.string.title_single_shot)
                .setContentText(R.string.R_string_desc_single_shot)
                .singleShot(42)
                .build();
    }
_
5
noamgot

いつでも独自のソリューションをコーディングできますが、車輪の再発明はしないでください。

これを確認してくださいAndroidライブラリ:

ツアーガイドリポジトリ

画面にポインタを追加できるので、ユーザーは次にどこにタッチするかがわかります。

使い方はとても簡単で、ユーザーに触れてもらいたい要素をポイントするだけです。

ドキュメントから:

ユーザーにクリックしてもらいたい次のようなボタンがあるとします。

Button button = (Button)findViewById(R.id.button);

その上にチュートリアルポインタを追加するには、次の方法があります。

TourGuide mTourGuideHandler = TourGuide.init(this).with(TourGuide.Technique.Click)
        .setPointer(new Pointer())
        .setToolTip(new ToolTip().setTitle("Welcome!").setDescription("Click on Get Started to begin..."))
        .setOverlay(new Overlay())
        .playOn(button);

お役に立てれば!

6
herrmartell

私が理解している限り、質問はチュートリアルを作成するにはどうすればよいですか?(すでに回答を投稿した人が結論付けているため)ではなく最初の起動時にのみチュートリアルを表示する方法は?。だからここにこのトピックに関する私の2セントがあります:

Androidアプリが構成データを保存する方法についてはよくわかりませんが、データベース(SQLite)またはテキストファイル(プレーンテキスト、YAML、XMLなど)のいずれかにあると想定します。アプリの設定が保存されている場所に構成エントリを追加します。構成が表されている形式に応じて、tutorial_on : falsetutorial_on : 1などのようになります。

構成が機能する方法は、アプリ(または一般的なソフトウェア)を起動するたびに、アプリ自体にロードする必要があるというものです。したがって、以下をアプリに追加します(どこでどのようにアプリを設計するか)。

  1. tutorial_onエントリを確認してください
  2. tutorial_ontrue/1に設定されている場合

    2.1チュートリアルの表示

    2.2 tutorial_onfalse/0に変更します

    2.3結果を構成に保存する

  3. アプリを使い続ける

そうすることで、アプリが最初に起動したときにチュートリアルの表示を担当するフラグが切り替えられ、その後、アプリを起動するたびに切り替えフラグが読み取られ、チュートリアルが省略されます。

個人的には、Don't show tutorial anymoreに似たオプションと、それを再度有効にする方法の説明(そのアプリのメニューで何らかのアクションをトリガーするなど)をお勧めします。これには2つの大きな利点があります。

  • ユーザーエクスペリエンスの向上-ユーザーは制御したい(特にチュートリアルの表示や非表示などの些細なことを制御したい)。あなたが彼らからコントロールを奪うときはいつでも、彼らは腹を立てます。
  • ユーザーが忘れたものを再学習できるようにする-一般的な経験則は、覚えておくべき多くのことでユーザーに負担をかけないアプリを作成することです。だからこそ、物事は自明でなければなりません。ただし、それでもそれを実行したい場合があります。ユーザーが再起動する可能性を追加することにより(tutorial_onフラグをリセットし、上記の手順を繰り返すだけで)、チュートリアルではそれだけが可能になります-ユーザーのメモリを更新します。
2
rbaleksandar

紹介画面やチュートリアル画面を作成するためのライブラリへのリンク。

Google Nowのような横型カード: https://github.com/PaoloRotolo/AppIntro

チュートリアル画面: https://github.com/amlcurran/ShowcaseView

1
Fozzy