Android sqlite циклы для чтения и вставки - PullRequest
0 голосов
/ 23 марта 2011
addressString = 
"BOOKNO= [1] 
From= [ 2011-02-28 07:00:52] 
To= [2011-03-17 07:01:02]
Link= [http://www.example.com]
SINCE= [5] days.
BOOKNO= [2] 
From= [ 2011-03-01 17:55:15] 
To= [2011-03-30 17:55:21]
Link= [http://www.something.com]
SINCE= [3] days."

У меня проблема с чтением этой информации из строки addressString и вставкой ее в таблицу sqlite, так что это информация, которую я предполагаю прочитать, я должен только извлечь текст, заключенный в скобки, чтобы таблицадолжно выглядеть так:

BOOKNO, FROM, TO, LINK, SINCE

это пять столбцов, которые мне нужно вставить в мою таблицу, поэтому я использую indexof (), чтобы извлечь то, что между скобками и моей первой строкой, должно толькосодержат

1,2011-02-28 07:00:52,2011-03-17 07:01:02,http://www.example.com,5

вторая строка

2,011-03-01 17:55:15,2011-03-30 17:55:21,http://www.something.com,3

, и мне нужно вставить первые 5 столбцов и повторить цикл, чтобы вставить следующие пять addressString содержит всю вышеуказанную информацию и читается какодна строка, и это код, который я использую, чтобы прочитать ее

db.open ();
long idx;

    String lines[] = {addressString};
    String fields[] = new String[lines.length];
    for (int i = 0; i < lines.length; i++) {

        for (int j=0; j<5; j++){
        int be = lines[i].indexOf('[');
        int e = lines[i].indexOf(']');
        fields[i] = lines[i].substring(be+1, e);
    }
        idx = db.insertTitle(fields[0],fields[1],fields[2],fields[3],fields[4]);
        }

, так что я делаю неправильно в этом коде и какчтобы заставить его работать ..... ??

Привет всем снова, я играл с моим кодом, и когда я пытаюсь показать вывод на экране с этим кодом, я получаю только номер 1 наэкран это не даетd весь текст, который находится в адресной строке

if (addressString != "didn't read titels"){
        String lines[] = {addressString};
        String fields[] = new String[lines.length];     
for (int i = 0; i < lines.length; i++) {
                int be = lines[i].indexOf('[');
                int e = lines[i].indexOf(']');
                fields[i] = lines[i].substring(be+1, e);
                myLoutputText.setText(fields[i]);
    }

, так .. почему это только чтение и отображение первой строки, которая [1]

Ответы [ 2 ]

0 голосов
/ 24 марта 2011

Проверьте значение lines.length. Похоже, он возвращается 1.

0 голосов
/ 23 марта 2011

Вы вызываете db.insertTitle, вы хотели использовать db.insert?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...