public void saveBestScore(PlayerProfile playerProfile, LevelProfile level, Score score) { Score compareScore = getLevelBestScore(playerProfile, level); if (compareScore != null && compareScore.getTotalScore() > score.getTotalScore()) return; int levelgroupID = playerProfile.getCurrentLevelGroup().id; // String deleteDetail = "delete from score_detail where player_id=" + // playerProfile.getId() + " and level_id=" + level.id + // " and level_group_id=" + levelgroupID; String deleteScore = "delete from score where player_id=" + playerProfile.getId() + " and level_id=" + level.id + " and level_group_id=" + levelgroupID; String insertScore = "insert into score(player_id, level_group_id, level_id, score, compare_score,is_uploaded,server_score_id) values (" // todo+ ", " + FlyDBManager.SCORE_COLUMN_REACHEDDATE + playerProfile.getId() + ", " + levelgroupID + ", " + level.id + "," + score.getTotalScore() + ", '" + score.getCompareScore() + "'," + (score.isUploaded() ? "1" : "0") + "," + score.getServerScoreId() + ") "; // FlyDBManager.getInstance().openDatabase(); // FlyDBManager.getInstance().execSQL(deleteDetail); FlyDBManager.getInstance().execSQL(deleteScore); FlyDBManager.getInstance().execSQL(insertScore); // for (ScoreDetail detail : score.getScoreDetails()) { // String insertDetail = // "insert into score_detail(player_id,level_id,score_detail,_value,level_group_id) values (" // + playerProfile.getId() + ", " // + level.id + ", '" + detail.getDetailName() + "', '" // + detail.getValue() + "'," +levelgroupID + ")"; // FlyDBManager.getInstance().execSQL(insertDetail); // } }
public Score getLevelBestScore(PlayerProfile playerProfile, LevelProfile level) { int levelgroupID = playerProfile.getCurrentLevelGroup().id; String selectScore = "select score, compare_score, reached_date, is_uploaded, server_score_id from score where player_id =" + playerProfile.getId() + " and level_id=" + level.id + " and level_group_id=" + levelgroupID; Score score = null; DatabaseCursor cursor = FlyDBManager.getInstance().selectData(selectScore); if (cursor != null && cursor.getCount() > 0) { cursor.next(); score = new Score(); score.setTotalScore(cursor.getInt(0)); score.setCompareScore(cursor.getString(1)); // todo score.setReachedDate(cursor.getString(2)); score.setIsUploaded(cursor.getInt(3) > 0); score.setServerScoreId(cursor.getInt(4)); cursor.close(); } return score; }