Big Red App for Android
Big Red App is GOING AWAY?
Big Red App will most likely be taken down from the Google Play Store around Summer 2018 or sooner. It has been a long time since it has been updated, and its last maintainer has not had it installed in a long time, nor does he go to Cornell anymore. At the time this notice is being written, the app is installed on 450 active devices. Installs spike up dramatically at the start of every semester, so for those who are sad about it disappearing, I suggest any of the following:
- https://now.dining.cornell.edu/ - This is what 99% of users use the app for. You can just bookmark it onto your home screen. Maybe rename the shortcut to "Big Red App" for nostalgia.
- Google Maps apparently knows TCAT schedules now, which was a long-term goal for the app.
- Make an issue on this repo if you want to discuss it?
- Fork the repo and make your own cooler app (mind the license on the repo though).
Download?
- Download it from the Play Store here!
What
This is a native android application for Cornell students. Right now, you can use the app to:
- See what dining halls/cafes are open and what they are serving
- Navigate Cornell's buildings, bus stops, and bike racks
- See what libraries are open
- Discover events around campus
- Lookup people by net ID
APIs
We currently use the RedEvents API.
We also previously used the following APIs:
Kevin Chavez's API.
Cornell Open Data Initiative API.
Objectives
- 100% free as in beer (no monetization) and free as in speech (open source).
- App: native Android, easy to use, good looking, minimal, clean.
- Code: well-commented, easy to maintain.
Contributing
- Pull requests are very welcome!
- See the issues page.
- Please post any issues for any questions / bug reports / ideas / etc. you have!
- If you are a beginner, please do not hesitate, as I am learning Android dev right now too.
Overview of the code
- Hopefully you find the comments within the code itself helpful (if not, add an Issue about it!), but for a birds-eye view of how it all works:
- The relevant files are in
app/src/main
.
- Find the activities inside here.
MainActivity.java
simply kicks off the DiningNowFragment.java
fragment, which displays a webview of now.dining.cornell.edu.
AboutFragment.java
is a simple fragment to display meta-details about the app.
- All tabs within the navigation drawer are implemented as fragments, and follow a structure similar to that of DiningNowFragment.
- All GET requests are done through
SingletonRequestQueue.java
. It works using a RequestQueue
. The basic idea is that at the very start (in MainActivity.java
), a RequestQueue
is started and stays around for the lifetime of the app. So, any time in the app process you can simply access it to add a request on to the queue.
Up and Running
- Use Android Studio version >= 1.10
- Clone this repository
- Open AS, click "Open an existing Android Studio project"
- Navigate to where you cloned this repository (it should have a special icon by it in the file browser)
- Click Ok
- Under app/src/main/res/values, create a file private_keys.xml and copy and paste the below, filling in your relevant key:
<resources>
<!-- Google Maps API Key -->
<string name="google_maps_key" translatable="false" templateMergeStrategy="preserve">
YOUR_KEY_HERE
</string>
</resources>
If you do not have a key, see: https://developers.google.com/maps/documentation/android-api/?hl=en_US
OpenSourceCornell Club