简单拷贝已有数据库到APP目录的file目录下以作查询需要
// 从asserts目录下拷贝文件到files private void copyDB() { // 获取输出流,文件存储目录:data/data/包名/files目录下,文件名相同 File file = new File(getFilesDir(), "bearya.db"); // 当文件不存在的时候:才去拷贝,已经存在的不再去拷贝了。 if (!file.exists()) { AssetManager assetManager = getAssets(); try { // 获取输入流 InputStream is = assetManager.open("bearya.db"); FileOutputStream fos = new FileOutputStream(file); // 开始读和写 byte[] bys = new byte[1024]; int len; while ((len = is.read(bys)) != -1) { fos.write(bys, 0, len); } is.close(); fos.close(); } catch (Exception e) { e.printStackTrace(); } }}
//模糊查询数据库
private Cursor queryDatabase(String cmd) { String path = getFilesDir() + "/bearya.db"; stuDb = SQLiteDatabase.openOrCreateDatabase(path, null); Cursor rawQuery = stuDb.rawQuery("SELECT * from by_speech_cmd where input like '%" + cmd + "%'", null); rawQuery.moveToFirst(); return rawQuery; }