// Adding value to points category of a player public int addStats(long g_id, long p_id, String stat, int value) { SQLiteDatabase db = this.getWritableDatabase(); HockeyGameStats stats = getPlayerGameStats(g_id, p_id); int old_value = getPlayerGameStat(g_id, p_id, stat); int new_value = old_value + value; ContentValues values = new ContentValues(); values.put(KEY_P_ID, p_id); values.put(KEY_G_ID, g_id); if (stat == KEY_SHOTS) values.put(KEY_SHOTS, new_value); else values.put(KEY_SHOTS, stats.getshots()); if (stat == KEY_SOG) values.put(KEY_SOG, new_value); else values.put(KEY_SOG, stats.getsog()); if (stat == KEY_GOALS) values.put(KEY_GOALS, new_value); else values.put(KEY_GOALS, stats.getgoals()); if (stat == KEY_AST) values.put(KEY_AST, new_value); else values.put(KEY_AST, stats.getast()); if (stat == KEY_PEN_MINOR) values.put(KEY_PEN_MINOR, new_value); else values.put(KEY_PEN_MINOR, stats.getpenminor()); if (stat == KEY_PEN_MAJOR) values.put(KEY_PEN_MAJOR, new_value); else values.put(KEY_PEN_MAJOR, stats.getpenminor()); if (stat == KEY_PEN_MISCONDUCT) values.put(KEY_PEN_MISCONDUCT, new_value); else values.put(KEY_PEN_MISCONDUCT, stats.getpenmisconduct()); if (stat == KEY_SAVES) values.put(KEY_SAVES, new_value); else values.put(KEY_SAVES, stats.getsaves()); if (stat == KEY_GOALS_ALLOWED) values.put(KEY_GOALS_ALLOWED, new_value); else values.put(KEY_GOALS_ALLOWED, stats.getgoalsallowed()); // insert more stats here return db.update( TABLE_HOCKEY_GAME_STATS, values, KEY_P_ID + " = " + p_id + " AND " + KEY_G_ID + " = " + g_id, null); }
// Get all GameStats public List<HockeyGameStats> getAllGameStats() { List<HockeyGameStats> gameStats = new ArrayList<HockeyGameStats>(); SQLiteDatabase db = this.getReadableDatabase(); String selectQuery = "SELECT * FROM " + TABLE_HOCKEY_GAME_STATS; Log.i(LOG, selectQuery); Cursor c = db.rawQuery(selectQuery, null); // looping through all rows and adding to list if (c.moveToFirst()) { do { // create the instance of Games using cursor information HockeyGameStats stats = new HockeyGameStats(); stats.setgid(c.getLong(c.getColumnIndex(KEY_G_ID))); stats.setpid(c.getLong(c.getColumnIndex(KEY_P_ID))); stats.setshots((c.getInt(c.getColumnIndex(KEY_SHOTS)))); stats.setsog((c.getInt(c.getColumnIndex(KEY_SOG)))); stats.setgoals(c.getInt(c.getColumnIndex(KEY_GOALS))); stats.setast((c.getInt(c.getColumnIndex(KEY_AST)))); stats.setpenminor((c.getInt(c.getColumnIndex(KEY_PEN_MINOR)))); stats.setpenmajor(c.getInt(c.getColumnIndex(KEY_PEN_MAJOR))); stats.setpenmisconduct(c.getInt(c.getColumnIndex(KEY_PEN_MISCONDUCT))); stats.setsaves((c.getInt(c.getColumnIndex(KEY_SAVES)))); stats.setgoalsallowed((c.getInt(c.getColumnIndex(KEY_GOALS_ALLOWED)))); // Insert more stats here // adding to gameStats list gameStats.add(stats); } while (c.moveToNext()); } return gameStats; }
// get single game stats for single player public HockeyGameStats getPlayerGameStats(long g_id, long p_id) { SQLiteDatabase db = this.getReadableDatabase(); // create query to select game String selectQuery = "SELECT * FROM " + TABLE_HOCKEY_GAME_STATS + " WHERE " + KEY_G_ID + " = " + g_id + " AND " + KEY_P_ID + " = " + p_id; // Log the query Log.i(LOG, selectQuery); // perform the query and store data in cursor Cursor c = db.rawQuery(selectQuery, null); // set cursor to beginning if (c != null) c.moveToFirst(); // create the instance of Games using cursor information HockeyGameStats stats = new HockeyGameStats(); stats.setgid(c.getLong(c.getColumnIndex(KEY_G_ID))); stats.setpid(c.getLong(c.getColumnIndex(KEY_P_ID))); stats.setshots((c.getInt(c.getColumnIndex(KEY_SHOTS)))); stats.setsog((c.getInt(c.getColumnIndex(KEY_SOG)))); stats.setgoals(c.getInt(c.getColumnIndex(KEY_GOALS))); stats.setast((c.getInt(c.getColumnIndex(KEY_AST)))); stats.setpenminor((c.getInt(c.getColumnIndex(KEY_PEN_MINOR)))); stats.setpenmajor(c.getInt(c.getColumnIndex(KEY_PEN_MAJOR))); stats.setpenmisconduct(c.getInt(c.getColumnIndex(KEY_PEN_MISCONDUCT))); stats.setsaves((c.getInt(c.getColumnIndex(KEY_SAVES)))); stats.setgoalsallowed((c.getInt(c.getColumnIndex(KEY_GOALS_ALLOWED)))); // Insert more stats here return stats; }