Java tutorial
/* * Copyright 2016 The Open Source Project of Jackie Zhu * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.jackie.searchFunction; import android.annotation.TargetApi; import android.app.SearchManager; import android.content.Intent; import android.database.Cursor; import android.os.Build; import android.os.Bundle; import android.support.v4.view.MenuItemCompat; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.SearchView; import android.support.v7.widget.Toolbar; import android.view.Menu; import android.view.MenuItem; import android.widget.TextView; /** * Created by Jackie Zhu on 16/1/25. */ public class MainActivity extends AppCompatActivity { private TextView tvResult; DatabaseTable table = new DatabaseTable(this); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tvResult = (TextView) findViewById(R.id.result_text_view); if (SDKUtils.IS_LOLLIPOP) { android.widget.Toolbar toolbar = (android.widget.Toolbar) findViewById(R.id.toolbar); setActionBar(toolbar); } else { Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); } handleIntent(getIntent()); } @Override protected void onNewIntent(Intent intent) { super.onNewIntent(intent); handleIntent(intent); } private void handleIntent(Intent intent) { if (Intent.ACTION_SEARCH.equals(intent.getAction())) { String query = intent.getStringExtra(SearchManager.QUERY); Cursor cursor = table.getWordMatches(query, null); if (cursor != null) { // process Cursor and display results StringBuilder stringBuilder = new StringBuilder(); do { stringBuilder.append(cursor.getString(0)).append("-").append(cursor.getString(1)).append("\n"); } while (cursor.moveToNext()); cursor.close(); tvResult.setText(stringBuilder.toString()); } } } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.options_menu, menu); // Associate searchable configuration with the SearchView SearchManager searchManager = (SearchManager) getSystemService(SEARCH_SERVICE); MenuItem menuItem = menu.findItem(R.id.action_search); if (SDKUtils.IS_HONEYCOMB) { android.widget.SearchView searchView = (android.widget.SearchView) menuItem.getActionView(); searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName())); } else { SearchView searchView = (SearchView) MenuItemCompat.getActionView(menuItem); searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName())); } return true; } }