基于Android的数学公式编辑平台的探究

时间:2022-04-29 02:51:55

基于Android的数学公式编辑平台的探究

摘 要:本文阐述了如何实现在Android 开发中数学公式通过自定义键盘输入的形式,完成一般以及较高级的数学公式的输入和编辑。该方式的核心内容是Latex与公式之间的转换,通过HTTP请求,正则表达式的判断后调用已有接口来实现的一种技术。

关键词:Android;自定义键盘;latex;正则表达式

中图分类号:TP391.41

Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。占主流的android系统则让开发人员不断地推出各式各样的android程序,以供越来越多的应用需求。

对于大学生而言,大多数都只是使用成熟的应用,但是把移动端应用开发程序运用到学术学习这个方面,似乎开发还存在着空白。目前市场上拥有问答系统比如说Stack Overflow,Quora系统崭露头角,估值上亿。

在中国,移动平台的问答系统却不常见。问答系统特别是数学类的问答系统中在移动平台上实现的主要困难在于公式和几何图形的输入。本文前期调研了国内外的问答系统,发现都没有很好的完成这一功能,并且认为在现有的问答系统中,鲜少有手动绘图和公式输入功能的应用,本文描述的基于android的善科问答系统很有市场开发价值。

1 功能分析

1.1 关键功能及相关技术

对于该善科问答系统的移动客户端应用的主要功能,拟从数学公式的获取、、展示3个环节进行介绍。对于各环节再从所需信息的内容和处理方式进行分析。

1.1.1 手机移动客户端数学公式的获取

(1)获取内容。该善科问答系统的客户端从服务端获取的内容一般以文本和图片居多。善科问答客户端采用的文本信息都是内容实体,既可以是简单文本,或者是JSON格式的结构文本;而图片信息则既可以是内容实体也可以是网页URL。实现功能的重点则是网页URL的本地显示;(2)获取方式。在Android手机移动客户端,其可以使用异步任务或线程消息队列的机制来实现任务的异步调用;善科问答客户端采用的就是常用的org.apache.http包中的API通过HTTP的方式发送内容请求,对于数学公式的图片下载则是使用的HTTP的方式获取服务端返回的字节流,并保存为本地文件。

(1)内容。作为数学类的问答系统而言,善科问答系统的客户端开发案例所内容包括了普通的文字信息以及图片(数学公式Latex形式)的信息,其具备了基本的问答所需的设置;(2)方式。自定义的键盘中显示本地存储的示例公式,通过键盘的编辑操作后,将消息通过org.apache.http包中的API通过HTTP的方式发送内容请求,再以HTTP的方式获取服务端返回的字节流,并保存为本地文件,以合适的大小显示在手机屏幕上。

1.1.3 手机移动客户端消息的显示

(1)展示内容。问答类的移动客户端的展示内容无外乎文本和图片,其中文本内容一般映射于相应的POJO类,而图片内容则是一方面来源于存储好的静态的数学公式的本地图片文件(其路径是POJO类的属性),另外一方面来源于HTTP的方式获取服务端返回的字节流,并保存为本地文件;(2)展示方式。在android应用中对于多项文本列表,则使用列表视图(ListView)或扩展列表视图(ExpandableListView)。在善科问答客户端的评论显示中,由于存在有大量的用户评论的情况,就像微博客户端的用户评论一样。因此我们采用的是列表视图(ListView)的方式,将一条条的评论按照时间先后的顺序显示出来,并且附上数据库接受到的时间和用户的名 称。如图1所示:

图1 ListView视图

在编辑评论框则采用的是将String类型的纯文本内容利用强制转换的方式,将其转换成spannableString的格式,这样在listview的视图中,既可以显示文本,亦可以显示图片的内容,比较方便。大致的步骤如下:(1)对自定义键盘中的数学公式图片赋予相关的Latex字符串;(2)在评论的编辑框内进行输入,需要用到数学符号时,选择插入的“笑脸”按钮,插入相关的数学公式;(3)选择预览按钮,判断对公式中可变参数的修改是否正确。在该过程中,仅仅做的是将插入的数学公式进行图片的下载显示,而最后的到listview中的评论,则是文字和图片的混合显示,比较复杂。示例见图2;(4)评论的过程中,通过对输入内容中属于Latex字符串进行筛选判断;然后将该部分内容通过HTTP的方式发送请求;(5)通过返回的值获取数学公式对应的bitmap,采用imagespan的展现形式,将该部分长度的文字内容替换为相应的图片,变成HTTP 获取的服务端返回的图片的形式;(6)根据手机屏幕的大小进行比例放大或者缩小,以达到对有效的显示结果,见图3;(7)如果成功则弹出提示为成功,否则提示不成功。在成功的前提下清空所有编辑框,预览框中的内容为下一次做好准备;(8)若评论框中内容为空,点击了发送按钮,则提示“请输入评论内容”。如图4。

图2 自定义键盘使用示例

图3 评论展示 图4 评论为空提示

1.2 自定义键盘功能结构

图5 自定义键盘程序结构

图5中显示的是自定义键盘在程序中的java包,以及相应的.java文件,其中expression.java是对本地的静态数学符号图片的相关属性的声明和设置。

图6 自定义键盘初始化声明

图6中的变量声明是用来处理自定义键盘中的图片滑动的显示,一共是4个page,每个page上放置一定量的图片,形成如QQ键盘的模式,由于数学公式的常用性和相关的性以及数量上的不同,将基本的公式符号分成四类,放在四个page上,每个page上的图片按照数组矩阵的方式排列好,滑动到每一页上时,相应页下方的圆点表现为白色,其余的3个圆点显示为灰色,表明所在的页数。并且数学公式的图片对应于相应的Latex字符串5,如图4所示;通过对于图片的选择,在编辑框对参数进行修改后,选择预览,判断其符合自己所需的公式后,再按评论按钮,将消息出去。

图7 自定义键盘展示

预览按钮的功能(分步骤表示):(1)根据插入编辑框中的内容,传送到HTTP进行交互,请求的网站是"http:///gif.latex?"+key,key的值就是相关的数学符号图片对应的Latex字符串参数,设为(a,b,c等用户可以自行根据所需修改,此时光标可以自己改动);(2)对插入编辑框中的属于Latex字符串参数的部分,利用正则表达式进行循环判断,直到字符串的结束,最后在预览显示框内显示出相关的图片;(3)在符合用户所需求的图片之后,用户点击评论按钮,编辑框的内容全部交互,文本还是以文本显示,相关的Latex字符串则转换为图片;(4)清空编辑框预览框的内容;将评论显示在listview中,完成评论的功能。(3、4两步骤已经阐述过,不再详细论述)。

2 界面设计及接口定义

作为一款用户可以评论的数学问答软件,我们不仅仅需要完成相关的评论工作,并且要考虑到用户不同,需要像QQ、微博等待一样,进行用户的注册和登录。进行测试时,还需利用数据库进行不同用户的记录,分辨出问题、评论的来源,同时也可以满足像当下的社交网络一样,进行“赞”、“收藏”的功能。

2.1 欢迎界面

欢迎界面为用户每次打开“善科问答”APP时出现的首个界面,它持续3000ms,然后进入主界面,见图8。

2.2 主程序界面

这个是程序进入的主界面,每个listview中,显示着一道题目,其中包括了,问题的题干,问题内容的阐述,问题所在的园区,以及数据库对该问题投票数量和回答数目的统计显示,见图9。

图8 欢迎界面 图9 主界面

2.3 登录界面

在登录界面中,用户输入用户名和密码,由于密码的形式是“******”式样,所以可以通过显示密码的按钮,将“******”式样的密码显示出来,如图10所示,目的是方便用户核对密码是否填写正确。如果该用户经常登录,则通过数据库SQLite的方式,选择记住密码,方便多次使用。

2.4 注册界面

注册界面,如图11所示,输入用户名时,查询数据库现有的名称,进行判断是否存在重名现象。若有,则提示重新填写,否则,继续下一个步骤;密码的输入两次需要一直,否则提示出错,需要重新填写;三个框内不能为空,否则弹出提示,让用户填写内容。

图10 登录界面 图11 注册界面

2.5 “更多”界面多个按钮功能简述

(1)用户可以实现登录,进入登录的界面,见图13;(2)可以退出当前帐号,弹出退出帐号成功的提示,见图12;(3)查询关于自定义键盘的Tips也有相关的教程,其目的是帮助用户理解较为复杂的Latex字符串的数学公式的使用方法;(4)意见反馈的作用是,通过短信的方式向我们开发者提供他们的使用意见,让APP软件更加的方便使用。

图12成功退出 图13 “更多”界面

3 公式平台的未来与展望

随着手机由于其便携性获得愈来愈多的用户青睐,安卓系统各方面的应用也将被逐渐开发出。该应用涵盖了教育平台搭建,用户注册登录数据库,以及公式预览编辑等等。对于公式编辑与识别,这是一个全新的亟待开发的领域,这对于以后教育类数学类平台的研发创造以及安卓上文档编辑都是一个奠基。

参考文献:

[1]汪永松 Android 手机应用开发之信息平台移动客户端.

[2]刘锐 Android 开发的性能优化 新华网股份有限公司.北京,100162

[3]王楠 基于Android手机平台的互联网应用探析 中国联合网络通信集团有限公司河南省分公司.河南 郑州,450000

作者简介:徐婧(1992.08-),女,江苏淮安人,现本科在读;陈雨晨(1993.08- ),女,江苏常熟人,现本科在读。

作者单位:东南大学 信息科学与工程学院,南京 211189

上一篇:浅论我国化妆品的营销策略 下一篇:浅议当前小学英语教学模式的转变