Search code examples
androidandroid-studioclientdeveloper-tools

Tutorial first time you enter into an app?


I'm programming an app using android studio. I want to know in which way I can do a tutorial that users will see only the first time that use the app. Tutorial like image or screenshoots

Can someone help me? Thanks


Solution

  • I encountered this thread while looking for a solution for running a tutorial only at the first time (as rbaleksandar suggested), so in case it will be helpful for someone someday, here's a template of a solution that works for me (using the SharedPreferences API):

    @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();
            }
        }
    

    EDIT - BONUS - If you're into app tutorial - I'm messing now with the ShowcaseView library (which is amazing - try it out). Apparently they have some shortcut for that issue using a method called singleShot(long) - its input is a key for the SharedPreferences, and it does the exact same thing - runs only in the first activation. Example of usage (taken from here):

    @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();
        }