2014-02-16 3 views
0

SQLite 데이터베이스에 단일 정수 값을 추가하려고합니다. 문제는 int 값이 다른 클래스에 있다는 것입니다.이 값을 데이터베이스에 합산하여 총 승수를 계산하는 방법은 무엇입니까? 난 그 안에 하나의 데이터를 추가하고 싶습니까?SQLite 안드로이드에서 데이터를 추가하는 방법

public class Database extends SQLiteOpenHelper{ 

public Database(Context applicationContext) { 
    super(applicationContext, "HighScores.db",null, 1); 
} 

@Override //creating database 
public void onCreate(SQLiteDatabase database) { 

    String query = "CREATE TABLE HighScores (totalWins INTEGER)"; 
    database.execSQL(query); 
} 

@Override //if the table exists then drop it 
public void onUpgrade(SQLiteDatabase database, int arg1, int arg2) { 
    String query = "DROP TABLE IF EXISTS HighScores"; 
    database.execSQL(query); 
    onCreate(database); 

} 

//for inserting values 
public void insertHighScores(HashMap<String, String> queryValues) { 
    SQLiteDatabase database = this.getWritableDatabase(); 

    ContentValues values = new ContentValues(); 
    values.put("totalWins",queryValues.get("totalWins")); 

    database.insert("HighScores", null, values); 
    database.close(); 
} 

//for updating values 
public int updateHighScores(HashMap<String, String> queryValues){ 
    SQLiteDatabase database = this.getWritableDatabase(); 

    ContentValues values = new ContentValues(); 
    values.put("totalWins",queryValues.get("totalWins")); 

    return database.update("HighScores", values, "totalWins" + " =?", new String[] 
      {queryValues.get("totalWins")}); 
} 
//return all highscores 
public ArrayList<HashMap<String,String>>getAllHighScores() { 
    ArrayList<HashMap<String, String>> highScoreArrayList = new ArrayList<HashMap<String, String>>(); 

    String selectQuery = "SELECT * FROM HighScores"; 

    SQLiteDatabase database = this.getWritableDatabase(); 

    Cursor MyCursor = database.rawQuery(selectQuery, null); 

    if (MyCursor.moveToFirst()) { 
     do{ 
      HashMap<String, String>highScoresMap = new HashMap<String, String>(); 
      highScoresMap.put("totalWins",MyCursor.getString(0)); 

      highScoreArrayList.add(highScoresMap); 

     }while(MyCursor.moveToNext()); 
    } 
    return highScoreArrayList; 
} 

    } 
+0

삽입하려고하면 오류 메시지가 표시됩니까? – janos

+0

삽입하는 방법을 모른다. 왜 삽입을 시도하지 않았는가? 왜 그런지 알지 못하기 때문에 왜 데이터베이스에 문제가있는 것입니까? – user3267882

+0

이 책을 읽었습니까? http://developer.android.com/training/basics/data-storage/databases.html – janos

답변

0

어때요?

public class SomeOtherClass{ 


Database myDatabase = new Database (this); 

public void editHighScores(int myvalue){ 

    HashMap<String, String> queryValues = new HashMap<String, String>(); 
    queryValues.put("totalWins", myvalue); 

    myDatabase.insertHighScores(queryValues); 
} 
} 
+0

하지만 편집 텍스트를 저장하고 있습니까? 나는 그것의 활동에 다른 int 값을 가지고 있고 그 int 값을 데이터베이스에 저장하려고합니다. – user3267882

+0

내가 편집 한 위를 본다, 이것이 무엇을 의미합니까? –

관련 문제