From dff6913243cd87e45d33a17c56e091f7411026b1 Mon Sep 17 00:00:00 2001 From: Rcureton Date: Wed, 3 Feb 2016 17:11:55 -0500 Subject: [PATCH] lab complete with search --- .../ShoppingListWithSearch/.idea/.name | 1 + .../ShoppingListWithSearch/.idea/compiler.xml | 22 +++++++ .../.idea/copyright/profiles_settings.xml | 3 + .../ShoppingListWithSearch/.idea/gradle.xml | 18 ++++++ .../ShoppingListWithSearch/.idea/misc.xml | 62 +++++++++++++++++++ .../ShoppingListWithSearch/.idea/modules.xml | 9 +++ .../.idea/runConfigurations.xml | 12 ++++ .../ShoppingListWithSearch/.idea/vcs.xml | 6 ++ .../app/src/main/AndroidManifest.xml | 4 ++ .../shoppinglistwithsearch/MainActivity.java | 37 ++++++++++- .../ShoppingSQLiteOpenHelper.java | 17 +++++ .../src/main/res/menu/search_options_menu.xml | 12 ++++ .../app/src/main/res/xml/searchable.xml | 7 +++ 13 files changed, 208 insertions(+), 2 deletions(-) create mode 100644 starter-code/ShoppingListWithSearch/.idea/.name create mode 100644 starter-code/ShoppingListWithSearch/.idea/compiler.xml create mode 100644 starter-code/ShoppingListWithSearch/.idea/copyright/profiles_settings.xml create mode 100644 starter-code/ShoppingListWithSearch/.idea/gradle.xml create mode 100644 starter-code/ShoppingListWithSearch/.idea/misc.xml create mode 100644 starter-code/ShoppingListWithSearch/.idea/modules.xml create mode 100644 starter-code/ShoppingListWithSearch/.idea/runConfigurations.xml create mode 100644 starter-code/ShoppingListWithSearch/.idea/vcs.xml create mode 100644 starter-code/ShoppingListWithSearch/app/src/main/res/menu/search_options_menu.xml create mode 100644 starter-code/ShoppingListWithSearch/app/src/main/res/xml/searchable.xml diff --git a/starter-code/ShoppingListWithSearch/.idea/.name b/starter-code/ShoppingListWithSearch/.idea/.name new file mode 100644 index 0000000..10ee423 --- /dev/null +++ b/starter-code/ShoppingListWithSearch/.idea/.name @@ -0,0 +1 @@ +ShoppingListWithSearch \ No newline at end of file diff --git a/starter-code/ShoppingListWithSearch/.idea/compiler.xml b/starter-code/ShoppingListWithSearch/.idea/compiler.xml new file mode 100644 index 0000000..96cc43e --- /dev/null +++ b/starter-code/ShoppingListWithSearch/.idea/compiler.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/starter-code/ShoppingListWithSearch/.idea/copyright/profiles_settings.xml b/starter-code/ShoppingListWithSearch/.idea/copyright/profiles_settings.xml new file mode 100644 index 0000000..e7bedf3 --- /dev/null +++ b/starter-code/ShoppingListWithSearch/.idea/copyright/profiles_settings.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/starter-code/ShoppingListWithSearch/.idea/gradle.xml b/starter-code/ShoppingListWithSearch/.idea/gradle.xml new file mode 100644 index 0000000..8d2df47 --- /dev/null +++ b/starter-code/ShoppingListWithSearch/.idea/gradle.xml @@ -0,0 +1,18 @@ + + + + + + \ No newline at end of file diff --git a/starter-code/ShoppingListWithSearch/.idea/misc.xml b/starter-code/ShoppingListWithSearch/.idea/misc.xml new file mode 100644 index 0000000..7158618 --- /dev/null +++ b/starter-code/ShoppingListWithSearch/.idea/misc.xml @@ -0,0 +1,62 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1.8 + + + + + + + + \ No newline at end of file diff --git a/starter-code/ShoppingListWithSearch/.idea/modules.xml b/starter-code/ShoppingListWithSearch/.idea/modules.xml new file mode 100644 index 0000000..27a232c --- /dev/null +++ b/starter-code/ShoppingListWithSearch/.idea/modules.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/starter-code/ShoppingListWithSearch/.idea/runConfigurations.xml b/starter-code/ShoppingListWithSearch/.idea/runConfigurations.xml new file mode 100644 index 0000000..7f68460 --- /dev/null +++ b/starter-code/ShoppingListWithSearch/.idea/runConfigurations.xml @@ -0,0 +1,12 @@ + + + + + + \ No newline at end of file diff --git a/starter-code/ShoppingListWithSearch/.idea/vcs.xml b/starter-code/ShoppingListWithSearch/.idea/vcs.xml new file mode 100644 index 0000000..6564d52 --- /dev/null +++ b/starter-code/ShoppingListWithSearch/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/starter-code/ShoppingListWithSearch/app/src/main/AndroidManifest.xml b/starter-code/ShoppingListWithSearch/app/src/main/AndroidManifest.xml index 77155bc..c74b025 100644 --- a/starter-code/ShoppingListWithSearch/app/src/main/AndroidManifest.xml +++ b/starter-code/ShoppingListWithSearch/app/src/main/AndroidManifest.xml @@ -11,9 +11,13 @@ + + diff --git a/starter-code/ShoppingListWithSearch/app/src/main/java/ly/generalassemb/drewmahrt/shoppinglistwithsearch/MainActivity.java b/starter-code/ShoppingListWithSearch/app/src/main/java/ly/generalassemb/drewmahrt/shoppinglistwithsearch/MainActivity.java index ab2c048..f5010bb 100644 --- a/starter-code/ShoppingListWithSearch/app/src/main/java/ly/generalassemb/drewmahrt/shoppinglistwithsearch/MainActivity.java +++ b/starter-code/ShoppingListWithSearch/app/src/main/java/ly/generalassemb/drewmahrt/shoppinglistwithsearch/MainActivity.java @@ -1,7 +1,10 @@ package ly.generalassemb.drewmahrt.shoppinglistwithsearch; +import android.app.DownloadManager; import android.app.SearchManager; +import android.app.SearchableInfo; import android.content.Context; +import android.content.Intent; import android.database.Cursor; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; @@ -12,6 +15,8 @@ import android.widget.CursorAdapter; import android.widget.ListView; import android.widget.SimpleCursorAdapter; +import android.widget.TextView; +import android.widget.Toast; public class MainActivity extends AppCompatActivity { private ListView mShoppingListView; @@ -28,12 +33,40 @@ protected void onCreate(Bundle savedInstanceState) { mCursorAdapter = new SimpleCursorAdapter(this,android.R.layout.simple_list_item_1,cursor,new String[]{ShoppingSQLiteOpenHelper.COL_ITEM_NAME},new int[]{android.R.id.text1},0); mShoppingListView.setAdapter(mCursorAdapter); + + 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); + Toast.makeText(MainActivity.this, "You are searching for " + query, Toast.LENGTH_SHORT).show(); + + + Cursor cursor= ShoppingSQLiteOpenHelper.getInstance(this).getShoppingList2(query); + mCursorAdapter.swapCursor(cursor); + + + } } public boolean onCreateOptionsMenu(Menu menu) { MenuInflater menuInflater = getMenuInflater(); - menuInflater.inflate(R.menu.main_menu, menu); + menuInflater.inflate(R.menu.search_options_menu, menu); + SearchManager searchManager= (SearchManager) getSystemService(SEARCH_SERVICE); + SearchView searchView= (SearchView)menu.findItem(R.id.search).getActionView(); + + + SearchableInfo info = searchManager.getSearchableInfo(getComponentName()); + searchView.setSearchableInfo(info); - return super.onCreateOptionsMenu(menu); + return true; } } diff --git a/starter-code/ShoppingListWithSearch/app/src/main/java/ly/generalassemb/drewmahrt/shoppinglistwithsearch/ShoppingSQLiteOpenHelper.java b/starter-code/ShoppingListWithSearch/app/src/main/java/ly/generalassemb/drewmahrt/shoppinglistwithsearch/ShoppingSQLiteOpenHelper.java index f5a5974..6c70df5 100644 --- a/starter-code/ShoppingListWithSearch/app/src/main/java/ly/generalassemb/drewmahrt/shoppinglistwithsearch/ShoppingSQLiteOpenHelper.java +++ b/starter-code/ShoppingListWithSearch/app/src/main/java/ly/generalassemb/drewmahrt/shoppinglistwithsearch/ShoppingSQLiteOpenHelper.java @@ -140,4 +140,21 @@ private void loadShoppingInfo(SQLiteDatabase db) throws IOException { reader.close(); } } + + public Cursor getShoppingList2(String query){ + + SQLiteDatabase db = this.getReadableDatabase(); + + Cursor cursor = db.query(SHOPPING_LIST_TABLE_NAME, // a. table + SHOPPING_COLUMNS, // b. column names + COL_ITEM_NAME + " LIKE ?", // c. selections + new String[]{query + "%"}, // d. selections args + null, // e. group by + null, // f. having + null, // g. order by + null); // h. limit + + return cursor; + } + } diff --git a/starter-code/ShoppingListWithSearch/app/src/main/res/menu/search_options_menu.xml b/starter-code/ShoppingListWithSearch/app/src/main/res/menu/search_options_menu.xml new file mode 100644 index 0000000..0027414 --- /dev/null +++ b/starter-code/ShoppingListWithSearch/app/src/main/res/menu/search_options_menu.xml @@ -0,0 +1,12 @@ + + + + + + \ No newline at end of file diff --git a/starter-code/ShoppingListWithSearch/app/src/main/res/xml/searchable.xml b/starter-code/ShoppingListWithSearch/app/src/main/res/xml/searchable.xml new file mode 100644 index 0000000..c0bc429 --- /dev/null +++ b/starter-code/ShoppingListWithSearch/app/src/main/res/xml/searchable.xml @@ -0,0 +1,7 @@ + + + +