Adding Android Hack4TheArts Base Project #2
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Things that need to be changed (or in some cases would be great changes to make this app stand out):
Google Maps v2 Android API key needs to be added to /res/values/strings.xml in the . Originally this was using my personal key.
Thumbnails can be removed from drawables - the thumbnails attribute from the data in res/raw/art.json works, but there was a very small request limit from Google Drive that caused those smaller images to not be returned.
The data needs to be hosted on a server and returns in a way that works with Volley (or OKHttp if that's used. That's probably a more preferred networking library). Right now it's stored locally and just parsed via gson into the models - it really should be pulled down from a server feed to prevent stale data and keep maintenance low.
Preferably the data will have the full image link in the 'image' node, rather than the file name, as that link could change and it would only be a data feed edit to keep the app working.
Large images for the gallery details page will need to be trimmed in size - Android has a 4500x4500 limit on what it can display (not to mention time to load). To use the same data across multiple platforms, a server side resizer would be preferred.
Map markers are using the thumbnails that were locally stored. Using remote assets, you should be able to use Picasso to load small thumbnails of a fixed sized into a Target class, and use that for creating the marker bitmap.
Sharing a photo option returns pretty small images, so that can be increased. Another nice feature would be using GPS coordinates to figure out what artwork a user is closest to and providing the option to share information for that specific piece.
image detail screen should have the street view and navigate buttons moved into the action bar, and the detail page could look nicer via spacing, text size and alignment, coloring. If descriptions of the art or some history behind them can be added to the data as a secondary call, that would be awesome
Details json could be a secondary call to the server so that the app isn't bombarded with a lot of data all at once. Associate a key with each artwork piece, and then have a call to the server that passes that ID to receive one node with as much information as we want per piece.
General polish is needed, like having progress spinners displayed until an image is loaded in so that the user doesn't think anything broke while it's loading, padding on the gridview, more colors and branding, using a listfragment in the navigation drawer rather than a listview (easily done, but I just went with the listview during the moment) and adding titles or numbers to the action bar in the image detail screen to let users know that they can swipe between images
Package name for the app would need to be changed over to whoever the owner of the app is going to be (i.e. com.cityoflafayette.hack4thearts.android)
Depending on the minimum supported Android version (2.3 is at about 15% global market share, maybe 10ish in the US, and that'll go down after Christmas, so I'd aim for Android 4.0 and higher), animations would be a nice feature to really make the app pop out. If Android L has their animations in the support library when that's released, then there's a lot of nice transitions that could be used.
Muzei image generator file has it set for wall papers to change every 5 seconds. This should be changed to 60 * 60 * 1000 (one hour) at the least, or provide a settings page for the Muzei screen for users to set rate of change. There can also be a section that lets users go to a web page that describes the art that they're seeing on their wallpaper.