Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/187.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 为应用程序实例生成唯一ID_Android_Firebase_Kotlin_Google Cloud Firestore_Uuid - Fatal编程技术网

Android 为应用程序实例生成唯一ID

Android 为应用程序实例生成唯一ID,android,firebase,kotlin,google-cloud-firestore,uuid,Android,Firebase,Kotlin,Google Cloud Firestore,Uuid,我希望为应用程序实例生成一个唯一标识符字符串 我需要这个,因为我正在以以下格式存储用户配置文件: /phones/{phoneId}/users/{user}/ ..其中1台设备上有多个用户配置文件,无需身份验证。phoneId是应用程序实例的唯一字符串标识符 但是,当我执行以下操作时: var uniqueID = UUID.randomUUID().toString() Log.d("UniqueID", uniqueID ) uniqueId每次返回一个随机字符串。-但就像我说的,每次

我希望为应用程序实例生成一个唯一标识符字符串

我需要这个,因为我正在以以下格式存储用户配置文件:

/phones/{phoneId}/users/{user}/
..其中1台设备上有多个用户配置文件,无需身份验证。phoneId是应用程序实例的唯一字符串标识符

但是,当我执行以下操作时:

var uniqueID = UUID.randomUUID().toString()
Log.d("UniqueID", uniqueID )
uniqueId每次返回一个随机字符串。-但就像我说的,每次uniqueId打印时,我不会得到相同的字符串

为什么会这样,或者是否有更好的替代方法使用不可变字符串来唯一标识应用程序实例

每次调用UUID.randomUUID.toString时,它都会生成一个唯一的ID。这是定义上的。如果你想要一个唯一的ID,你应该只调用UUID.randomUUID.toString一次,并在应用程序启动之间将值存储在类似SharedReferences的内容中


注意到这与目的很相似,所以您也可以考虑使用它来标识设备。< /p>调用一次并存储在SharedPreferences中似乎是一种非常简单和有效的方法。但是,在安装应用程序时,如何调用uuID.RanguuuID.toStand并存储在SharedPreferences?因为我只希望它被调用一次。@Zorgan当应用程序启动时,请检查您是否在SharedRefs中找到uuid。如果没有,则生成一个并将其保存到sharedprefs。