Project 4 - Simple Twitter Client+
Simple Twitter Client+ is an android app that allows a user to view home and mentions timelines, view user profiles with user timelines, as well as compose and post a new tweet. The app utilizes Twitter REST API.
Time spent: X hours spent in total
User Stories
The following required functionality is completed:
- [x] The app includes all required user stories from Week 3 Twitter Client
- [x] User can switch between Timeline and Mention views using tabs
- [x] User can view their home timeline tweets.
- [x] User can view the recent mentions of their username.
- [x] User can navigate to view their own profile
- [x] User can see picture, tagline, # of followers, # of following, and tweets on their profile.
- [x] User can click on the profile image in any tweet to see another user's profile.
- [x] User can see picture, tagline, # of followers, # of following, and tweets of clicked user.
- [x] Profile view includes that user's timeline
- [x] User can infinitely paginate any of these timelines (home, mentions, user) by scrolling to the bottom
The following optional features are implemented:
- [x] User can view following / followers list through the profile
- [x] Implements robust error handling, check if internet is available, handle error cases, network failures
- [x] When a network request is sent, user sees an indeterminate progress indicator
- [ ] User can "reply" to any tweet on their home timeline
- [ ] The user that wrote the original tweet is automatically "@" replied in compose
- [ ] User can click on a tweet to be taken to a "detail view" of that tweet
- [ ] User can take favorite (and unfavorite) or retweet actions on a tweet
- [x] Improve the user interface and theme the app to feel twitter branded
- [ ] User can search for tweets matching a particular query and see results
The following bonus features are implemented:
- [ ] User can view their direct messages (or send new ones)
The following additional features are implemented:
- [x] use view holder to improve performance
- [x] use BroadcastReceiver to listen for new compose and update home timeline fragment
Video Walkthrough
Open-source libraries used
- Android Async HTTP - Simple asynchronous HTTP requests with JSON parsing
- Picasso - Image loading and caching library for Android
- ActiveAndroid - ActiveAndroid is an active record style ORM with SQLite