android sqlite indexof()

时间:2011-03-23 04:39:08

标签: android sqlite

嗨,我要从文件中读取这种格式

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.

我需要将括号之间的内容插入到sqlite数据库中

它不工作..... !! 关于如何解决它的任何建议或关于如何阅读它并将其插入我的数据库列的任何其他好主意

注意:addressString包含需要插入表格的信息,我有5列BOOK,FROM,TO,LINK和SINCE,当我阅读文件时,我会获得所有书籍的信息(超过1本书)...这就是为什么我使用indexof()和循环'J'所以我可以插入5列并循环插入下一个5 ....

这是代码:

 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号,它不会读取地址字符串中的所有文本

    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 个答案:

答案 0 :(得分:0)

db.insertTitle(...)应该在for循环之外(由j控制)。