Introduction
This App for Android 4.0.3 Ice Cream Sandwich and later (Android 9 Pie) features how to read RSS stream from one website, and does some complex Web scraping. It renders the items in the feed directly in native Android components, such as TextView, ImageView
This App was also built to be as fastest and simple as possible. Material design guidelines were applied so you'll find:
- A navigation drawer with a header (see this tutorial)
- A SwipeRefreshLayout layout to simply refresh the RSS feed
- A collapsing toolbar layout when you're reading an article from the feed: expanded toolbar with header image is fading to simple toolbar
- Settings activity lets you customize the article you're currently reading, by excluding unnecessary content (like tweets), to leverage written content instead
- ArticleActivity is using a RecyclerView where items are layout vertically. It has a complex RecyclerView.Adapter which holds at least more than one ViewHolder
- For Android 7.1 (API 25): dynamic App Shortcuts to quickly open the category that you're reading the most!
Comments
Comments are loaded automatically in the same view when one has reached the bottom of the article.
Dynamic App Shortcuts
Introduced with Android 7.1, App Shortcuts are a way to provide a link to specific content with a long press on the App Icon. In LeMondeRssReader, it's implemented on how often one is using the navbar: every time one is clicking on a category, this action is tracked to make basic statistics.
An embedded SQLite database stores this:
private static final String CREATE_DATABASE = "CREATE TABLE " + TABLE_STATS + " ("
+ COL_CATEGORY + " INTEGER PRIMARY KEY, "
+ COL_TIMES_OPENED + " INTEGER NOT NULL, "
+ COL_LAST_OPENED + " INTEGER NOT NULL);";
Another small class has only 2 methods in order to track just what is useful for the user:
void saveSelectedEntry(int categoryId) { ... }
List<Integer> getSavedEntries() { ... }
Requirements
- A smartphone at least on Android Ice Cream Sandwich (4.0.3)
Videos
Screenshots
Download
Or you can get the app directly on GitHub v1.14
Support or Contact
You would like to translate this App in your language, or submit a bug / feature request? Please contribute!