我已将手机中的所有号码存储到arraylist中,现在我需要将所有这些号码存储到sqlitedb中,以便我可以轻松地将它们转换为excel表格。
List list = new ArrayList();
String number = cur.getString(cur.getColumnIndex(CommonDataKinds.Phone.NUMBER)); list.add(数);
答案 0 :(得分:1)
尝试使用此方法存储phobne编号
public static void storeInDB(ArrayList longs)抛出IOException,SQLException {
ByteArrayOutputStream bout = new ByteArrayOutputStream();
DataOutputStream dout = new DataOutputStream(bout);
for (long l : longs) {
dout.writeLong(l);
}
dout.close();
byte[] asBytes = bout.toByteArray();
PreparedStatement stmt = null; // however you get this...
stmt.setBytes(1, asBytes);
stmt.executeUpdate();
stmt.close();
}
public static ArrayList readFromDB()抛出IOException,SQLException {
ArrayList<Long> longs = new ArrayList<Long>();
ResultSet rs = null; // however you get this...
while (rs.next()) {
byte[] asBytes = rs.getBytes("myLongs");
ByteArrayInputStream bin = new ByteArrayInputStream(asBytes);
DataInputStream din = new DataInputStream(bin);
for (int i = 0; i < asBytes.length/8; i++) {
longs.add(din.readLong());
}
return longs;
}
}
答案 1 :(得分:0)
您使用ContentValues对象来保存值,并调用SQLiteDatabase对象的insert方法。例如
database = SQLiteOpenHelper.getWritableDatabase();
ContentValues values = new ContentValues();
for(int i = 0; i < list.size(); i++)
{
values.put(CommonDataKinds.Phone.NUMBER, list.get(i);
database.insert(TABLE_NAME, null, values);
}
基本上我所做的是1)获取对数据库对象的引用为可写; 2)创建一个contentValues对象,该对象将被传递到可写数据库的insert方法中; 3)遍历列表,并将列表中的每个元素添加到contentValues对象(每次迭代时添加到数据库中)。希望这有所帮助!我建议在youtube上查看有关Android中的SQLiteDataBases的幻灯片视频