public class DBExample extends SQLiteOpenHelper{
public DBExample (Context context) {
super(context, "dbname.db", null, 1);
// TODO Auto-generated constructor stub
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("create table if not exists tablename("
+ "no integer primary key"
+ ", name text"
+ ", ab1 text"
+ ", ab2 text"
+ ", ab3 text"
+ ", type1 text"
+ ", type2 text);");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("drop table tablename;");
onCreate(db);
}
}
// read db file in asset folder.
// this method is in other activity.
public static void copyDatabase(final Context ctx, String dbName) {
if (ctx != null) {
File f = ctx.getDatabasePath(dbName);
if (f.exists()) {
if (!f.getParentFile().exists()){
f.getParentFile().mkdir();
}
try {
InputStream in = ctx.getAssets().open(dbName);
OutputStream out = new FileOutputStream(f.getAbsolutePath());
byte[] buffer = new byte[1024];
int length;
while ((length = in.read(buffer)) > 0) {
out.write(buffer, 0, length);
}
in.close();
out.close();
path = f.getPath();
Log.i("Database copy successed! ", f.getPath());
} catch (Exception ex) {
Log.e("dbError", ex.toString());
}
}
}
}
我在资产文件夹中使用xxx.db文件。 阅读没有问题。
当我使用像“插入表名值”('〜!#@!@#')的查询时;“ 并退出应用程序,插入的数据全部消失。
我希望保留插入的数据虽然终止应用,但不使用网络。 我该怎么办?
p.s:对不起,简短的英文..因为我是外国人。 :P