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

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

谢谢

最佳答案

嗯,这很简单,我的应用程序中也有同样的东西。就这样

由于颜色是一个 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);

关于android - 如何将颜色保存到sqlite数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30122276/

相关文章:

Android 多个垂直seekBar

multithreading - SQLite 共享缓存多线程读取

python - 如何从python中的gzip压缩文件中获取随机行而不将其读入内存

c++ - 在 C++ 类中使用 <random>

android - 在 ViewPager 的多个选项卡中使用单个 fragment

android - APP_ABI 忽略

c - 交易前后的sqlite差异

python - 如何用python制作随机文本

android - Android上的Media Player可以一起停止声音

ios - iOS 10 中的 sqlite3_prepare_v2 exc_bad_access