我的db有问题。没有任何表和数据,只有空数据库。我应该在代码中更改什么?我想用硬编码的值创建一个数据库,因为我想稍后在spinner中使用它们。
Database class
public class Database extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "CurrencyExchange.db";
private static final String CURRENCY_TABLE = "currency_table";
public Database(Context context) {
super(context, DATABASE_NAME, null, 1);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE "+CURRENCY_TABLE+ " ( ID INTEGER PRIMARY KEY AUTOINCREMENT, BGN TEXT, NZD TEXT, ILS TEXT, RUB TEXT, CAD TEXT, USD TEXT, PHP TEXT, CHF TEXT, ZAR TEXT, AUD TEXT, JPY TEXT, TRY TEXT, HKD TEXT, MYR TEXT, THB TEXT, HRK TEXT, NOK TEXT, IDR TEXT, DKK TEXT, CZK TEXT, HUF TEXT, GBP TEXT, MXN TEXT, KRW TEXT, ISK TEXT, SGD TEXT, BRL TEXT, PLN TEXT, INR TEXT, RON TEXT, CNY TEXT, SEK TEXT)");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS "+CURRENCY_TABLE);
onCreate(db);
}
public boolean insertData(){
SQLiteDatabase database = this.getWritableDatabase();
ContentValues contentValues = new ContentValues();
final String insert_data = "INSERT INTO "+CURRENCY_TABLE+ " VALUES (0,'BGN','NZD','ILS','RUB','CAD','USD','PHP','CHF','ZAR','AUD','JPY','TRY','HKD','MYR','THB','HRK','NOK','IDR','DKK','CZK','HUF','GBP','MXN','KRW','ISK','SGD','BRL','PLN','INR','RON','CNY','SEK')";
contentValues.put(CURRENCY_TABLE, insert_data);
return database.insert(CURRENCY_TABLE, null, contentValues) != -1;
}
主要活动
public class MainActivity extends AppCompatActivity {
Database database;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
database = new Database(this);
database.insertData();
SMILET
相关分类