I'm trying to store a long number (i.e. 9999999999) on a SQLite INTEGER column, and when I try to use ".put" from ContentValues, it doesn't accept, saying it's larger than an integer number.
The interesting thing is that when I tried to create a long variable, I had the same warning.
Bellow there is the code, witch on AndroiStudio gives me the erros:
PS.: sorry for posting it, because there are so many of these kind of question, but I couldn't find a solution looking them.
public class FeedHelperGamer extends SQLiteOpenHelper {
String TAG = "HelperGamer";
//string to create gamerDB
private static final String SQL_CREATE_ENTRIES_Gamer =
"CREATE TABLE " + FeedReaderContract.FeedEntry.TABLE_GAMER + " (" +
_ID + " INTEGER PRIMARY KEY," +
COLUMN_GAMER_NAME+ " TEXT," +
COLUMN_GAMER_GAMES + " INTEGER," +
COLUMN_GAMER_HITS + " INTEGER," +
COLUMN_GAMER_POINTS + " INTEGER," +
COLUMN_GAMER_PICTURE + " BLOB," +
COLUMN_GAMEMODE1 + " TEXT," +
COLUMN_GAMEMODE2 + " TEXT," +
COLUMN_GAMEMODE3 + " TEXT," +
COLUMN_GAMEMODE4 + " TEXT," +
COLUMN_GAMEMODE5 + " TEXT)";
private static final String SQL_DELETE_ENTRIES_GAMER =
"DROP TABLE IF EXISTS " + FeedReaderContract.FeedEntry.TABLE_GAMER;
// If you change the database schema, you must increment the database version.
public static final int GAMER_DATABASE_VERSION = 1;
public static final String DATABASE_NAME_GAMER = "Gamer.db";
public FeedHelperGamer(Context context) {
super(context, DATABASE_NAME_GAMER, null, GAMER_DATABASE_VERSION);
}
public void onCreate(SQLiteDatabase db) {
db.execSQL(SQL_CREATE_ENTRIES_Gamer);
}
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// This database is only a cache for online data, so its upgrade policy is
// to simply to discard the data and start over
db.execSQL(SQL_DELETE_ENTRIES_GAMER);
onCreate(db);
}
public void onDowngrade(SQLiteDatabase db, int oldVersion, int newVersion) {
onUpgrade(db, oldVersion, newVersion);
}
//insere novo jogador
public long addNewGamer(String tmpGamerName, byte[] imageBytes) {
final SQLiteDatabase db = this.getWritableDatabase();
long number = 999999999999999; //it's useless just created to test the long variable
// Create a new map of values, where column names are the keys
ContentValues values = new ContentValues();
values.put( COLUMN_GAMER_NAME, tmpGamerName );
values.put( COLUMN_GAMER_GAMES, 0 );
values.put( COLUMN_GAMER_HITS, 0 );
values.put( COLUMN_GAMER_POINTS, 9999999999);
values.put( COLUMN_GAMER_PICTURE, imageBytes );
values.put( COLUMN_GAMEMODE1, modeStateFalse );
values.put( COLUMN_GAMEMODE2, modeStateFalse );
values.put( COLUMN_GAMEMODE3, modeStateFalse );
values.put( COLUMN_GAMEMODE4, modeStateFalse );
long newRoId = db.insert( FeedReaderContract.FeedEntry.TABLE_GAMER, null, values );
return newRoId;
}