cloneInstagram is an android app that allows a user to check out popular photos from Instagram.
Time spent: 09 hours spent in total
The following required functionality is completed:
- User can scroll through current popular photos from Instagram
- For each photo displayed, user can see the following details:
- Graphic, Caption, Username
- Relative timestamp, like count, user profile image
The following optional features are implemented:
-
Advanced: Add pull-to-refresh for popular stream with SwipeRefreshLayout
-
Advanced: Show latest comments for each photo
-
Advanced: Display each user profile image using a RoundedImageView
-
Advanced: Display a nice default placeholder graphic for each image during loading (read more about Picasso)
-
Advanced: Improve the user interface through styling and coloring
-
Bonus: Allow user to view all comments for an image within a separate activity or dialog fragment
-
Bonus: Allow video posts to be played in full-screen using the VideoView
-
Bonus: Apply the popular Butterknife annotation library to reduce view boilerplate
The following additional features are implemented:
- Use GSON to create the models from the JSON response instead of manually parsing the JSON
- Display each user profile image using a RoundedImageViewDisplay each user profile image using a CircleImageView
The following ADVANCED features will be implemented:
-
User can login/register/logout an Instagram account.
-
User can pick picture from Android gallery as well as taking a photo by camera.
-
Using RecycleView to display all uploaded photos.
-
When user taps on a photo in the photo list screen, open up a photo viewer screen. This photo viewer screen should enlarge the photo and support gesture zooming.
-
Test
Here's a walkthrough of implemented user stories:
GIF created with Recordit.
- Android Async HTTP - Simple asynchronous HTTP requests with JSON parsing
- Picasso - Image loading and caching library for Android
- Butterknife - reduce view boilerplate
- GSON - Java serialization library for converting Java objects to JSON
- CircleImageView - circular image view
Describe any challenges encountered while building the app.
- Genymotion can not create an emulator on my laptop, so i always use my Nexus as the test device. Somehow Android Studio couldn't connect with my phone last night.
- Using butterknife in the first time.
Free
Copyright 2016 haiDang Ngo