如何将颜色保存到sqlite数据库

时间:2015-05-08 11:06:28

标签: android sqlite random colors

所以我选择随机颜色。

Random color = new Random();
final int color2 = (Color.argb(255, color.nextInt(255),color.nextInt(255), color.nextInt(255)));

然后我将其输入数据库

HashMap<String, String> colorvalues = new HashMap<String, String>();
        colorvalues.put("boxcolors", String.valueOf(color2));
        controller.insertcolorinfo(colorvalues);
        Log.d(LOGCAT, " NEW COLOR INSERTED"  + colorvalues);

当我检查新插入数据的logcat中的值时,我会得到类似的结果 NEW COLOR INSERTED [somenumber,null,null,null] 我需要知道如何正确地将其插入数据库,以便稍后我可以检索保存的颜色值。我确实看到有四个变量决定了构成color2的颜色,但我不知道如何将它们保存到数据库中。

谢谢

1 个答案:

答案 0 :(得分:1)

这很容易我在我的应用程序中有相同的东西。在这里

由于颜色是INTEGER变量,因此根据您的代码将color2直接存储在您的数据库中,将其声明为INTEGER而不是VARCHAR或其他任何其他代码。现在使用rawquery或您用来从数据库中获取数据的方法获取值。

我使用cursor因此我使用rawquery所以这是我的代码:

 int color = 0;
    Cursor colorCursor = db.rawQuery("SELECT color FROM entry WHERE date='" + date + "'", null);
    if (colorCursor.moveToFirst()) {
        color = colorCursor.getInt(0);
    }

然后您可以直接使用以下

view.setBackgroundColor(color);