Intereting Posts
Как сосредоточить индикатор прогресса в ProgressDialog легко (когда заголовок / текст не прошел) «DRAW OVER OTHER APP» – это какое разрешение в android TDD для Cocos2d-X в Android Как сделать Android ProgressBar определенным в коде? Элементы панели действий дублируют Метод активности вызова от широковещательного приемника Android – Как нарисовать градиент на основе дуги Как связать эту службу с Android? Как автоматически увеличить автоматически текущее местоположение в карте Google api для Android? Существуют ли какие-либо HTTP-прокси, такие как скрипач или проводник на андроиде? Загружать html-файлы из исходной папки в веб-просмотр OkHTTP и Picasso не работают вместе Pinterest style listview или gridview в android Android: Canvas.drawText () размер текста на разных разрешениях экрана Как я могу сосредоточиться на элементе EditText в виде разворачиваемого действия в панели действий (когда он расширен) и заставить открывать мягкую клавиатуру?

Вставить массив в базу данных SQLite в android

Я хочу сохранить будние дни в базе данных, поэтому я решил сохранить его, назначив значение int каждый день. т.е.

1 -> Выбрано, 0 -> Не выбрано.

Понедельник = 0/1

Вторник = 0/1

, , , , ,

Воскресенье = 0/1.

Но это сделает 7 столбцов в БД . Поэтому я подумал, может ли кто-нибудь помочь мне с этим, если я должен хранить его в одном массиве и извлекать значения для дальнейшего использования. Я читал несколько примеров по Интернету, но не получил его в простой форме.

Solutions Collecting From Web of "Вставить массив в базу данных SQLite в android"

Чтобы вставить 7 значений в один столбец, вы можете использовать разделитель запятой

Где Total_Score_P1 – массив строк

// строковый массив

String[] Total_Score = new String[] { p1e1,p1e2,p1e3,p1e4,p1e5,p1e6 }; // Convderting it into a single string String result_ScoreP1 = ("" + Arrays.asList(Total_Score_P1)). replaceAll("(^.|.$)", " ").replace(", ", " , " ); 

Result_ScoreP1 будет

// вывод этого

 result_ScoreP1 = "p1e1,p1e2,p1e3,p1e4,p1e5,p1e6"; 

Вставляйте его как одну строку в базу данных и, когда вы ее снова загружаете,

// список строковых массивов

// запрос запущен

 public ArrayList<String> rulTable(String id) { // TODO Auto-generated method stub ArrayList<String> Ruleob = new ArrayList<String>(); Cursor c_rule; try { c_rule = db.query(NameTable, new String[]{ columns1 }, Rule_COurseID + "=" + id , null, null, null, null, null); c_rule.moveToFirst(); // if there is data available after the cursor's pointer, add // it to the ArrayList that will be returned by the method. if (!c_rule.isAfterLast()) { do { Ruleob.add(c_rule.getString(0)); } while (c_rule.moveToNext()); } // let java know that you are through with the cursor. c_rule.close(); } catch(Exception e) { } return Ruleob; } //list to get elements ArrayList<String> ListOne = new ArrayList<String>(); ArrayList<String> row ; try{ // received values row = db.TheTable(id); String r1 = row .get(0); } catch(Exception e) { } StringTokenizer st2 = new StringTokenizer(r1, "||"); while(st2.hasMoreTokens()) { String Desc = st2.nextToken(); System.out.println(Desc+ "\t" ); ListOne.add(Desc); // } 

Вы можете использовать двоичное целое число 1 = выбрано 0 = Не выбрано (1111111) (0000000)

Всего семь дней, поэтому индекс 0 = mon, 1 = tues, 2 = wed, 3 = thurs, 4 = friday, 5 = sat, 6 = sunday..and so on ..

Здесь 1111111 означает, что весь день выбран, 0000000 весь день не выбран, 0001000 выбран только в четверг.

Я также обнаружил способ, то есть преобразовать ваши так называемые значения в массив JSON, а затем сохранить полную строку JSON в сущность / поле в базе данных.

Это помогает легко и эффективно обслуживать ценности.

Создайте еще одну таблицу со столбцом для каждого дня, логическое значение. Создайте связь с этой таблицей с помощью integer id (используйте внешний ключ). Это реляционный способ решения проблемы.