MathML and Java
I've used JEuclid for rendering MathML in my Symja project (Java symbolic math system - point 4 of your list). JEuclid may be too slow (especially at startup) to render MathML on a mobile phone.
Other alternatives for rendering math expressions with TeX:
- JMathTex
- SnuggleTeX
- JLaTeXMath
and for re-arranging equations or as general Java math libraries:
- Mathrider (Yacas for Java)
- Jasymca - Symbolic Calculator for Mobile Devices
- Java Algebra System
- Hipparchus - library of lightweight, self-contained mathematics and statistics components
- The Apache Commons Mathematics Library
Calculator projects for Android:
- Calculator N+ (GNU public license)
- Jasymca for Android (GNU public license)
- Arity calculator for android (Apache license)
I have used this for your Point #3 above (rendering): http://jeuclid.sourceforge.net/
It does a pretty nifty job taking MathML and creating a JPG, PNG, etc. It will also display the equations in a GUI (and I'm guessing you can look at the GUI code and incorporate that into your own project)
JScience (jscience.org) looks like it has some experimental support for MathML being introduced.
I would like to say I am extremely impressed with the features the JScience author has chosen and proven able to support with his powerful Java library.
It is a pretty amazing piece of craftsmanship. If you are doing any significant amount of sophisticated mathematics in your Java programs, or just want to create a utility to punt around with then you should take a look at this library. It might even give you some ideas for things you never thought about doing before because they were "too hard".
There is an open source project named MathEclipse that might interest you too.
The W3C MathML Implementations page (http://www.w3.org/Math/Software/mathml_software_cat_editors.html) has a few that mention Java-based tools... that might be a good place to start looking.
Good luck.