如何将arrarylist值存储到sqlitedb?

我把手机中的所有数字都存入了数组列表,现在我需要将所有这些数字存储到sqlitedb中,这样我就可以轻松地将它们转换为Excel表格。

List list = new ArrayList();

String number = cur.getString(cur.getColumnIndex(CommonDataKinds.Phone.NUMBER)); list.add(数);

尝试这种方法存储phobne号码

public static void storeInDB(ArrayList longs)throws 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()throws 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; } 

}

您将使用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)创build一个contentValues对象,该对象将被传递到可写数据库的插入方法中; 3)迭代列表,并将列表中的每个元素添加到contentValues对象(每次迭代都添加到数据库中)。 希望这有助于一些! 我build议在YouTube上检查有关SQLiteDataBases在YouTube上slidenerd的video