120 likes | 286 Views
RSS+. Android RSS Reader Midterm Project Update. Developers: Mark Carroll & Matt Ferguson. Progress since previous update. Overview Created 2 additional classes (currently at 4 activities and 3 backend ) Feed display (stored feeds; selection screen) Menu display
E N D
RSS+ Android RSS Reader Midterm Project Update Developers: Mark Carroll & Matt Ferguson
Progress since previous update • Overview • Created 2 additional classes (currently at 4activities and 3 backend) • Feed display (stored feeds; selection screen) • Menu display • Built on API Level 4 (Android 1.6) – Will Support TTS • Prototype is functional (demonstrates parsing and interface) • Some setbacks and bugs • Deviated from original plan slightly • Still in the process of implementing various features
Progress since previous update • Created 2 main activity classes • Reader class • Handles main interface (in progress), menu handling • Current Methods: onCreate(), onCreateOptionsMenu(), onMenuItemSelected(), onItemClick(), UpdateDisplay(), getFeed() • Description class • Displays selected feed with additional detail (title, description, publish date, url), menu handling • Current Methods: onCreate(), onCreateOptionsMenu(), onMenuItemSelected()
Progress since previous update • Created 3 backend classes • Handler class • Implements SAX parsing of RSS feed (XML stream). Populates an instance of the Feed class. • Current Methods: getFeed(), startDocument(), endDocument(), startElement(), endElement(), characters()
Progress since previous update • Created 3 backend classes • Feed class • Contains the parsed feed, including source title and publish date, and individual article items • Current Methods: RSSFeed(), addItem(), getItem(), getAllItems(), getItemCount(), setTitle(), setPubDate(), getTitle(), getPubDate() • Item class • Represents single RSS item (article) and related information • Current Methods: set/getTitle(), set/getDescription(), set/getPubDate(), set/getLink()
Setbacks • Creating a parser that will handle both RSS and ATOM formats • Both commonly used for syndication • Each uses distinct element names • Handler/Feed/Item classes took much longer to develop than originally expected • Passing arrays between activities required additional research into Android Bundles/Intents, though useful for future scenarios when sharing variables
Bugs • Current SAX parser does not always parse description (due to the usage of HTML tags in description elements). • Currently able to parse using DOM parser (not yet implemented). Will fix SAX parser or use DOM. • Title does not always parse. (Rare) • Still investigating issue. No current solution.
Changes from original plan Originally planned to include image parsing in prototype Originally intended to use a database in prototype design, will implement before moving on to text-to-speech. Prototype does not use a database, parses on application start and returns elements to activity classes May abandon configurable synchronization, depending on difficulty involved with implementation
To be Implemented Add methods/update parser to handle image elements Implement database class, rewrite backend to populate database Improve UI Implement text-to-speech Implement feed list, custom feeds (currently works with hardcoded feed URL) Implement customized WebView for viewing target URL
New functionalities Management of activity states (Paused, Stopped, Resumed), saving activity state May implement widgets and notification service (NotificationManager class) May implement article sharing (low priority) May implement theming (XML Styles for Views) Additional application improvement as we learn more about Android
Summary Created primary application classes for prototype Working through current setbacks (RSS/ATOM, sharing variables) Deviated from original plan slightly Need to update parser, implement database, among others Updated timeline, should have time to complete entirety of project Prototype is functional (but limited)