我遇到了sqlite android的问题。根据我从互联网上找到的例子,可以在data / data / packagename /下找到数据库,但我找不到该目录下的这个文件夹。
请告诉我这是什么问题?
如果有必要,我会提供我的sqlitehelper类。
package com.example.waterrefilltest;
import static android.provider.BaseColumns._ID;
import android.content.ContentValues;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
public class data extends SQLiteOpenHelper{
private static final String DATABASE_NAME = "waterrefill.db";
public data(Context ctx){
super(ctx, DATABASE_NAME, null, 4);
}
public void generateData(Content c){
SQLiteDatabase db = this.getWritableDatabase();
ContentValues cv = new ContentValues();
cv.put("lat", c.getLat());
cv.put("long", c.getLng());
cv.put("cat",c.getCt());
cv.put("rat", c.getRt());
cv.put("ph",c.getPh());
cv.put("distance", c.getDistance());
db.insert("contents", null, cv);
db.close();
}
public void deleteData(SQLiteDatabase db){
db.execSQL("DROP TABLE contents");
}
@Override
public void onCreate(SQLiteDatabase db){
db.execSQL("CREATE TABLE contents ("+_ID+" INTEGER PRIMARY KEY AUTOINCREMENT , lat TEXT , longi TEXT , cat TEXT , rat TEXT , ph TEXT , distance TEXT );");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS contents");
onCreate(db);
}
}
答案 0 :(得分:1)
我猜数据库还没有创建。这就是为什么你无法看到它。在你的主要活动课中试试这个:
data dt = new data(this);
SQLiteDatabase db = dt.getReadableDatabase();
数据库是在调用oncreate时创建的,当你调用getReadAbleDatabase()时,它的oncreate被调用并创建数据库
答案 1 :(得分:0)
可能未创建,原因可能是您在创建表声明中使用的“; 。