PhoneTutorial icon indicating copy to clipboard operation
PhoneTutorial copied to clipboard

How can make tutorial runs once when application open for first time after install?

Open deathprogrammer opened this issue 10 years ago • 2 comments

In PhoneTutorial library each time the user runs the application, tutorial will be displayed. How can I make it so that only the first time the application runs, it see?

deathprogrammer avatar Feb 23 '15 21:02 deathprogrammer

@deathprogrammer You Can simply use SharedPrefrences Class and define a boolean to learn first run of application.

TurKurT656 avatar Feb 23 '15 23:02 TurKurT656

import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.RandomAccessFile; import java.util.UUID;

import android.content.Context;

public class Util { 
    // =========================================================== 
    // 
    // =========================================================== 

    private static final String INSTALLATION = "INSTALLATION";

    public synchronized static boolean isFirstLaunch(Context context) {
        String sID = null;
        boolean launchFlag = false;
        if (sID == null) {
            File installation = new File(context.getFilesDir(), INSTALLATION);
            try { 
                if (!installation.exists()) {
                launchFlag = true;                          
                    writeInstallationFile(installation);
                } 
                sID = readInstallationFile(installation);

            } catch (Exception e) {
                throw new RuntimeException(e);
            } 
        } 
        return launchFlag;
    } 

    private static String readInstallationFile(File installation) throws IOException {
        RandomAccessFile f = new RandomAccessFile(installation, "r");// read only mode
        byte[] bytes = new byte[(int) f.length()];
        f.readFully(bytes);
        f.close();

        return new String(bytes);
    } 

    private static void writeInstallationFile(File installation) throws IOException {
        FileOutputStream out = new FileOutputStream(installation);
        String id = UUID.randomUUID().toString();
        out.write(id.getBytes());
        out.close();
    } 
} 

Usage (in class extending android.app.Activity)

Util.isFirstLaunch(this);

http://stackoverflow.com/questions/7217578/check-if-application-is-on-its-first-run/17668882#17668882

AizazZaidee avatar Jun 03 '15 03:06 AizazZaidee