Andy Eshiet avatar

Reimplementing CrytpoNews in Native Android(UPDATE #6: Search Functionality)

mathemandy

Published: 09 May 2018 › Updated: 09 May 2018Reimplementing CrytpoNews in Native Android(UPDATE #6: Search Functionality)

Reimplementing CrytpoNews in Native Android(UPDATE #6: Search Functionality)

Link to Project

The aim of the app is to fetch news from different wordpress websites and display in the application. While the news are displayed, the app gives you the ability to click and view each news within the app. Instead of taking you out of the app, it gives you the comfort of viewing within the

History

Previous Updates

New Features

User can now search for Contents in the app

User can Enter Search QueryThe adapter Filters based on Users search query
Group.pngGroup 5.png
An Empty Screen is shown when nothing is foundLife cycle awareness when the app is rotated, search Query is preserved
Group 4.pngvideotogif_2018.05.09_23.13.36.gif

How it was Implemented

The resources for the icons were gotten from google icons. Commit can be found here

  • Handling Searching was a bit tricky but was achieved by using custom Adapter that implemented Searchable Adapter.

  • The Search View was instantiated here

         searchView.setOnQueryTextListener(this);            searchView.setOnQueryTextListener(this);
       if (mSearchQuery != null && !mSearchQuery.isEmpty()){
           String s = mSearchQuery;
           searchItem.expandActionView();
           searchView.setQuery(s, false);
            searchView.clearFocus();
        }

  • The Fragment implemented a listener which watched for change in the text when the user entered his search query in onQueryTextChange() method. This method contains the filter logic which used a for loop to scan through the List for matching text. The code for this can be found here

  • Saving the User search query was very important as i was able to cater for orientation changes in the activity in onSavedInstanceState method and was restored in onCreate method of the activity. This can be found here. Doing this i was able to preserve the fragment it self an the search Query.

  • Other Updates included introducing Databinding to the architecture i am already using. i am able to bind views direct with the data and it helped reduced a lot of broiler plate. A FragmentBindingAdapter was introduced to help directly bind the data to the xml. (no more setText() method in our fragment/activity).

  • Major Commit here

Resources

  • Github Pull Request- Link of PR can be found here
  • Apk for download - Download here
  • Versioning on Playstore on the way : Please kindly uninstall previous version before installing this version.

Roadmap

  • Searching all news
  • Persisting user news
  • Providing different layouts
  • Providing different themes for user
  • Push Notifications
  • News Posts sharing
  • Incorporating more news and giving the user the flexibility of deciding what he wants to read per time.
  • Able to save Favorites
  • Sort News

Leave Reimplementing CrytpoNews in Native Android(UPDATE #6: Search Functionality) to:

Written by

Android App Developer | Product Designer | Technical Writer

Read more #utopian-io posts


Best Posts From Andy Eshiet

We have not curated any of mathemandy's posts yet. But you can encourage our curation team to review posts by visiting them regularly and by referring other readers. Because we give priority to frequently read content.

More Posts From Andy Eshiet