2015-05-08 4 views
0

Так что я выбираю случайный цвет.Как сохранить цвет в базе данных sqlite

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 моих вновь вставленные данных я получаю что-то вроде НОВОГО ЦВЕТА INSERTED [somenumber, NULL, NULL, NULL] Мне нужно знать, как правильно вставить это в базу данных, чтобы впоследствии получить это сохраненное значение цвета. Я вижу, что есть четыре переменные, определяющие цвет, который составляет color2, но я не знаю, как сохранить их в базе данных.

Благодаря

+0

Попробуйте так: String шестигранной = String.format ("#% 02x% 02x% 02x", r, g, b); –

ответ

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); 
Смежные вопросы