Make an an app to draw a picture with GPS
Learn
- Watch this video of two dogs' GPS traces while playing
- Watch this video of people's GPS traces overlaid on video
- Explore the gallery of a GPS artist
- Read his statement
Group
- You may work in groups of up to 2
Code
- Write an Android application to collect your GPS positions
- It should support a "pen up" and "pen down" button
- It should support multiple colors rgb=([0-255], [0-255], [0-255])
- It should keep track of "strokes", which are sequences of GPS tuples when the pen is down
- Uploaded 4/2/15 1:00pm Code is provided here. These are the things
that you interact with:
- Internal code:
- All of this code should be in your
workspace. The only thing you should need to
edit are the package names so that they match
yours.
- The basic idea is that you instantiate one
StrokeManager in your Activity and use it to
hold the points that you capture for the
LocationManager.
- When you are ready you call the
StrokeManager.upload() method to transfer the
points to the server
- Look at the documentation
- It should support an "upload" function, which will send all the recorded strokes to a server for display
- The server will support viewing all the strokes
of one drawing after they have been uploaded
- The server will be provided
- We expect the coding will take about 8 hours
Draw
- Go out and make a drawing with your app
- You should plan it before you go out
- You can use multiple devices if you appropriately plan your various id's
- Your drawing can be of anything you want
- We are expecting something on the complexity of
these: butterfly,snail, dollar sign. The distance isn't important.
- For calibration, a smiley face would be a C, a
block lettered word would be a B, a well-executed
multi-colored anteater would be an A.
- We expect that the drawing would take about 3
hours
- Your grade will be adjusted based on how your
group rate's your performance.
Document
- Submit the group_id, the drawing_id, the
members of your group, and a short explanation of
your drawing via a EEE quiz
- Evaluate your group using this quiz.
Extra
- The best drawings will be displayed
- Due date: May 10, 11:59pm
Troubleshooting the system
- Check to see if the server is online by
checking if it has an Apache webserver running: http://djp3-pc2.ics.uci.edu/,
you should see
It works!
, if you don't
then contact Prof. Patterson
- Check to see if the software that runs the API
is working (doesn't use Apache): http://djp3-pc2.ics.uci.edu:9020/version,
you should see
{"error":"false","version":"Spring 2015 ICS 163 server"}
, if you don't then contact Prof. Patterson
- Check to see if the web interface to the API
works: http://djp3-pc2.ics.uci.edu/ICS163/gpsdraw/index.html,
you should see a form asking for the group and
drawing name. Enter "group_name" and "drawing_name" to verify the
web interface is connecting to the API. If it
doesn't, contact Prof. Patterson.
- Once you have an Android application running,
you can check the API log by going here:http://djp3-pc2.ics.uci.edu/ICS163/gpsdraw/luci-utility.log
Recommended strategy
- Study the lecture notes
- Make an application that just recovers the lastKnownPosition
- Make a new application that reports location continuously
- Make sure you understand the control flow in those applications
- Design a user interface for your final application in Android Studio
- Convince yourself that you can successfully upload a stroke to the server
- Add color
- Plan your trip
- Go draw!
- Fix all the bugs that you suddenly discover
- Try again and iterate