WEB开发网
开发学院手机开发Android 开发 android利用数据库实现搜索联想功能 阅读

android利用数据库实现搜索联想功能

 2010-05-26 02:13:00 来源:WEB开发网   
核心提示:主要实现的效果是和google搜索一样,实现联想功能,android利用数据库实现搜索联想功能,如用户输入a,列表中则显示以a开头的数据库中的信息,* 根据用户输入的信息显示联想的所有词的列表,* 根据用户选择,下面是实现的效果图: * 实现过程主要是添加所有的数据到数据库中,* 调用搜索控件

主要实现的效果是和google搜索一样,实现联想功能,如用户输入a,列表中则显示以a开头的数据库中的信息。下面是实现的效果图:

image
 
image

* 实现过程主要是添加所有的数据到数据库中。

* 调用搜索控件,可见android利用 onSearchRequested()调用内部搜索ui组件。

* 根据用户输入的信息显示联想的所有词的列表。

* 根据用户选择,显示相应的结果。

实现的主要代码:

public class SearchProvider extends ContentProvider {

@Override

public int delete(Uri uri, String selection, String[] selectionArgs) {

return 0;

}

@Override

public String getType(Uri uri) {

return null;

}

@Override

public Uri insert(Uri uri, ContentValues values) {

return null;

}

@Override

public boolean onCreate() {

// 添加所有的数据

SearchUtil.getInstance().ensureLoaded();

return true;

}

@Override

public Cursor query(Uri uri, String[] projection, String selection,

String[] selectionArgs, String sortOrder) {

String query = null;

if (uri.getPathSegments().size() > 1) {

query = uri.getLastPathSegment().toLowerCase();

}

return getSuggestions(query);

}

private Cursor getSuggestions(String query) {

String processedQuery = query == null ? "" : query.toLowerCase();

List< SearchUtil.Word > words = SearchUtil.getInstance().getMatches(

processedQuery);

MatrixCursor cursor = new MatrixCursor(COLUMNS);

long id = 0;

1 2 3  下一页

Tags:android 利用 数据库

编辑录入:coldstar [复制链接] [打 印]
赞助商链接