Buscar en toda la base de datos SQLite utilizando FTS3 / FTS4?

Tengo una base de datos sqlite que contiene gran cantidad de contenido html que se muestra utilizando una webview. Ahora quiero agregar funcionalidad de búsqueda a mi aplicación. Tengo dos tablas una para las categorías y la otra para las subcategorías. Las siguientes son las consultas de creación.

String CREATE_SUBCATEGORY_TABLE = "CREATE VIRTUAL TABLE " + TABLE_SUBCATEGORY_LIST + " USING fts3(" + KEY_ID + " INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL," + KEY_NAME + " TEXT," + KEY_DESC + " TEXT," + KEY_CATEGORY_ID + " INTEGER," + KEY_CONTENT1 + " TEXT," + KEY_CONTENTTYPE1 + " TEXT," + KEY_CONTENT2 + " TEXT," + KEY_CONTENTTYPE2 + " TEXT," + KEY_CONTENT3 + " TEXT," + KEY_CONTENTTYPE3 + " TEXT," + KEY_CONTENT4 + " TEXT," + KEY_CONTENTTYPE4 + " TEXT," + KEY_CONTENT5 + " TEXT," + KEY_CONTENTTYPE5 + " TEXT," + KEY_CONTENT6 + " TEXT," + KEY_CONTENTTYPE6 + " TEXT," + KEY_CONTENT7 + " TEXT," + KEY_CONTENTTYPE7 + " TEXT," + KEY_CONTENT8 + " TEXT," + KEY_CONTENTTYPE8 + " TEXT," + KEY_CONTENT9 + " TEXT," + KEY_CONTENTTYPE9 + " TEXT," + KEY_CONTENT10 + " TEXT," + KEY_CONTENTTYPE10 + " TEXT," + KEY_CONTENT11 + " TEXT," + KEY_CONTENTTYPE11 + " TEXT," + KEY_CONTENT12 + " TEXT," + KEY_CONTENTTYPE12 + " TEXT," + KEY_CONTENT13 + " TEXT," + KEY_CONTENTTYPE13 + " TEXT," + KEY_CONTENT14 + " TEXT," + KEY_CONTENTTYPE14 + " TEXT," + KEY_CONTENT15 + " TEXT," + KEY_CONTENTTYPE15 + " TEXT," + KEY_ORDERID + " INTEGER," + KEY_STATUS + " TEXT," + KEY_UPDATED + " TEXT, FOREIGN KEY (" + KEY_CATEGORY_ID + ") REFERENCES " + CAT_TABLE + "(" + KEY_CATEGORY_ID + ")" + ")"; String CREATE_CATEGORYLIST_TABLE = "CREATE VIRTUAL TABLE " + CAT_TABLE + " USING fts3(" + KEY_CATEGORY_ID + " INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL," + KEY_CATNAME + " TEXT," + KEY_CATDESC + " TEXT," + KEY_STATUS + " TEXT," + KEY_ORDERID + " INTEGER " + ")"; 

Así que ahora todas mis mesas una mesa virtual. Ahora lo que debería ser mi consulta de búsqueda como. He creado la siguiente consulta de búsqueda, pero no estoy seguro de si funcionará.

 public Cursor searchByInputText(String inputText) throws SQLException { SQLiteDatabase myDb = this.getReadableDatabase(); String[] selectionArgs = { inputText }; String query = "SELECT docid as _id, " + KEY_CATNAME +" ,"+KEY_CATDESC + " from " + CAT_TABLE + " where " + CAT_TABLE + " MATCH ? '," + selectionArgs + "';"; Cursor mCursor = myDb.rawQuery(query,null); if (mCursor != null) { mCursor.moveToFirst(); } return mCursor; 

}

Quiero buscar primero dentro de la tabla de categorías para el término que se busca en la tabla de subcategoría de búsqueda.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.