/** * 回调业务逻辑 * * @param back * @return */ protected <T> T callBack(int type, DaoCallBack<T> back) { T result = null; SQLiteDatabase conn = null; try { switch (type) { case TYPE_READ: conn = sqlConnection.getReadableDatabase(); break; case TYPE_WRITE: conn = sqlConnection.getWritableDatabase(); break; } if (conn == null) throw new NullPointerException("SQLiteDatabase conn is null"); result = back.invoke(conn); // conn.beginTransaction(); // conn.setTransactionSuccessful(); } catch (Exception e) { // conn.endTransaction(); Logger.e(TAG, e); } finally { DBUtil.Release(conn, cursor); } return result; }