【Android论文栏目提醒】:网学会员,鉴于大家对Android论文十分关注,论文会员在此为大家搜集整理了“基于Android手机终端信息查询系统的设计 - 期刊论文”一文,供大家参考学习!
第 28 卷第 4 期 齐 齐 哈 尔 大 学 学 报 Vol.28No.42012 年 7 月 Journal of Qiqihar University July2012 基于
Android 手机终端信息查询系统的设计 张新柱 1,白立静 2,郭福三 2 (1. 黑龙江交通职业技术学院,黑龙江 齐齐哈尔 161000; 2. 齐齐哈尔大学 通信与电子工程学院,黑龙江 齐齐哈尔 161000) 摘要:针对外出人员计算机上网不便等实际问题,设计基于
Android 平台开发的手机终端跨地域酒店信息查询软 件,利用 Java、数据库和 Java Web 等技术完成整个系统的设计。
实现了从客户端、网络到服务器端完整体系。
经 系统的功能测试,该软件可顺利实现各项功能,给用户出行带来更大的便利。
关键词:信息查询;手机终端;
Android;Java 中图分类号:TP393 文献标志码:A 文章编号:1007-984X201204-0047-05 随着信息化时代的飞速发展,信息查询系统的应用越来越广泛,尤其随着通讯技术的迅猛发展,手机、PDA 等移动数字终端设备已经大量普及使用,在移动中获取信息的需求也越来越受到人们的重视。
随着经济的发展以及人们生活水平的不断提高,出差、旅行等也与人们的日常生活密切相关,餐饮和住宿是必不可少的,然而对于出差人员和旅行者而言,计算机上网查询已经不再是一个获取信息的便利途径。
本文所设计的移动终端信息查询系统,针对跨地域的酒店信息查询,将其安装到手机上,用户可以不受地域限制,随时查看包括酒店的名称、地点、规模、星级、特色、联系方式、服务质量、卫生等级、价格区间等信息,给用户带来极大的便利。
1 系统设计 Web 端 系统分为手机端和 Web 端两大部分,并且通过网络 服务器端将这两大部分结合为有机整体,其总体运行机制如图 1 管理员端 Web 服所示。
在系统的 Web 端,管理员登录系统后,通过浏览 数据库 务器器访问系统的后台数据,并对数据库中的数据进行管理。
在系统中,管理员登陆界面用的是 JSP 格式。
浏览器通过解析网页向用户呈现文字、图片等信息。
而在手机端,用户可以利用手机通过网络向服务器发送访问请求,服务器响应用户请求,并将处理结果返回给客户端。
手机端2 Web 端设计 图1 系统的总体运行机制 Web 端是数据管理的核心部分,管理员通过输入正确的用户名和密码即可登陆系统的后台对数据进行管理,为手机端的信息查询提供数据基础。
Web 端数据管理实现的是对数据的管理功能,管理员在该模块可以进行数据的添加、修改、删除和查询工作。
2.1 添加数据 在添加信息时,系统应限制输入信息的格式,例如当输入联系方式和价格信息时,要求必须输入数字。
只有所有的信息条目的格式正确后,点击确定,信息才能被成功添加到数据库,从而保证了所添加数据的有效性。
收稿日期:2011-03-05基金项目:黑龙江省研究生创新科研资金作者简介:张新柱(1961-),男,黑龙江齐齐哈尔人,副教授,硕士,主要从事通信技术及应用方面的研究工作,63.com。
·48· 齐 齐 哈 尔 大 学 学 报 2012 年 首先定义 sql 查询语句:String sql insert into hotelinfoxxxvaluesxxx;调用方法 addUpdateDeletesql将数据添加到数据库中。
2.2 修改数据 修改功能就是当某些信息发生变化时,就要对其保存在数据库中的信息进行相应的修改,保证数据的准确性。
实际上修改模块的设计就是在添加数据模块的基础上进行一些改动,即当查询出某条信息时或者在信息列表中,点击对应的“修改”就会进入修改界面,此时也就相当于对数据再次添加。
修改信息的过程与添加信息的过程大体相同。
2.3 删除数据 当系统中存在无效以及过时的信息时,则需要删除功能将这些无用信息删除。
同样,该工作可在查询出某条信息时或者在信息列表中完成,即点击对应的“删除”即可将该条信息从数据库中移除。
首先获取要删除条目的 ID,调用方法 parseIntid,并将获得的数据存储到整型变量 infoid 中。
定义 sql查询语句delete from hotelinfo where idinfoid,调用方法 addUpdateDeletesql删除该信息条目。
3 手机端的设计3.1 主菜单模块 首先需要在项目文件里新建一个 sqActivity.java 文件,并在其中覆写一个 onCreate 方法。
然后再在 layout文件夹里面新建一个布局文件,命名为 sq.xml,通过“setContentViewR.layout.sq”语句将 Java 文件相关联。
接着需要在 AndroidManifest.xml 文件里进行注册,在下面输入“”则注册完毕。
在布局文件sq.xml和xues.xml里采用GridView格式进行布局,当屏幕上需要有多个元素显示时,就需要使用SimpleAdapter来存储这些元素。
在每个grid元素中还需要使用相对布局的方式来实现上面是图标下面是名称这一显示方式。
上方是一个ImageView,下方是一个TextView,在布局设计时需要对每个grid元素设置一 个 ID 号 。
接 下 来 要 为 每 一 个 grid 元 素 设 置 监 听 , 当 用 户 点 击 其 中 的 一 个 grid 元 素 时 , 调 用parseIntitem.getid.toString方法获取该元素的ID 并将它赋值给整型变量a,然后根据switch语句做出不同的触发事件,调用startActivityintent方法,启动新的Activity。
3.2 名称查询子模块 在系统主界面中点击按名称查询选项,将会进入名称查询窗口,输入要查询的关键词并点击查询按键,即可返回查询结果列表。
点击其中的一个列表选项即可查看酒店的详细信息。
信息查询的实现实际上是系统将用户输入的信息与数据库信息比对的过程,然后再把满足关键字要求的信息返回到客户端。
这里以名称查询子模块为例来详细阐述查询功能的实现。
首先需要在输入查询界面中设置按钮点击事件,也就是当点击确定按键时,要将用户输入的关键字发送到服务器端,以进行信息的匹配。
首先将要点击的按键定义为 View 型变量 v,因为程序中对所有按钮注册了一个监听器,这时候,就需要判断哪一个按钮按下了,if 条件句中判断 ifvselectButton即如果 v 等于用户所按的按键,那么就执行相应按键对应的程序。
将用户输入的关键字信息通过 getText方法赋值给 name 变量。
然后通过 Intent和Bundle方法将关键字参数传到下一个 Activity。
发送参数时,首先通过 Intent、Bundle方法得到用户输入的关键字,如果这个关键字不为空值时,就向服务器端传递 2 个参数,分别是 type 和 name。
服务器端就会将用户输入的关键词与数据库信息相比对,将满足条件的信息返回到客户端。
在服务器端,系统将查询到数据集合并且组装为 XML 文件,所以在客户端还需要来解析这个 XML 文件。
在下一个 Activity,也就是 ListActivity 中,需要定义一个 string 型的 url,它叫统一资源定位符,用来连接服务器端并向服务器端发送请求。
url 的值就是服务器端的地址。
3.3 星级与卫生等级查询子模块第4期 基于
Android 手机终端信息查询系统的设计 ·49· 星级与卫生等级这 2 两个 Activity 采用的是 LinearLayout(线性布局)的布局方式,而且是垂直的线性布局,在这 2 个 Activity 中,应用的是 RadioGroup 中的 RadioButton 来实现选择功能。
在这里,仍然需要设立监听器,但这与前面提到的有所不同,这里是给 RadioGroup 这个组来设置监听器。
当单选按钮被选中时就会触发监听器 stargrade.setOnCheckedChangeListenernewRadioGroup. OnCheckedChangeListener,括号里面 OnCheckedChangeListener是 RadioGroup 的内部类,在这个内部类中含有一个 OnCheckedChanged 方法,当点击 Group中的任意一个按钮时,都会触发这个监听器,然后这个监听器就会调用 OnCheckedChanged 方法,当调用这个方法时会传入 2 个参数,分别是 group 和 checked,前者指的是所点击的组数,就是说是哪一个组被点击了,那么这个组的对象就会被传进来。
后者指的是该组中的某一个 RadioButton,也就是说是该组中哪一个 RadioButton 被点击了,那么这个 RadioButton 的 ID 就会被传进来。
这个 ID 就是用户所点击的 ID。
接下来使用 if 条件句进行判断 ifbutton.getid checkedid即判断这个 RadioButton 的 ID 与用户所点击的按键 ID是否相同,若相同,那么就执行相应的操作。
3.4 信息收藏模块 收藏夹中显示了用户在酒店查询时收藏记录,用户可以在收藏列表中快速查询到其详细信息。
当用户查询某一个酒店的详细信息时,旁边会有一个收藏按键,当用户点击该按键时该酒店的详细信息就会存入收藏夹。
在收藏界面中用的是 List 方法,因此在 Activity 声明时继承的是 ListActivity。
如果收藏夹为空则会提示“没有收藏记录”,如果有记录则会将酒店的 ID 和 name 两个参数存入收藏夹中。
收藏夹中的数据通过 SharedPreferences 存储到一个临时文件中,这是一种轻量级的数据保存方式,通过 SharedPreferences 开发人员可以将 NVP(Name/ValuePair,名称/值对)保存。
当查看收藏记录时,点击查看根据 ID 来查询记录,收藏夹内的信息就会显示出来。
其它模块的设计与上述模块的设计过程大体相同,在这里不再赘述。
4 系统测试4.1 信息查询模块功能测试 安装成功后,进入主菜单界面,如图 2 所示。
选择一种查询方式。
先选择名称查询。
系统支持模糊查询,在文本框中输入齐齐哈尔,然后点击确定。
这时系统会将用户输入到文本框中的关键词发送到服务器端,并将满足要求的信息条目返回到客户端。
在该模块,主要就是对系统的连接速度进行测试并测试能否将满足要求的信息条目准确返回到客户端。
本系统有时会有连接网络速度过慢的现象,这可能和网络环境有关,但查询功能基本可以顺利实现。
查询结果列表,信息如图 3 所示。
图2 系统主界面 图3 查询结果列表 点击第一条信息,将进入详细信息界面,如图 4 所示。
4.2 信息收藏模块功能测试·50· 齐 齐 哈 尔 大 学 学 报 2012 年 在查询列表中会有收藏按键,当点击该按键时,该按键自动消失,那么该条信息将会被存入收藏夹,如图 5 所示。
打开收藏夹,查看收藏条目,如图 6 所示。
图4 详细信息界面 图5 查询结果列表 点击查看按键,可以查看所收藏条目的简要信息以及详细信息,点击删除可删除该条收藏记录。
由于模拟器屏幕大小及按键的布局的问题,导致在较小的屏幕下无法正常显示查看与删除按键。
在布局文件中改进按钮的大小和布局方式之后可在屏幕正常显示。
修改后进行测试,该功能可顺利实现。
图6 收藏记录4.3 Web 端数据管理模块功能测试 数据管理模块包括对数据的添加、修改、删除和查询。
在添加和修改数据时,要求数据能够正确地保存到数据库中,因此就需要对录入的数据进行有效地验证,通过数据验证查看录入的信息是否与数据库中的信息发送冲突,若没有冲突则可正确录入。
删除功能是对系统中无效的信息从数据库中移除,在信息列表后点击删除即可将无效信息删除。
为了方便对数据的管理,在 Web 端也可实现信息的查询功能。
通过对各部分的代码审查和功能测试,该部分都能实现预期的设想功能,满足设计要求。
参考文献1 姚昱曼,刘卫国.
Android 架构与应用开发研究J.计算机应用,2008,1711:110-112.2 王茜.
Android 嵌入式系统架构及内核浅析J.电脑开发与应用,2011,244:59-61.3 李金霖,赖超,龙曦,等. 基于
Android 平台的手机日程管理系统J. 计算机与数学工程,2011,393:65-67.4 杨丰盛.
Android 应用开发揭秘M. 北京:机械工业出版社,2011:11-18.5 张仕成. 基于 Google
Android 平台的应用程序开发与研究J. 电脑知识与技术,2009,528:7 959-7 962.6 赵海兵. 基于
Android 1.5 的双模电话显示和管理模块设计J. 计算机光盘软件与应用,20103:22-23. Design of mobile phone terminal information inquiry system based on
Android ZHANG Xin-zhu1,BAI Li-jing2,GUO Fu-san2 (1. Heilongjiang Communications Polytechnic,Heilongjiang Qiqihar 161002,China; 2. Department of Communication and Electronic Engineering,Qiqihar University,Heilongjiang Qiqihar 161000,China)第4期 基于
Android 手机终端信息查询系统的设计 ·51·Abstract:With the development of the intelligent mobile phone terminal and the increasing rate of online users withmobile phone the mobile phone software is becoming more and more important. Aiming at the inconvenience of thetravelers outside,this paper designed a mobile phone software based on
android to inquiry hotels with the technologyof Java,database and Java Web. Through testing the software performs well.Key words:information inquiry;mobile phone terminal;
Android;Java 西门子 840D 系统中的 FC19 的应用 在西门子 840D 系统中,若 MCP 面板与 NCK 之间通讯,需要通过 FC19 来建立 MCP 与 NCK 之间的桥梁。
通过 FC19 将MCP 的操作信息传递到 NCK,同时显示 NCK 的状态。
如:工作方式:手动、自动、MDA……轴选等。
1 FC19 的工作机制 FC19 的工作机制:(1)采集系统信息通过 DB7(OB100 中 FB1 背景数据块)。
如:MCP I/O 地址、通道、方式组数量,通道中所含轴的数量等。
(2)根据 FC19 设置参数,将信息传递到相应的方式组、通道、轴接口区域。
(3)接收方式组、通道、轴的反馈信息。
2 FC19 的应用 FC19 的应用:(1)参数说明: CALL FC 19 BAGNO:B161 //输入:操作面板和方式组选择;个位(方式组,10 个方式组):1~A;十位(操作面板,MCP1、MCP2):0 或 1.0 可以忽略 ChanNo:B161 //输入:面板控制通道号 1~A SpindlelFNo:B164 //输入:主轴对应机床轴号(对应 MD10000 参数设置),将主轴倍率信号传入轴的主轴接口区域 FeedHold:m22.0 //输出:进给倍率开关下对应的轴进给无效输出 SpindleHold:db2.dbx151.0 //输出:主轴倍率开关下对应的轴进给无效输出 (2)MCP 操作。
(3)FC19 辅助数据设定:DB10.DBB8~DBB29 包含 22 个字节,DB10.DBB32~DBB53 包含 22 个字节。
设置 MCP1和 MCP2 上的轴选择键对应的机床轴。
默认数据设定 1~9。
DB10.DBW30、DB10.DBW54、MCS 状态下,设置 MCP1 和 MCP2可控的最大轴数量。
默认值为 0,表示 MCP 控制的最大轴数量由 DB7 中数据决定,即通道中实际包含的机床轴数量。
MCP1的设定:DB10.DBB8~DBB29、DB10.DBW30。
MCP2 的设定: DB10.DBB32~DBB53、DB10.DBW54。
解释:默认数据、MCS 状态下,MCP 轴选择键位置设置与 MD10000 轴设置一一对应。
即 MCP1 和 MCP2 可同时控制第 1,2,…,9 机床轴。
所以当使用双 MCP 时,需分别设定 DB10.DBB8DBB29 和 DB10.DBB32DBB53 对应的机床轴。
3 应用举例 (1)双通道双 MCP、车床设置(见图 1):NC 参数: 通用: MD100000…5 →X1,Z1,SP1,X2,Y2,SP2 通道 1:MD200700…2 →1,2,3 MD200800…2 →XC,YC,C1 通道 2:MD200700…2 →3,4,5 MD200800…2 →XC,YC,C2 MCP1、MCP2 图 1 双通道双 MCP、车床设置 MCP1、MCP2 轴选择键定义: PLC DB 块:DB10.DBB8~DBB10 →1,2,3 DB10.DBW30 →4 (因空出一个键位,通道轴总数 1) DB10.DBB8~DBB10 →4,5,6 DB10.DBW54 →4 (因空出一个键位,通道轴总数 1) (2)自定义轴选择键 标准 FC19 最大控制轴数为 9,如何选择 9 轴以上的机床轴,假设 MCP已有轴选择键,一般选择主轴,传递轴控制信号,操作方法见图 2。
PLC 编程流程:(a)设置 DB10.DBB8~DBB29,将需要控制的机床轴指向主轴键的位置。
(b)自定义键触发 MCP 主轴键。
(c)调用 FC19,传递信号到自定义轴接口区。
(d)传递主轴键灯信号到自定义轴选择键,清除主轴灯信 图2 自定义轴选择键号。
PLC 程序: L DB8.DBB 3 //操作面板 MCP1 当前激活机床轴号。
_001: NOP 0 L 10 CALL “MCP_IFM” //调用 FC19 I BAGNO : B161 JC _100 //是否为第 10th 轴 ChanNO : B161 SET SpindleIFNO : B167 R Q 2.3 //非第 10th 轴时,清除第 10th 轴控制键的灯。
FeedHold : M100.0 SpindleHold : M100.1_100:A I 4.1 //按主轴键时,设置主轴对应机床轴号。
JCN _000 A I 4.0//10th key //按第 10th 轴键时,设置第 10th 轴键灯。
L 7 JCN _002 //同时清除第 7th 轴键灯。
T “NC”.MCP1AxisTbl7 A Q 2.4_000: A I 4.0//10th key //按第 10th 轴时,设置第 10th 轴对应机床轴 Q 2.3 号。
CLR JCN _001 Q 2.4 L 10 _002: NOP 0 T “NC”.MCP1AxisTbl7 //同时通过主轴键,传递信号。
(武玉明,齐重数控装备股份有限公司,黑龙江 齐齐哈尔 161005)