Created
April 27, 2016 07:12
-
-
Save Nathaniel100/7ecb4fcc8dd7f109d79dc22b748d3370 to your computer and use it in GitHub Desktop.
Android installation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public class Installation { | |
private static String sID = null; | |
private static final String INSTALLATION = "INSTALLATION"; | |
public synchronized static String id(Context context) { | |
if (sID == null) { | |
File installation = new File(context.getFilesDir(), INSTALLATION); | |
try { | |
if (!installation.exists()) writeInstallationFile(installation); | |
sID = readInstallationFile(installation); | |
} catch (Exception e) { | |
throw new RuntimeException(e); | |
} | |
} | |
return sID; | |
} | |
private static String readInstallationFile(File installation) throws IOException { | |
RandomAccessFile f = new RandomAccessFile(installation, "r"); | |
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(); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment