import android.content.Context; import android.database.Cursor; import android.database.SQLException; import android.database.sqlite.SQLiteDatabase; import XXXX.User; import java.util.ArrayList; import java.util.List; public class DBManager { private DBHelper dbHelper; private final Context context; private SQLiteDatabase db; public DBManager(Context c) { context = c; } public void open() throws SQLException { dbHelper = new DBHelper(context); db = dbHelper.getWritableDatabase(); } public void close() { dbHelper.close(); } // ------------------------ "users" table methods ----------------// public long insertUser(User user){ return db.insert(DBHelper.TABLE_USERS, null, user.getContentOfValues()); } /* public Integer deleteUser (Integer id){ return db.delete(DBHelper.TABLE_USERS, DBHelper.USERS_COLUMN_USERS_ID + " = ? ", new String[] { Integer.toString(id) }); } */ public boolean updateUser (User user) { return db.update(DBHelper.TABLE_USERS, user.getContentOfValues(), "user_id=" + user.getUser_id(), null ) > 0; } public boolean userExists(String email) { //String sql = "SELECT * FROM " + DBHelper.TABLE_USERS + " WHERE " + DBHelper.USERS_COLUMN_EMAIL +" = " + email + " AND " + DBHelper.USERS_COLUMN_PASSWORD + " = " + User.sha256(password) + "'"; Cursor rs = db.rawQuery( "SELECT * FROM " + "\"" + DBHelper.TABLE_USERS + "\"" +" WHERE " + "\"" + DBHelper.USERS_COLUMN_EMAIL + "\"" + "=" + "\"" + email + "\"", null ); User user = null; if(rs.moveToFirst()){ user = new User( rs.getLong(rs.getColumnIndex(DBHelper.USERS_COLUMN_USERS_ID)), rs.getString(rs.getColumnIndex(DBHelper.USERS_COLUMN_NAME)), rs.getString(rs.getColumnIndex(DBHelper.USERS_COLUMN_EMAIL)), rs.getString(rs.getColumnIndex(DBHelper.USERS_COLUMN_PASSWORD)), rs.getString(rs.getColumnIndex(DBHelper.USERS_COLUMN_CURRENCY)), rs.getString(rs.getColumnIndex(DBHelper.USERS_COLUMN_COUNTRY))); } if (!rs.isClosed()) { rs.close(); } return user != null; } public User getUser(String email, String password) { //String sql = "SELECT * FROM " + DBHelper.TABLE_USERS + " WHERE " + DBHelper.USERS_COLUMN_EMAIL +" = " + email + " AND " + DBHelper.USERS_COLUMN_PASSWORD + " = " + User.sha256(password) + "'"; Cursor rs = db.rawQuery( "SELECT * FROM " + "\"" + DBHelper.TABLE_USERS + "\"" +" WHERE " + "\"" + DBHelper.USERS_COLUMN_EMAIL + "\"" + "=" + "\"" + email + "\"" + " AND " + "\"" + DBHelper.USERS_COLUMN_PASSWORD + "\"" + "=" + "\"" + password + "\"", null ); User user = null; if(rs.moveToFirst()){ user = new User( rs.getLong(rs.getColumnIndex(DBHelper.USERS_COLUMN_USERS_ID)), rs.getString(rs.getColumnIndex(DBHelper.USERS_COLUMN_NAME)), rs.getString(rs.getColumnIndex(DBHelper.USERS_COLUMN_EMAIL)), rs.getString(rs.getColumnIndex(DBHelper.USERS_COLUMN_PASSWORD)), rs.getString(rs.getColumnIndex(DBHelper.USERS_COLUMN_CURRENCY)), rs.getString(rs.getColumnIndex(DBHelper.USERS_COLUMN_COUNTRY))); } if (!rs.isClosed()) { rs.close(); } return user; } public User getUserInfo(String email) { Cursor rs = db.rawQuery( "SELECT * FROM " + "\"" + DBHelper.TABLE_USERS + "\"" +" WHERE " + "\"" + DBHelper.USERS_COLUMN_EMAIL + "\"" + "=" + "\"" + email + "\"", null ); User user = null; if(rs.moveToFirst()){ user = new User( rs.getLong(rs.getColumnIndex(DBHelper.USERS_COLUMN_USERS_ID)), rs.getString(rs.getColumnIndex(DBHelper.USERS_COLUMN_NAME)), rs.getString(rs.getColumnIndex(DBHelper.USERS_COLUMN_EMAIL)), rs.getString(rs.getColumnIndex(DBHelper.USERS_COLUMN_PASSWORD)), } if (!rs.isClosed()) { rs.close(); } return user; } }