Email Questions to developer[@]androidprogramming.mobi
Use of:
top5-Sqlite-Files-SharedPref code in Java insert in the Activity top5 used…
Use of Files – you call scoreSaveReturn(WithIntegerCurrentPlayScore)
//---FILE VER----top5 record scores------
public static int[] highscores = new int[] { 10, 8, 5, 3, 1 }; //DEFAULT
private String scoreSaveReturn2(int totalPoints) {
performRetreiveFromFileScores4("scores7"); // not comment if use files
//performRetreiveFromFileScores4SharedPref(); // not comment if use shared pref
//performRetreiveFromSQLITEScores4(); // not comment if use SQLITE
addScore(totalPoints); // not comment
performSaveToFileScores(highscores); // not comment if use files
//performSaveToFileScoresSharedPref(highscores);// not comment if use shared pref
// performSaveToFileScoresSQLITE(highscores); // not comment if use SQLITE
return printScores(highscores); // not comment
}
int k=10;
public void addScore(int score) {
for (int i = 0; i < 5; i++) {
if (highscores[i] < score) {
for (int j = 4; j > i; j--)
highscores[j] = highscores[j - 1];
highscores[i] = score;
k=i;
break;
}
}
}
private void performSaveToFileScores(int[] x) {
String strFileContent="";
for (int i = 0; i < 4; i++) {
strFileContent += ""+x[i]+",";
}
strFileContent += ""+x[4];
String f = "scores7";
try {
FileOutputStream oStream = openFileOutput(f, Context.MODE_PRIVATE);
oStream.write(strFileContent.getBytes());
oStream.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
private void performRetreiveFromFileScores(String filename) {
try {
FileInputStream in = openFileInput(filename);
//Log.i("filename", "filename as read -> " +filename);
InputStreamReader inputStreamReader = new InputStreamReader(in);
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
StringBuilder sb = new StringBuilder();
String line;
while ((line = bufferedReader.readLine()) != null) {
sb.append(line);
}
//Log.i("line", "sb as read -> " +sb);
//Log.i("line", "line as read -> " +line);
int k=0;
StringTokenizer st = new StringTokenizer(sb.toString(), ",");
while (st.hasMoreTokens()) {
highscores[k]=Integer.parseInt(st.nextToken());
k++;
}
}
catch (IOException e){
e.printStackTrace();
}
}
private String printScores(int [] highscores1) {
String scoresTop5 = "Top Scores:\n";
int[] highscores=highscores1;
String z="";
for (int i = 0; i<5; i++) {
if (k==i) { z=" *"; } else z="";
scoresTop5 += (i+1) + ": " + highscores[i] + z +"\n";
}
return scoresTop5;
}
//---FILE VER------top5 record scores---^---
Use of Shared Preferences – you replace performRetreiveFromFileScores(String filename) / performSaveToFileScores(int[] x)
Please remove “String filename” from first method
private void performSaveToFileScoresSharedPref(int[] x) {
//this does the actual file saving.
// set the filename in the interface:
String strFileContent="";
for (int i = 0; i < 4; i++) {
strFileContent += ""+x[i]+",";
}
strFileContent += ""+x[4];
SharedPreferences prefs = getSharedPreferences("top5",MODE_PRIVATE);
SharedPreferences.Editor editor = prefs.edit();
editor.putString("strFileContent", "");
editor.commit();
}
private void performRetreiveFromFileScores4SharedPref() {
try {
SharedPreferences prefs = getSharedPreferences("top5",MODE_PRIVATE);
String line;
line = prefs.getString("strFileContent", "");
int k=0;
StringTokenizer st = new StringTokenizer(line, ",");
while (st.hasMoreTokens()) {
highscores[k]=Integer.parseInt(st.nextToken());
k++;
}
}
catch (Exception e){
e.printStackTrace();
}
}
Use of SQLite – you replace performRetreiveFromFileScores(String filename) / performSaveToFileScores(int[] x)
// SQLITE ONLY START
private static final String DATABASE_NAME = "TOP5";
private SQLiteDatabase database; // database object
private DatabaseOpenHelper databaseOpenHelper; // database helper
private static final int DATABASE_VERSION = 2;
private class DatabaseOpenHelper extends SQLiteOpenHelper
{
// public constructor
public DatabaseOpenHelper(Context context, String name,
CursorFactory factory, int version)
{
super(context, name, factory, version);
} // end DatabaseOpenHelper constructor
// creates the contacts table when the database is created
@Override
public void onCreate(SQLiteDatabase db)
{
// query to create a new table named contacts
String createQuery = "CREATE TABLE top " + "(_id integer primary key autoincrement," + "top5 TEXT);";
db.execSQL(createQuery); // execute the query
} // end method onCreate
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion,
int newVersion)
{
} // end method onUpgrade
} // end class DatabaseOpenHelper
// SQLITE ONLY END
private void SQLITE() {
databaseOpenHelper = new DatabaseOpenHelper(getBaseContext(), DATABASE_NAME, null, DATABASE_VERSION);
database = databaseOpenHelper.getWritableDatabase();
}
private void performSaveToFileScoresSQLITE(int[] x) {
//this does the actual file saving.
// set the filename in the interface:
String strFileContent="";
for (int i = 0; i < 4; i++) {
strFileContent += ""+x[i]+",";
}
strFileContent += ""+x[4];
SharedPreferences prefs = getSharedPreferences("top5",MODE_PRIVATE);
SharedPreferences.Editor editor = prefs.edit();
editor.putString("strFileContent", "");
editor.commit();
try {
SQLITE();
ContentValues editContact = new ContentValues();
editContact.put("name", strFileContent);
database.update("contacts", editContact, "_id=" + 0, null);
}
catch (Exception e){
e.printStackTrace();
}
if (database != null)
database.close();
}
private void performRetreiveFromSQLITEScores4() {
try {
SQLITE();
Cursor result = database.query("top", null, "_id=" + 0, null, null, null, null);
result.moveToFirst();
int nameIndex = result.getColumnIndex("name");
int k=0;
StringTokenizer st = new StringTokenizer(result.getString(nameIndex), ",");
while (st.hasMoreTokens()) {
highscores[k]=Integer.parseInt(st.nextToken());
k++;
}
result.close();
}
catch (Exception e){
e.printStackTrace();
}
if (database != null)
database.close();
}


