矩阵位移法在Android系统的实现
2017-11-08夏健明陈鹏孙诗文
夏健明 陈鹏 孙诗文
摘 要 平面杆系结构计算程序是基于Android系统的矩阵位移法计算程序,可在智能手机等移动平台上运行。简单介绍Android应用程序的开发环境,描述了平面杆系结构计算程序的界面设计、数据输入、数据输出和矩阵位移法计算等编程关键技术。平面杆系结构计算程序能够在智能手机上运行,让学生在任何地点、任何时间进行力学计算,提高学生学习力学课程的兴趣和积极性。
关键词 矩阵位移法 Android系统 智能手机
中图分类号:TP311.52 文献标识码:A DOI:10.16400/j.cnki.kjdkx.2017.09.019
Implementing Matrix Displacement Method on Android Operation System
XIA Jianming, CHEN Peng, SUN Shiwen
(Dept. of Civil Engineering, Guangdong Technical College of Water Resource and Electric Engineering, Guangzhou, Guangdong 510635)
Abstract The planar bar structures computation program is a matrix displacement method based on Android operation system, which can be run on mobile platforms such as smart phone. The Android application environment is introduced. The interface for the planar bar structures computation program and the key technology for data input, data output and matrix displacement method computation using Java language are described. The planar bar structures computation program on a smart phone makes it possible to compute structures internal forces in any where, on any time. It makes mechanics learning more interesting and lets students learn mechanics actively.
Keywords matrix displacement method; Android operation system; smart phone
0 引言
近年,隨着互联网与智能手机技术的迅猛发展,手机应用程序(Application, App)对人们的生活、学习和工作产生了巨大的影响。截至2014年底,移动电话的普及率达94.5%,我国手机用户数量已达到5.57亿,同比增加5672万人,网民中使用手机上网的人数比例达到85.8%。[1]基于智能手机的移动学习也在逐渐改变人们的学习方式,学习不再局限于传统课堂上,任何人可以在任何时间、任何地点学习。[2]
Android是一种基于Linux的开放源代码的操作系统,由谷歌公司和84家硬件制造商、软件开发商和电信营运商组建开放手机联盟,共同开发改良Android系统。2013年的第4季度,Android平台手机的全球市场份额已达到78.1%,采用该系统的设备数量达到10亿台。[3]
本文编写Android应用程序(App),在智能手机上实现矩阵位移法,称“平面杆系结构计算程序”,可在智能手机上计算平面杆系结构的内力,为“结构力学”、“钢筋混凝土结构”和“钢结构”等课程服务。使学生在任何时间,任何地点进行结构的力学计算成为可能。
1 Android应用程序的开发环境
Android应用程序的源代码采用Java语言编写,首先要下载安装Java语言软件开发工具包(Java Development Kit, JDK),然后下载安装Android SDK(Software Development Kit)。本文采用Android的集成开发环境Eclipse进行Android应用程序开发,所以要下载安装Eclipse集成开发环境(IDE),并下载安装Android开发工具(Android Development Toolkit, ADT)。上述软件都可以在相关网站上免费下载。
Android应用程序由四类核心组件构成,即Activity, Service, BroadcastReceiver和ContentProvider,各组件之间的消息传递通过Intent完成。[4]
Android应用程序开发环境如图1所示。
2 矩阵位移法在Android系统的实现
本文在Android系统上应用程序,实现矩阵位移法计算,称“平面杆系结构计算程序”,生成应用程序安装包(Apk),可安装在智能手机上,在智能手机上实现矩阵位移法计算。平面杆系结构计算程序由三个模块构成,即(1)数据输入;(2)矩阵位移法计算;(3)数据输出。
2.1 界面设计
考虑到手机的屏幕尺寸有限,平面杆系结构计算程序应采用简洁明了的界面。本文采用线性布局界面,在屏幕的上部设置三个水平排列的按钮(Button),即“数据输入”、“计算”和“查看结果”按钮,分别完成原始数据输入、矩阵位移法计算和查看计算结果功能。在水平按钮下设置一个编辑框(EditText)用于输入数据,一个文本框(TextView)用于现实计算结果,如图2所示。endprint
由于手机的屏幕狭小,在数据输入时只显示输入编辑框,而现实计算结果时只显示文本框。点击按钮“数据输入”时,文本框的可见性设置为“不可见”,编辑框的可见性设置为“可见”,屏幕只显示用于数据输入的编辑框。可通过以下代码实现。
textview.setVisibility(View.GONE);
edittext.setVisibility(View.VISIBLE);
点击按钮“查看结果”时,文本框的可见性设置为“可见”,编辑框的可见性设置为“不可见”,屏幕上只显示用于现实计算结果的编辑框。通过以下代码实现。
textview.setVisibility(View. VISIBLE);
edittext.setVisibility(View. GONE);
2.2 数据输入和输出
所有的原始数据都从编辑框中输入,数据以空格作分隔。程序用一个字符串存储编辑框中输入的数据,需要把该字符串所包含的数据分解出来,赋值给相应的变量,通过字符串的split方法实现。Split可把字符串按分隔父分解成若干个子字符串,存储在字符串数组中,见以下代码。
String[ ] tokens=text.split( ,//n);
上述代码把字符串text按分隔符(空格,换行)分解成若干个子字符串,存储在字符串数组tokens中,只要把tokens中的各个数据去处即可得各输入数据。输入数据中有整型数据和实型数据,需要把字符串转换成整型和双精度实型,可通过整型数值的Integer.parseInt()方法和双精度实型是的数值Double.parseDouble()方法转换。
程序计算后把结点位移与单元内力写到一个多行字符串上,然后在文本框中显示。本文通过StringBuffer类实现,StringBuffer类是一个灵活的字符串类,其对象可以添加、插入或追加字符串。在StringBuffer对象上添加各结点位移值和各单元内力值,可获得计算结果字符串。通过以下代码实现。
StringBuffer outputStr=new StringBuffer();
String s1;
S1=”結点位移\n”;
outputStr.append(s1);
……
S1=”单元内力\n”;
outputStr.append(s1);
……
Textview.setText(outputStr);
当输出数据较多时,文本框可能不能完全显示所有的输出数据,需要给文本框加一个滚动条,使用户可看到所有的输出数据。本文通过以下方法实现
首先在MainActivity.java 文件引入包文件
import android.text.method.ScrollingMovementMethod;
在“查看结果”按钮的单击事件方法中添加以下语句
textview.setMovementMethod(ScrollingMovementMethod.getInstance());
2.3 矩阵位移法计算
点击“计算”按钮,程序进行语言矩阵位移法计算,计算程序用Java语言,由以下模块组成。[5]
(1)InputData(),数据输入;
(2)SetJID(),形成结点定位向量;
(3)SetKKD(),计算一维地址码;
(4)SetLKS(),形成总刚度矩阵;
(5)SetLPS(),形成荷载向量;
(6)Gauss(),高斯消元法解方程;
(7)IntePF(),计算单元内力。
3 算例
单跨二层刚架结构,材料的弹性模量E=2.6×107KN/m2,梁和柱界面为矩形,其尺寸分别为0.3m×0.5m和0.3m×0.6m,受到均布荷载和集中力的作用,如图3(a)所示。
平面杆系结构计算程序的输入数据是
点击手机上的“平面杆系结构计算程序”图标,则可在手机上运行平面杆系结构计算程序。在编辑框输入以上数据,数据间以空格作间隔,如图4所示。
输入以上数据后,点击按钮“计算”,完成矩阵位移法计算。点击按钮“查看结果”,则在手机上显示结点位移和单元内力,如图5所示。
4 结语
平面杆系结构计算程序是基于Android系统的矩阵位移法计算程序,可在智能手机等移动平台上运行。本文简单地介绍了Android应用程序的开发环境和开发方法,描述了平面杆系结构计算程序的界面设计、数据输入和数据输出的关键技术。由于平面杆系结构计算程序可以在智能手机上运行,使学生可在任何地点、任何时间进行力学计算,可提高学生学习力学课程的兴趣和积极性。
参考文献
[1] 三川.CNNIC发布第35次《中国互联网络发展状况统计报告》.中国远程教育,2015(2):31-31.
[2] 赵晴晴.2011-2015年我国用Android学习软件开发和研究综述.软件导刊(教育技术),2016.15(8):70-72.
[3] 王勇,李程俊,吴杰.手机应用程序开发课程教学初探.计算机教育,2016(1):109-111.
[4] 李波,史江萍,王祥凤.Android 4.X从入门到精通.北京:清华大学出版社,2012:30-38.
[5] 王勇,黄炎生.结构分析的计算机方法.广州:华南理工大学出版社,2001:145-153.endprint