【问题标题】:How to save color to sqlite database如何将颜色保存到 sqlite 数据库
【发布时间】:2015-07-19 06:40:15
【问题描述】:

所以我随机选择一种颜色。

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 中的值时,我得到类似 插入新颜色 [somenumber,null,null,null] 我需要知道如何正确地将其插入数据库,以便稍后检索保存的颜色值。我确实看到有四个变量决定了构成 color2 的颜色,但我不知道如何将它们保存到数据库中。

谢谢

【问题讨论】:

  • 试试这个方法:String hex = String.format("#%02x%02x%02x", r, g, b);

标签: android sqlite random colors


【解决方案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);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-08-03
    • 1970-01-01
    • 2020-11-30
    • 1970-01-01
    • 1970-01-01
    • 2013-01-18
    • 2021-06-05
    • 2020-02-10
    相关资源
    最近更新 更多