This Android app lets you classify Galaxy Zoo subjects. It is available in the Google Play Store: https://play.google.com/store/apps/details?id=com.murrayc.galaxyzoo.app . Try beta versions early here: https://play.google.com/apps/testing/com.murrayc.galaxyzoo.app . See also the iPhone app for Galaxy Zoo: https://github.com/murraycu/ios-galaxyzoo/
I've seen one crash report with this stacktrace, though the stacktrace is rather hard to understand. Maybe the retrace (in proguardgui) failed somehow.
java.lang.RuntimeException: An error occured while executing doInBackground()
at android.os.AsyncTask$3.done(AsyncTask.java:299)
at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:352)
at java.util.concurrent.FutureTask.setException(FutureTask.java:219)
at java.util.concurrent.FutureTask.run(FutureTask.java:239)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
at java.lang.Thread.run(Thread.java:841)
Caused by: java.util.ConcurrentModificationException
at java.util.ArrayList$ArrayListIterator.next(ArrayList.java:573)
at com.murrayc.galaxyzoo.app.QuestionFragment.android.view.View onCreateView(android.view.LayoutInflater,android.view.ViewGroup,android.os.Bundle)(Unknown Source)
void onCreateOptionsMenu(android.view.Menu,android.view.MenuInflater)
void onPrepareOptionsMenu(android.view.Menu)
boolean onOptionsItemSelected(android.view.MenuItem)
void onAttach(android.app.Activity)
android.widget.TableRow addRowToTable(android.app.Activity,android.widget.TableLayout)
void insertButtonInRow(android.content.Context,android.widget.TableRow,android.view.View)
android.widget.Button createAnswerButton(android.app.Activity,com.murrayc.galaxyzoo.app.DecisionTree$Answer)
void onAnswerButtonClicked(java.lang.String,java.lang.String)
void saveClassificationSync(com.murrayc.galaxyzoo.app.QuestionFragment$ClassificationInProgress)
android.support.v4.content.Loader onCreateLoader(int,android.os.Bundle)
void onLoadFinished(android.support.v4.content.Loader,android.database.Cursor)
void onLoaderReset(android.support.v4.content.Loader)
void onLoadFinished(android.support.v4.content.Loader,java.lang.Object)
void access$000(com.murrayc.galaxyzoo.app.QuestionFragment,java.lang.String,java.lang.String)
void access$100(com.murrayc.galaxyzoo.app.QuestionFragment,com.murrayc.galaxyzoo.app.QuestionFragment$ClassificationInProgress)
void access$200(com.murrayc.galaxyzoo.app.QuestionFragment)
at com.murrayc.galaxyzoo.app.QuestionFragment.android.view.View onCreateView(android.view.LayoutInflater,android.view.ViewGroup,android.os.Bundle)(Unknown Source)
void onCreateOptionsMenu(android.view.Menu,android.view.MenuInflater)
void onPrepareOptionsMenu(android.view.Menu)
boolean onOptionsItemSelected(android.view.MenuItem)
void onAttach(android.app.Activity)
android.widget.TableRow addRowToTable(android.app.Activity,android.widget.TableLayout)
void insertButtonInRow(android.content.Context,android.widget.TableRow,android.view.View)
android.widget.Button createAnswerButton(android.app.Activity,com.murrayc.galaxyzoo.app.DecisionTree$Answer)
void onAnswerButtonClicked(java.lang.String,java.lang.String)
void saveClassificationSync(com.murrayc.galaxyzoo.app.QuestionFragment$ClassificationInProgress)
android.support.v4.content.Loader onCreateLoader(int,android.os.Bundle)
void onLoadFinished(android.support.v4.content.Loader,android.database.Cursor)
void onLoaderReset(android.support.v4.content.Loader)
void onLoadFinished(android.support.v4.content.Loader,java.lang.Object)
void access$000(com.murrayc.galaxyzoo.app.QuestionFragment,java.lang.String,java.lang.String)
void access$100(com.murrayc.galaxyzoo.app.QuestionFragment,com.murrayc.galaxyzoo.app.QuestionFragment$ClassificationInProgress)
void access$200(com.murrayc.galaxyzoo.app.QuestionFragment)
at com.murrayc.galaxyzoo.app.QuestionFragment$SaveClassificationTask.java.lang.Void doInBackground(java.lang.Void[])(Unknown Source)
void onPostExecute(java.lang.Void)
at com.murrayc.galaxyzoo.app.QuestionFragment$SaveClassificationTask.java.lang.Object doInBackground(java.lang.Object[])(Unknown Source)
at android.os.AsyncTask$2.call(AsyncTask.java:287)
at java.util.concurrent.FutureTask.run(FutureTask.java:234)
I've seen one crash report with this stacktrace, though the stacktrace is rather hard to understand. Maybe the retrace (in proguardgui) failed somehow.