Android:如何存储生成的ID并在下一次应用程序运行时调用它?

Android:如何存储生成的ID并在下一次应用程序运行时调用它?,android,Android,每次我的应用程序启动时,我的程序都会生成一个ID。因为每次它生成一个不同的ID,所以我想在退出程序之前将ID保存在某个地方,以便在程序稍后运行时再次使用它 样本编号:125469 注意:我不希望将其保存在文件中,而是保存在其他文件中。您可以使用SharedReferences或使用SQLite数据库进行存储。您可以这样做: private SharedPreferences prefs; ... ... private void initializeFromPreference() { pre

每次我的应用程序启动时,我的程序都会生成一个ID。因为每次它生成一个不同的ID,所以我想在退出程序之前将ID保存在某个地方,以便在程序稍后运行时再次使用它

样本编号:125469


注意:我不希望将其保存在文件中,而是保存在其他文件中。

您可以使用
SharedReferences
或使用
SQLite
数据库进行存储。

您可以这样做:

private SharedPreferences prefs;

...
...
private void initializeFromPreference() {
prefs = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
myId = prefs.getInt("myId", myId );
}
...
...
public void onDestroy() {
SharedPreferences.Editor editor = prefs.edit();
editor.putInt("myId", myId );
editor.commit();
super.onDestroy();
}

我不会对单个值使用数据库,
SharedReferences
是这样做的好方法

甚至更好的解决方案是使用GreenDAO这里有一些示例

你只需要绿刀罐

public class MyDaoGenerator {

      public static void main(String args[]) throws Exception {
      Schema schema = new Schema(1, "ro.octa.greendaosample.dao");
      createSchema(schema);
      new DaoGenerator().generateAll(schema, "C:/GreenDaoSchema");
}

private static void createSchema(Schema schema) {

     Entity user = schema.addEntity("DBUser");
     user.addIdProperty().primaryKey().autoincrement();
     user.addStringProperty("email").notNull().unique();
     user.addStringProperty("password").notNull();

}

几行代码之后,您就可以生成自动增量id、电子邮件和密码的模型。

您可以使用SharedReferences来存储您的id

 SharedPreferences prefs=this.getSharedPreferences("yourPrefsKey", Context.MODE_PRIVATE);

       Editor edit=prefs.edit();

       //to store value
       edit.putInt("Your Id Name", Id Value).commit();

       //to get value

       int id=prefs.getInt("Your Id Name", 0);

我能想到一个简单的方法:)


使用共享首选项
 SharedPreferences prefs=this.getSharedPreferences("yourPrefsKey", Context.MODE_PRIVATE);

       Editor edit=prefs.edit();

       //to store value
       edit.putInt("Your Id Name", Id Value).commit();

       //to get value

       int id=prefs.getInt("Your Id Name", 0);
    public static SharedPreferences sharedpreferences;
    sharedpreferences = getSharedPreferences("MyIds", Context.MODE_PRIVATE);

    if (sharedpreferences.contains("id"))
    {
       String id = sharedpreferences.getString("id", "");
       // *Use existing id and enjoy* ;)
    }
    else{

            // *Generate New ID (yourID)*
            Editor editor = sharedpreferences.edit();
            editor.putString("id", yourID);
            editor.commit();
    }