如何将csv导入android上的sqlite并列出信息
如何将csv导入android上的sqlite并列出信息。我是安道尔的新手,一个完整的例子对我理解它是如何工作的很好,db hepler是我的问题,我不知道如何先设置它,找到这样的代码如何将csv导入android上的sqlite并列出信息,android,sqlite,csv,Android,Sqlite,Csv,如何将csv导入android上的sqlite并列出信息。我是安道尔的新手,一个完整的例子对我理解它是如何工作的很好,db hepler是我的问题,我不知道如何先设置它,找到这样的代码 InputStream is = getAssets().open("textv.csv"); BufferedReader br = new BufferedReader(new InputStreamReader(is, "UTF-8"));
InputStream is = getAssets().open("textv.csv");
BufferedReader br = new BufferedReader(new InputStreamReader(is, "UTF-8"));
String line = "";
String tableName ="TABLE_NAME";
String columns = "_id, name, dt1, dt2, dt3";
String str1 = "INSERT INTO " + tableName + " (" + columns + ") values(";
String str2 = ");";
db.beginTransaction();
while ((line = buffer.readLine()) != null) {
StringBuilder sb = new StringBuilder(str1);
String[] str = line.split(",");
sb.append("'" + str[0] + "',");
sb.append(str[1] + "',");
sb.append(str[2] + "',");
sb.append(str[3] + "'");
sb.append(str[4] + "'");
sb.append(str2);
db.execSQL(sb.toString());
}
db.setTransactionSuccessful();
db.endTransaction();
因此,请帮助您在使用该代码段时是否遇到任何问题?您最好使用ContentValues而不是StringBuilder
InputStream is = getAssets().open("textv.csv");
BufferedReader br = new BufferedReader(new InputStreamReader(is, "UTF-8"));
String line = "";
String tableName ="TABLE_NAME";
String columns = "_id, name, dt1, dt2, dt3";
ContentValues values = new ContentValues();
db.beginTransaction();
while ((line = buffer.readLine()) != null)
{
values.clear();
String[] str = line.split(",");
values.put ("_id", str[0]);
values.put ("name", str[1]);
values.put ("dt1", str[2]);
values.put ("dt2", str[3]);
values.put ("dt3", str[4]);
db.insert (tableName, null, values);
}
db.setTransactionSuccessful();
db.endTransaction();
请注意,我没有添加任何错误处理代码。我可以让它全部运行这只是我找到的代码的一部分,但我想了解如何执行的整个概念