`

sqlife查询报错及关键字加粗方式

 
阅读更多

sqlife查询报错及关键字加粗的实现示例简单记录如下:

/**
	 * 搜索知识点
	 * @param query
	 * @return
	 */
	public List<KnowledgePoint> searchKnowledgePoints(String query , String subjectId) {
		
		if(query == null){
			return null;
		}
		
		KnowledgePoint kp = null;
		List<KnowledgePoint> kpList = new ArrayList<KnowledgePoint>();
		
		/**
		 * 防止用户输入'号引起崩溃
		 */
		query = query.replace("'", "''");
		
        String sql = "select * from " + TABLE_NAME_KNOWLEDGE_POINT + " where subject_id=? and point_name like ?";
		SQLiteDatabase db = this.getReadableDatabase();
		String[] argv = new String[] {subjectId , "%" + query + "%"};
        Cursor cursor = db.rawQuery(sql, argv);
        while (cursor.moveToNext()) {
        	
        	kp = new KnowledgePoint();
        	
        	kp.setSubjectId(cursor.getString(0));
        	kp.setKid(cursor.getString(2));
        	kp.setParentId(cursor.getString(3));
        	/**
        	 * 搜索关键字变粗
        	 */
        	kp.setName(cursor.getString(4).replace(query , "<strong>"+query+"</strong>"));
        	kp.setIcon(cursor.getInt(5));
        	
        	kpList.add(kp);
        }
        
        cursor.close();
        this.closeDB();
        return kpList;
	}

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics