android 导入数据库,Android导入数据库

一. 创建数据库建立Android项目

用Navicat Premium建立所需数据库若数据过多可以先在Excel中录入再进行导入fc97494167651cd122260d2e0d5f6e2d.png

二.将现有数据库导入到Android里面

在Android的res文件夹下建立raw文件直接将数据库粘贴到raw下

然后建立一个java项目代码如下

public class DBOpenHelper {

private final int BUFFER_SIZE=400000;//缓冲区大小

public static final String DB_NAME="idioms.db"; //保存的数据库文件名

public static final String PACKAGE_NAME="com.example.happyidiom";//应用的包名

public static final String DB_PATH="/data"

+Environment.getDataDirectory().getAbsolutePath()+"/"

+PACKAGE_NAME+"/databases";//在手机里存放数据库的位置

private Context context;

public DBOpenHelper(Context context){

this.context=context;

}

public SQLiteDatabase openDatabase(){

try{

File myDataPath=new File(DB_PATH);

if(!myDataPath.exists()){

myDataPath.mkdirs();//如果没有这个数据库则创建

}

String dbfile=myDataPath+"/"+DB_NAME;

if(!(new File(dbfile).exists())){//判断数据库文件是否存在,若不存在直接导入,

//否则直接打开数据库

InputStream is=context.getResources().openRawResource(R.raw.idioms);

FileOutputStream fos=new FileOutputStream(dbfile);

byte[] buffer=new byte[BUFFER_SIZE];

int count=0;

while((count=is.read(buffer))>0){

fos.write(buffer, 0,count);

}

fos.close();

is.close();

}

SQLiteDatabase db=SQLiteDatabase.openOrCreateDatabase(dbfile, null);

return db;

}catch(FileNotFoundException e){

Log.e("Database","File not found");

e.printStackTrace();

}

catch(IOException e){

Log.e("Database","IO exception");

e.printStackTrace();

}

return null;

}

}

然后编写测试类

public class DBOpenHelperTest extends AndroidTestCase{

public void testDBCopy(){

DBOpenHelper dBOpenHelper=new DBOpenHelper(getContext());

dBOpenHelper.openDatabase();

}

}

然后在项目上右击后选择run as ——>Android Junit Test

出现以下两张图视为成功

a80ba3766c6a71366bd5463e34c130c2.png

c12e4db7e5a9f79dc64d042cb77968eb.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值