Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發實例 >> Android Searchable之Recent Query Suggestions(下)

Android Searchable之Recent Query Suggestions(下)

編輯:Android開發實例

修改Searchable配置

保存Queries

為了獲得最近的搜索詞集合,你需要通過你的searchable activity把它保存在你的SearchRecentSuggestionsProvider中。 為此,你需要創建一個SearchRecentSuggestions的實例,並調用它的saveRecentQuery() 方法把searchable activity收到的查詢關鍵詞進行保存。下面示例3就是在activity的 onCreate()保存Queries的一個示例。 示例3:
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    Intent intent  = getIntent();

    if (Intent.ACTION_SEARCH.equals(intent.getAction())) {
        String query = intent.getStringExtra(SearchManager.QUERY);
        SearchRecentSuggestions suggestions = new SearchRecentSuggestions(this,
                MySuggestionProvider.AUTHORITY, MySuggestionProvider.MODE);
        suggestions.saveRecentQuery(query, null);
    }

}
SearchRecentSuggestions的構造函數需要兩個參數,你的content provider(SearchRecentSuggestionsProvider)中設置的搜索授權和數據庫模式。
saveRecentQuery需要兩個參數,第一個是搜索關鍵字,第二個是可選的,它表示的是搜索關鍵字的second line.(如果搜索關鍵字的沒second line則為null),第二個參數只是在用DATABASE_MODE_2LINES設置為two-line mode的時候才用。如果你開啟了two-line mode,系統在查找matching suggestions的時候,query text還需要匹配這個second line
清空Suggestion Data
為了保護用戶的私密性,你應該總是給用戶提供清空最近搜索關鍵字的功能。你可以通過調用clearHistory()來清空最近的搜索關鍵字。
比如:
示例4:
SearchRecentSuggestions suggestions = new SearchRecentSuggestions(this,
        HelloSuggestionProvider.AUTHORITY, HelloSuggestionProvider.MODE);
suggestions.clearHistory();
你應該通過叫"Clear Search History"的菜單項或按鈕來執行上面的代碼,一般清空Suggestion Data,當然最好在執行上面的代碼之前先彈出一個對話框來讓用戶確定是否真正的需要清空Suggestion Data。
  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved