Objectives:• Familiarize yourself with Fragments and Content ProvidersRequirements:Version – Your app should work on Android 8.0 or higher (API28)Task:Build an application that reads SMS messages and searches them forTicker symbols. After reading a validTicker Symbol, the app will add the Symbol to a bookmark list.Additionally, the user will also be able toopen the info page of tickers in the watchlist within theapp.Ticker Watchlist Manager Outline• Main Activity [15 points]: The app will have a single Activity.This activity will controltwo (2) Fragments to be shown in Landscape Mode. Namely,“TickerListFragment” and“InfoWebFragment”• TickerListFragment [30 points]: Fragment that displays the listof ticker symbolso Starts with 3 default entries E.g., {PTON, DIS, JPM}o Clicking on an entry in the list, opens the SeekingAlphainformation website forthat selected ticker on the InfoWebFragmento The List fragment will contain no more than to 5 entrieso Receiving any additional tickers when the list has 5 entriesalready should replacethe fifth entry to be the newly received tickero• InfoWebFragment [15 points] Upon starting the app without a SMS, the InfoWebFragment displaysthehttps://seekingalpha.com websiteo Loads the seekingalpha information website from the selectedelement in theTickerListFragmento• BroadcastReceiver/SmsReceiver [30 points]: Use an IntentFilter tolisten forSMS_RECEIVEDo Register the receiver inside of the Android Manifest file, notdynamicallyo When an SMS is received, your code should get the message fromthe SMSvalidate that it matches the watchlist entry format• A watchlist entry SMS has the following formatTicker:<TICKER>Example: Ticker:<BAC>Example: Ticker:<MAIN>
o If a SMS without the correct format is received, your receivershould:• Launch a new instance of your Activity• Show a Toast indicating that no valid watchlist entry wasfoundo If a SMS with the valid format is received and the ticker isvalid, your receivershould:• Launch a new instance of your Activity• Add the new Ticker to the default list• Open the corresponding website immediately in the WebViewo If a SMS with the valid format is received but the Ticker is notvalid, yourreceiver should:• Launch a new instance of your Activity• Show a Toast indicating that the ticker was invalido All entries (including the new one) should still beclickableo Your app should support SMS messages with Ticker in any of thefollowing validformats:• DIS (No need to modify)• bac (Need to convert to uppercase) à add BAC to the list• PtOn (Need to convert to uppercase)à add PTON to the listo Your app should not add invalid Tickers. Invalid tickers arethose that containsymbols or numbers. Examples of invalid tickers include:• D-i_s• T567• Q-s.• 123-sDExtra credit:1. Have your app support Portrait Mode [25 points]In Portrait Mode, you can follow this design:• MainActivity will only support TickerListFragmento you should have a second Activity WebActivity to support theInfoWebFragment• In Portrait mode, you should show the TickerListFragment alone atfirst• When an item is clicked, it should launch a new Intent to startWebActivity• WebActivity will in turn launch the InfoWebFragment eitherdynamically or by way ofthe fragment tag in XML• You will need 2 additional Layout XML files, 3 in totalo One for supporting MainActivity and TickerListFragment inPortrait modeo One for supporting WebActivity and InfoWebFragment in Portraitmodeo One for supporting MainActivity, TickerListFragment, and• InfoWebFragment in Landscape modeo Switching to landscape mode should show both fragments, switchingto portrait modeshould show a single fragment2. Use SharedPreferences to save the Tickers that are in the list[10 points]This means that that your list should contain the last set oftickers seen in the app after your app isdestroyed and even after the device is shut down and rebooted
Join a community of subject matter experts. Register for FREE to view solutions, replies, and use search function. Request answer by replying!