PhoneTutorial
PhoneTutorial copied to clipboard
How can make tutorial runs once when application open for first time after install?
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 You Can simply use SharedPrefrences Class and define a boolean to learn first run of application.
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