数学置标语言(Mathematical Markup Language,MathML),是一种基于XML的标准,用来在互联网上书写数学符号和公式的置标语言。
目前有很多解析的工具,但是Java开源框架比如JEuclid还不能移植到android平台(JEUclid依赖于 java.awt.*包)。经过和同事、同学讨论,
于是我选择了MathJax来解析MathML。
在Android中,可以用WebView组件来调用Html、Javascript。 可在某一页面equation.html引用mathjax(<script type='text/javascript' src='../js
/MathJax.js?config=MML_HTMLorMML-full'></script>)
WebSettings webSettings = mWebView.getSettings();
webSettings.setJavaScriptEnabled(true);//支持Javascript
在android不能直接解析sdcard中的/mnt/sdcard/equation.html,(mWebView.loadURL("file"///mnt/sdcard/equation.html"));
也不能直接解析assets目录下asset/equation.html(mWebView.loadURL("file:///android_asset/equation.html"))。
但可以通过以下来解决: mWebView.loadDataWithBaseURL("file:///mnt/sdcard/"
, data, "text/html",//data为equation.html的内容
"utf-8", null);
mWebView.loadUrl(“file:///mnt/sdcard/equation.html”);