80,362
社区成员
发帖
与我相关
我的任务
分享
public SQLiteDatabase initdatabase() throws Exception {
if (!new File(databasepath).exists()) {
new File(databasepath).mkdir();
}
File databasefile = new File(databasepath + databasename);
if (!databasefile.exists()) {
System.out.println(databasepath);
databasefile.createNewFile();
InputStream inputStream = null;
FileOutputStream outputStream = null;
inputStream = activity.getResources().getAssets()
.open(databasename);
outputStream = new FileOutputStream(databasepath + databasename);
byte[] buffer = new byte[1024];
int length;
while ((length = inputStream.read(buffer)) > 0) {
outputStream.write(buffer, 0, length);
buffer = new byte[1024];// 一次写入128B的数据
System.out.println("write over!");
}
// Close the streams
outputStream.flush();
outputStream.close();
sqLiteDatabase = null;
sqLiteDatabase = SQLiteDatabase.openDatabase(databasepath
+ databasename, null, SQLiteDatabase.OPEN_READWRITE);
Toast.makeText(activity, "位于本地的数据库初始化完成!", Toast.LENGTH_LONG)
.show();
}
sqLiteDatabase = SQLiteDatabase.openDatabase(databasepath
+ databasename, null, SQLiteDatabase.OPEN_READWRITE);
return sqLiteDatabase;
}
代码大概的意思是
先看看系统有没有database的路径,没有就生成一个。
再看database存在不存在
不存在的话就用assets里的资源文件生成一个database存放在系统里。
最后返回一个数据库实例。
public SQLiteDatabase initdatabase() throws Exception {
if (!new File(databasepath).exists()) {
new File(databasepath).mkdir();
}
File databasefile = new File(databasepath + databasename);
if (!databasefile.exists()) {
System.out.println(databasepath);
databasefile.createNewFile();
InputStream inputStream = null;
FileOutputStream outputStream = null;
inputStream = activity.getResources().getAssets()
.open(databasename);
outputStream = new FileOutputStream(databasepath + databasename);
byte[] buffer = new byte[1024];
int length;
while ((length = inputStream.read(buffer)) > 0) {
outputStream.write(buffer, 0, length);
buffer = new byte[1024];// 一次写入128B的数据
System.out.println("write over!");
}
// Close the streams
outputStream.flush();
outputStream.close();
sqLiteDatabase = null;
sqLiteDatabase = SQLiteDatabase.openDatabase(databasepath
+ databasename, null, SQLiteDatabase.OPEN_READWRITE);
Toast.makeText(activity, "位于本地的数据库初始化完成!", Toast.LENGTH_LONG)
.show();
sqLiteDatabase = SQLiteDatabase.openDatabase(databasepath
+ databasename, null, SQLiteDatabase.OPEN_READWRITE);
return sqLiteDatabase;
}
}