Android Open Source - MentalMathX Highscore Controller Impl From Project Back to project page MentalMathX .
License The source code is released under:
GNU General Public License
If you think the Android project MentalMathX listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
Java Source Code package net.schlingel.bplaced.mentalmathx.controller.impl;
/ / w w w . j a v a 2 s . c o m
import android.content.Context;
import android.os.AsyncTask;
import android.util.Log;
import net.schlingel.bplaced.mentalmathx.controller.HighscoreController;
import net.schlingel.bplaced.mentalmathx.model.Score;
import net.schlingel.bplaced.mentalmathx.utils.DatabaseHelper;
import net.schlingel.bplaced.mentalmathx.view.HighscoresView;
import java.sql.SQLException;
import java.util.List;
/**
* Created by zombie on 01.08.14.
*/
public class HighscoreControllerImpl implements HighscoreController {
public static class QueryTask extends AsyncTask<Void, Void, List<Score>> {
private Context context;
private HighscoresView highscoresView;
public QueryTask(Context context, HighscoresView highscoresView) {
this.context = context;
this.highscoresView = highscoresView;
}
@Override
protected List<Score> doInBackground(Void... voids) {
Log.i(HighscoreControllerImpl.TAG, "Starting DB fetch" );
try {
DatabaseHelper helper = new DatabaseHelper(context);
List<Score> scores = helper.fetchAll();
return scores;
} catch (SQLException e) {
Log.e(HighscoreControllerImpl.TAG, "SQL exception occurred! Fallback to error view" );
}
return null;
}
@Override
protected void onPostExecute(List<Score> scores) {
Log.i(HighscoreControllerImpl.TAG, String.format("Got %d entries in scores database" , scores.size()));
highscoresView.show(scores.toArray(new Score[0]));
}
public static QueryTask from(Context context, HighscoresView view) {
return new QueryTask(context, view);
}
}
private static final String TAG = HighscoreControllerImpl.class.getSimpleName();
private final HighscoresView view;
private final Context context;
public HighscoreControllerImpl(Context context, HighscoresView view) {
this.context = context;
this.view = view;
}
@Override
public void fetchScores() {
QueryTask.from(context, view).execute();
}
}
Java Source Code List net.schlingel.bplaced.mentalmathx.AboutActivity.java net.schlingel.bplaced.mentalmathx.GameActivity.java net.schlingel.bplaced.mentalmathx.HighscoresActivity.java net.schlingel.bplaced.mentalmathx.NewGameActivity.java net.schlingel.bplaced.mentalmathx.SelectDifficultyActivity.java net.schlingel.bplaced.mentalmathx.controller.GameController.java net.schlingel.bplaced.mentalmathx.controller.HighscoreController.java net.schlingel.bplaced.mentalmathx.controller.impl.GameControllerImpl.java net.schlingel.bplaced.mentalmathx.controller.impl.HighscoreControllerImpl.java net.schlingel.bplaced.mentalmathx.game.Difficulty.java net.schlingel.bplaced.mentalmathx.game.Mode.java net.schlingel.bplaced.mentalmathx.game.logic.FiniteGameLogic.java net.schlingel.bplaced.mentalmathx.game.logic.GameLogic.java net.schlingel.bplaced.mentalmathx.game.logic.HoundredRoundsGameLogic.java net.schlingel.bplaced.mentalmathx.game.logic.InfiniteGameLogic.java net.schlingel.bplaced.mentalmathx.game.logic.TenExercisesGameLogic.java net.schlingel.bplaced.mentalmathx.game.logic.TenRoundsGameLogic.java net.schlingel.bplaced.mentalmathx.game.strategy.EasyExerciseStrategy.java net.schlingel.bplaced.mentalmathx.game.strategy.ExerciseStrategyFactory.java net.schlingel.bplaced.mentalmathx.game.strategy.ExerciseStrategy.java net.schlingel.bplaced.mentalmathx.game.strategy.HardExerciseStrategy.java net.schlingel.bplaced.mentalmathx.game.strategy.MediumExerciseStrategy.java net.schlingel.bplaced.mentalmathx.game.strategy.OneOOneExerciseStrategy.java net.schlingel.bplaced.mentalmathx.math.Calculation.java net.schlingel.bplaced.mentalmathx.math.Calculations.java net.schlingel.bplaced.mentalmathx.math.Number.java net.schlingel.bplaced.mentalmathx.math.Operator.java net.schlingel.bplaced.mentalmathx.math.Term.java net.schlingel.bplaced.mentalmathx.model.Result.java net.schlingel.bplaced.mentalmathx.model.Score.java net.schlingel.bplaced.mentalmathx.model.adapters.ScoreAdapter.java net.schlingel.bplaced.mentalmathx.utils.DatabaseHelper.java net.schlingel.bplaced.mentalmathx.utils.DelayedTask.java net.schlingel.bplaced.mentalmathx.utils.LabelHelper.java net.schlingel.bplaced.mentalmathx.utils.MarathonScoreComparator.java net.schlingel.bplaced.mentalmathx.utils.RegularScoreComparator.java net.schlingel.bplaced.mentalmathx.view.DisplayMode.java net.schlingel.bplaced.mentalmathx.view.GameView.java net.schlingel.bplaced.mentalmathx.view.HighscoresView.java net.schlingel.bplaced.mentalmathx.view.ResultsView.java net.schlingel.bplaced.mentalmathx.view.impl.DialogResultsView.java net.schlingel.bplaced.mentalmathx.view.impl.FragmentHighscoresSubView.java