我正在开发一个Android应用程序,它将短信收件箱的内容移动到sqlite数据库。它在某些手机中完美运行,而在其他一些手机中,应用程序在插入几个短信时崩溃并且强制关闭。有人帮助我在确定问题并为我提供适当的补救措施时。
提前致谢
void addContact(Contact contact) {
SQLiteDatabase db = this.getWritableDatabase();
InsertHelper ih = new InsertHelper(db, TABLE_CONTACTS);
/* ContentValues values = new ContentValues();
values.put(KEY_NAME, contact.getName()); // Contact Name
values.put(KEY_PH_NO, contact.getPhoneNumber()); // Contact Phone
values.put(KEY_DATE, contact.getDate());
values.put(KEY_PHOTO,contact.getPhotoUri());
values.put(KEY_REC,contact.getRec());
// Inserting Row
db.insert(TABLE_CONTACTS, null, values);
db.close(); // Closing database connection
*/
final int greekColumn = ih.getColumnIndex(KEY_NAME);
final int ionicColumn = ih.getColumnIndex(KEY_PH_NO);
final int romanColumn = ih.getColumnIndex(KEY_DATE);
final int sColumn=ih.getColumnIndex(KEY_PHOTO);
final int yColumn=ih.getColumnIndex(KEY_REC);
try {
// ... Create the data for this row (not shown) ...
// Get the InsertHelper ready to insert a single row
ih.prepareForInsert();
// Add the data for each column
ih.bind(greekColumn,contact.getName());
ih.bind(ionicColumn,contact.getPhoneNumber());
ih.bind(romanColumn, contact.getDate());
ih.bind(sColumn,contact.getPhotoUri());
ih.bind(yColumn,contact.getRec());
// Insert the row into the database.
ih.execute();
}
finally {
ih.close();
}
db.close();
}
这是我执行插入的方式