Android数据库创建

Android数据库创建,android,database,Android,Database,在我的应用程序中,当用户第一次进入时,他可以添加两个日期,然后应用程序进行天数计算。然后,此结果写入数据库,并在我的主要活动(称为arxiki.class)的文本视图中打印。我希望应用程序记住此结果,并在用户每次进入主要活动时打印 正如我所做的,每次用户更改活动或关闭应用程序时,下次应用程序再次要求他输入日期并在我的数据库中创建新数据时。我如何始终获得第一个结果?谢谢 我保存日期结果的代码是: DbXronia entry_add = new DbXronia(arxiki.this);

在我的应用程序中,当用户第一次进入时,他可以添加两个日期,然后应用程序进行天数计算。然后,此结果写入数据库,并在我的主要活动(称为arxiki.class)的文本视图中打印。我希望应用程序记住此结果,并在用户每次进入主要活动时打印

正如我所做的,每次用户更改活动或关闭应用程序时,下次应用程序再次要求他输入日期并在我的数据库中创建新数据时。我如何始终获得第一个结果?谢谢

我保存日期结果的代码是:

DbXronia entry_add = new DbXronia(arxiki.this);
            entry_add.open();
            entry_add.createEntry_xronia(meres);
            entry_add.close();

您在后端使用什么样的数据库-SQLite

如果您使用的是SQLite,那么您可以通过自动递增的*\u id*列对从数据库中获取的数据进行排序。作为一种替代方法,您可以在插入新条目时在数据库中存储某种时间戳。 查询将类似于:

Cursor c = db.query (true, table, new String[]{dataColumn}, null, null, null, null, "_id DESC", "LIMIT 1")
if (c.moveToFirst()) {
   String result = c.getString(0);
}
c.close();
正如我所做的,每次用户更改活动或关闭 下一次应用程序再次要求他输入日期并创建 我的数据库中有一个新数据。我怎样才能始终得到第一个结果?谢谢

所以你们只想向用户询问一次日期(只有在应用程序首次启动时)。这个“算法”不应该很复杂。当用户输入日期并将值写入保存状态为“日期已存储”的数据库时,您需要一些机制

你可以用它来达到你的目标。将值写入数据库后,您将“此操作”保存到SharedReferences中,然后当用户下次启动应用程序时,只需创建将包装您的操作的条件

伪代码:

// saving action
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
prefs.edit().putBoolean("isInserted", true);

// retrieve value
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
boolean isInserted = prefs.getBoolean("isInserted", false);

if (!isInserted) {
   // user can add dates
}
else {
  // do your stuff
}

是的,我使用sqlite db。此代码将在我的主类或db creator类中编写?我想您应该在调用代码的数据库类中添加某种
getEntry()
方法。只需发布数据库类,我将向您展示如何扩展它。