基于http://developer.android.com/guide/topics/data/data-storage.html#db,似乎我需要另一个Java类文件(我制作),但现在我遇到了一个相当悲伤的问题:我不知道如何处理它。
我如何在我的主要活动中调用它,它只会创建一次数据库,还是每次运行时都会尝试重新创建数据库?
答案 0 :(得分:4)
这将首次“创建”数据库。之后,您可以使用该SQLiteOpenHelper类的对象来访问该数据库。请注意,您不必担心数据库的重新创建,如果您使用SQLiteOpenHelper方法,android将负责处理。
转发数据存储示例,您将创建一个对象,然后使用getWriteableDatabase方法获取对数据库的写入权限
DictionaryOpenHelper myDictionary;
myDictionary = new DictionaryOpenHelper(this);
SQLiteDatabase db = myDictionary.getWritableDatabase();
//to enter values in the db
ContentValues values = new ContentValues();
values.put("name","Rhyno");
db.insert(nameOfTable, null, values);
有关更详细的示例,请参阅本教程:http://marakana.com/forums/android/examples/55.html
答案 1 :(得分:2)
只有在它不存在时才会创建。
答案 2 :(得分:0)
SQLiteOpenHelper有两个非常有用的方法:onCreate()和onUpgrade()。
当DATABASE_VERSION减少或数据库打开时,还有onDowngrade()和onOpen()。
onCreate()是你想要你的db.execSQL(“CREATE TABLE ....”)首先制作你的表的地方。
然后,您可以使用SQLiteOpenHandler的实例来执行dbHandler.getWritableDatabase()和dbHandler.getReadableDatabase(),它们会在代码中返回可读或可写的SQLiteDatabase对象。然后,您可以使用writableDb.insert()或readableDB.query()来从数据库中放入和获取内容。