編輯:關於Android編程
在Android上,搜索是一個核心用戶特性。用戶可以搜索可用的任何數據,不管內容是存促於設備本身或者需要通過網絡訪問。Android提供了一個搜索框架為用戶創建一個一致的搜索體驗,可以幫助你實現搜索應用程序。搜索框架提供兩種搜索模式:一個搜索對話框(Search Dialog)位於搜索屏幕的頂部或窗口小部件(SearchView),可以將其嵌入到你的布局中。在這兩種情況下,Android系統將幫助你搜索實現交付執行搜索的任務給一個特定的Activity。效果如下圖所示。
當用戶需要執行一個搜索的搜索對話框或搜索小部件,系統創建一個Intent和存儲用戶Query,然後系統會啟動你事先聲明的用於執行數據查找的Activity,,使用它進行數據搜尋。總共需要以下三個步驟。
(1)建立一個Search.XML文件在res/xml文件中
一個XML文件,配置一些search dialog或widget的設置。它包括設置特性,比如語音搜索,搜索建議和提示文本搜索框。
這個Activiy接收搜索用戶的數據,並顯示搜索結果。特別注意的是為了使調用的Activity找到這個SearchActivity,你必須首先聲明Android搜索Activitydao到你的清單文件。如下所示。
...
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.search); handleIntent(getIntent()); } @Override protected void onNewIntent(Intent intent) { setIntent(intent); handleIntent(intent); } private void handleIntent(Intent intent) { if (Intent.ACTION_SEARCH.equals(intent.getAction())) { String query = intent.getStringExtra(SearchManager.QUERY); doMySearch(query); } }
(3)建立一個搜索界面
搜索界面包含兩種類型SearchDialog和SearchWidget。SerachDialog:默認情況下,搜索對話框隱藏,我們通過調用onSearchRequested()(當用戶按搜索按鈕)讓他顯示在屏幕上端,SearchWidget :允許用戶將搜索框放在布局的任意位置,但通常需要跟actionbar結合。
搜索界面的Activity也需要在清單文件聲明
public class OtherActivity extends Activity{ private Button mStartSearch; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.search_invoke); //就一個按鈕 mStartSearch = (Button)findViewById(R.id.btn_start_search); //啟動搜索框 mStartSearch.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { onSearchRequested(); } }); } //重寫onSearchRequested方法 @Override public boolean onSearchRequested() { //除了輸入查詢的值,還可額外綁定一些數據 Bundle appSearchData = new Bundle(); appSearchData.putString("demo_key","text"); startSearch(null, false, appSearchData, false); //必須返回true。否則綁定的數據作廢 return true; } }
SurfaceFlinger自啟動之後,主要有三種類型線程參與工作: 1.binder線程,負責監控binder設備完成與客戶端的交接 2.控制台事件監控線程,負責監控硬
Android表情功能處理方案概述1.原理和實現思路2.表情圖片顯示3.表情面板4.表情的輸入框插入和刪除5.表情添加腳本Android中表情功能,一般都不是用Image
Android studio 百度地圖開發(5)查詢周邊服務(加油站)email:[email protected]開發環境:win7 64位,Android
Android的分辨率適配問題一直是Android所讓人诟病的主要問題,這裡參考了官方的開發文檔和實際開發中的一些處理分辨率的技巧來和大家交流一下。官方的關於分辨率適配的