
概述要在Android系统中 *** 作SQLite数据库,是通过Android的核心类SQLiteDatabase类来实现的,通常情况下为了数据库升级的需要以及使用方便,我们会选择继承SQLiteOpenHelper抽像类,但是SQLiteOpenHelper会将数据库
文件创建在一个固定的目录(内存的/data/data/<package name/databases>目录中),如果你想使用已经存在的数据库
要在AndroID系统中 *** 作sqlite数据库,是通过AndroID的核心类sqliteDatabase类来实现的,通常情况下为了数据库升级的需要以及使用方便,我们会选择继承sqliteOpenHelper抽像类,但是sqliteOpenHelper会将数据库文件创建在一个固定的目录(内存的/data/data/<package name/databases>目录中),如果你想使用已经存在的数据库文件也就是说数据库会和程序一起发布,就得通过使用sqliteDabase的静态方法OpenorCreateDatabase()方法来得到sqliteDabase对象,下面是一个具体 *** 作类: package net.my.dao; import java.io.file;
import java.io.fileOutputStream;
import java.io.inputStream;
import net.my.jokebook.R;
import androID.app.Activity;
import androID.content.Context;
import androID.database.sqlite.sqliteDatabase;
public class DBHelper {
//得到SD卡路径
private final String DATABASE_PATH = androID.os.Environment
.getExternalStorageDirect
ory().getabsolutePath()
+ "/joke";
private final Activity activity;
//数据库名
private final String DATABASE_filename;
public DBHelper(Context context) {
// Todo auto-generated constructor stub
//这里直接给数据库名
DATABASE_filename = "jokebook.db3";
activity = (Activity)context;
}
//得到 *** 作数据库的对象
publicsqliteDatabase openDatabase()
{
try
{
boolean b = false;
//得到数据库的完整路径名
String databasefilename = DATABASE_PATH + "/" + DATABASE_filename;
//将数据库文件从资源文件放到合适地方(资源文件也就是数据库文件放在项目的res下的raw目录中)
//将数据库文件复制到SD卡中file dir = new file(DATABASE_PATH);
if (!dir.exists())
b = dir.mkdir();
//判断是否存在该文件
if (!(new file(databasefilename)).exists())
{
//不存在得到数据库输入流对象
inputStream is = activity.getResources().openRawResource(
R.raw.jokebook);
//创建输出流
fileOutputStream fos = new fileOutputStream(databasefilename);
//将数据输出
byte[] buffer = new byte[8192];
int count = 0;
while ((count = is.read(buffer)) > 0)
fos.write(buffer,count);
}
//关闭资源
fos.close();
is.close();
//得到sqlDatabase对象
sqliteDatabase database = sqliteDatabase.openorCreateDatabase(
databasefilename,null);
return database;
catch (Exception e)
System.out.println(e.getMessage());
return null;
}
写完这个类之后,就能得到sqliteDatabase对象,就能对数据库 *** 作了 总结 以上是内存溢出为你收集整理的使用外部sqlite文件。mark之全部内容,希望文章能够帮你解决使用外部sqlite文件。mark之所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
评论列表(0条)