Android拆分功能行为

时间:2013-12-20 11:03:33

标签: android sqlite split

有一个txt文件,如下所示:

enter image description here

它被分隔符“:”分开:

            temp = strLine.split(":");

            ContentValues initialValues = new ContentValues();

            initialValues.put(TITLE, temp[0].trim());
            initialValues.put(DESCRIPTION, temp[1].trim());
            initialValues.put(GROUP, temp[2].trim());
            initialValues.put(COL1, temp[3].trim());
            initialValues.put(COL2, temp[4].trim());
            initialValues.put(COL3, temp[5].trim());
            initialValues.put(ADDRESS, temp[6].trim());

            db.insert(DATABASE_TABLE, null, initialValues);
        }

如您所见,此脚本填充数据库。之后我会显示从数据库中检索的数据列表。

但是当.txt不包含ADDRESS字段的数据时:

enter image description here

然后插入函数返回“ArrayIndexOutOfBoundsException”,光标变为空。

数据库在ADDRESS列中为空是可以的,所以如何在 initialValues.put(ADDRESS,temp [6] .trim());

中克服这个问题

你能提出什么建议?感谢

2 个答案:

答案 0 :(得分:1)

// try to replace this line
initialValues.put(ADDRESS, temp.length>6 ? temp[6].trim():"");

答案 1 :(得分:0)

您可以为地址

添加条件
    temp = strLine.split(":");

    ContentValues initialValues = new ContentValues();

    initialValues.put(TITLE, temp[0].trim());
    initialValues.put(DESCRIPTION, temp[1].trim());
    initialValues.put(GROUP, temp[2].trim());
    initialValues.put(COL1, temp[3].trim());
    initialValues.put(COL2, temp[4].trim());
    initialValues.put(COL3, temp[5].trim());


    if(temp.length==7)
    {
        initialValues.put(ADDRESS, temp[6].trim());
    }
    else
    {
        initialValues.put(ADDRESS, "");
    }
    db.insert(DATABASE_TABLE, null, initialValues);