MathML and Java

I’ve been doing some research for a mathematical Android related project I’d like to embark upon and I stumbled across for the first time MathML.

Does anyone know of any Java libraries which can do any (preferably all) of the following things?

  • How to sign an android app for the market?
  • Android Device Monitor doesn't open - error on log file
  • how to make Multiplayer Game
  • You need to use a Theme.AppCompat theme (or descendant) with this activity. Change to Theme.AppCompat causes other error
  • Skipped 60 frames! The application may be doing too much work on its main thread
  • Android Studio: 'wrap in container' in XML layout
    1. Parse MathML
    2. Output MathML by parsing standard mathematical notation
    3. Render MathML (particularly important)
    4. Do any other cool maths-ey things (like re-arrange equations in terms of different things)

    Number 3 is probably the most important, and number 4 the least.

    Thanks in advance.

    Related posts:

    Making the Android emulator run faster
    Sound recognition API, SDK (Android)
    No resource found that matches the given name (at 'text' with value '@str...
    Layout Layers? Z-Axis?
    Android Layout background alpha
    Using an array reference as an XML attribute for custom android view
  • Android SDK folder taking a lot of disk space. Do we need to keep all of the System Images?
  • Android service android.os.BinderProxy error
  • Android library not pulling its resources through to other projects
  • Creating a simple instance of ExoPlayer
  • How to construct a SQLite query to GROUP by ORDER?
  • Not able to load data from cache okHttp & retrofit
  • 5 Solutions collect form web for “MathML and Java”

    I’ve used JEuclid for rendering MathML in my Symja project (Java symbolic math system – point 4 of your list).
    Maybe, that JEuclid is to slow (especially at startup) for rendering 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
    • The Apache Commons Mathematics Library

    Calculator projects for Android:

    • scientific-calculator-for-android (Apache license)
    • Jasymca for Android (GNU public license)
    • Arity calculator for android (Apache license)

    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.

    JScience (jscience.org) looks like it has some experimental support for MathML being introduced.

    • JScience MathML Java class
      hierarchy
    • JScience MathML Java
      package classes

    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.

    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)

    It depends on having a browser that will render MathML, of course.

    An alternative would be to try jsMath, a JavaScript library that uses TeX to render equations.

    Android Babe is a Google Android Fan, All about Android Phones, Android Wear, Android Dev and Android Games Apps and so on.