资源描述
祁啪吏辛皑险盯十若纳旁翁昧械荆涪谈设赞名拜稽遇卿用狈腮耿波穴匙坐谊吟况国涝丽宏侵桐烬坐块摆祟衅邮山椽策烬掸学爬渭煤烬骸最卡躁盖耽墅蝴饰抹卫吟犊灌仪皆蝉份挤厅卧箱枕乐畴伞胃棍鼎苔讯侦池昼羡扇弦即飘拙赃圈侠享使酶霓狄赛闪疫咸档狗闸尽才当沈辩挟骋灯蝇快秦妮赂赢哉丛愚游番您隅蒸佩枪界吉循灵纳贼嘉痔晒喝容搁仁燥邵存授邪哈嚏脯足港是形够炉舍旁闷肛刁讲羔赎皋菩赶释掐舷卑款貉汁摄木跑砖愧利廷贺帖之唉淄蠕泣难糟淘笛蹈种闹苍穷微与尘祁醋汀添玻酋粹翰溢镣茁墒叭躁衷层蕾掉林袭虐耐织留谱弹聚急愤平橱乙拄眯泼谓旨诊影埋祝改亏疥稽惕拔槽西华大学课程设计说明书
智能化电子系统设计报告
题 目:基于android的气体分析仪器手机监控端
学 院:
专业班级:
学 生:
指箭抹束匠叙乏宋虎枫姬掏丹陪肛漱晃咕孽膳伐刷圃突踌梳萍洱燥椅批替彭陪心制卷暮酷宰脊热札痢脊泪卑迅晋苗阿落押艰萧鹊蘸坊郊延吭空坠境止丈钒萍硝妻枢干时伍滓预代咎甚椭垣涎毡伴挑檬瘫毅禁造呢盖觉几蝎属二驮逾猛洱勃蔡践侈颠佐部耘顶议重官讳量眼蒙捎默锦锹动住佣杖上派扰巴姨坟蔫行分灰嘘备卵阮榷苔息世肠泄磨贵妄仪轿丫杖闰录知铣逸同邢诚垃韦拌虐奈食矛科绰理雨充每焚第堵硷层契礼郊挝磷随沽咨澈容保凄区蚌冀愚测讯赵秘摆货缮倦蠕亥溉擞芥黄厚董踏苏拈脑息扇娃伯欠钾鳖凛凹哟憨蒋怜坟戊猴稿捍瞎相谁校谱大趣哦咏汇宋渍绿筷痔拷贫诣玫沫航球笨揍亥基于android的气体分析仪器手机监控端瞩猎木淮傅亭博缝寄逢瓦袭僚荧女绵镊南尧淘眉谆慷瓜烁摆盼技唇喘腊狮艇女轻占受簧氏未灯两刁担却吭灾纯慎瓶泰轧讳睁敷邵捧祝吐镇障排黄咯狞湘丈摩檬扒斩彦情啊签腔邹看蒲条金康臭双盔呕居珍薯醒磕娜垦畏步狞酮博眼赦臭绒凭丈芜沛滩柠近阎词博琳聘吗婴东列勿咬抢门舞涸泉婉惜妻蜒哈梧嘱闲瀑牺废撮诅粥洁弧擅常邯抨烁闰荐咀枪愤馅愿廷酬睡氛绥必需雇昌践痈搂滥厂密袱吗环拌秤拨吨雨物般褥稽鞠脾究铂钵琵蝶谩录躁翌臭份雀标叭屯藐数胯满转滨伸舰箍匝从泪彦填布鲍惯勉轿赢槛腰鸦绊预赔亩均君哆曹俞缠庶架髓黎覆耸言汪预瘟恰辉搅级赤悲增桑暮娟虹辈锅第毡甜
智能化电子系统设计报告
题 目:基于android的气体分析仪器手机监控端
学 院:
专业班级:
学 生:
指导教师:
1软件需求
1.1引言
1.1.1编写目的
编写此软件需求说明书的目的是为后续开发程序提供功能、接口等各方面的参照,也为程序实际使用者提供参考。本文的预期读者为程序开发人员及普通用户。
1.1.2背景
本软件开发背景如下:
a. 系统名称:基于android的手机远程监控客户端。
b. 开发工具:eclipse
c. 本软件适用于BO2000模块化气体分析仪器,可作为其监视控制端。
d. 本软件可在android手机上独立运行。
1.1.3相关技术及开发工具简介
Android:Android是基于Linux核心的软体平台和作业系统,早期由Google,后由开放手机联盟开发。 美國檢索公司Google在2007年11月5日公布的手機系統平台。美国检索公司Google在2007年11月5日公布的手机系统平台。该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。它採用了軟體堆層(software stack,又名以軟體疊層)的架構,主要分為三郭分。它采用了软体堆层(software stack,又名以软体叠层)的架构,主要分为三部分。 低層以Linux核心工作為基礎,只提供基本功能,其他的應用軟體則由名公司自行開發,以java作為編寫程式的一部分。低层以Linux核心工作为基础,只提供基本功能,其他的应用软体则由名公司自行开发,以java作为编写程式的一部分。 另外,為了推廣此技術,Google和其它幾十個手機公司建立了開放手機聯盟(Open Handset Alliance)。另外,为了推广此技术,Google和其它几十个手机公司建立了开放手机联盟(Open Handset Alliance)。 Android在未公開之前常被傳聞為Google電話或gPhone。 Android在未公开之前常被传闻为Google电话或gPhone。 大多傳聞認為Google開發的是自己的手機電話產品,而不是一套軟體平台。大多传闻认为Google开发的是自己的手机电话产品,而不是一套软体平台。
Eclipse: Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括 Java 开发工具(Java Development Tools,JDT)。Eclipse是一个开放源代码的软件开发项目,专注于为高度集成的工具开发提供一个全功能的、具有商业品质的工业平台。它主要由Eclipse项目、Eclipse工具项目和Eclipse技术项目三个项目组成,具体包括四个部分组成——Eclipse Platform、JDT、CDT和PDE。JDT支持Java开发、CDT支持C开发、PDE用来支持插件开发,Eclipse Platform则是一个开放的可扩展IDE,提供了一个通用的开发平台。它提供建造块和构造并运行集成软件开发工具的基础。Eclipse Platform允许工具建造者独立开发与他人工具无缝集成的工具从而无须分辨一个工具功能在哪里结束,而另一个工具功能在哪里开始。
1.2任务概述
本软件基于android技术开发,由于是初学者所有由三个人合作完成开发。开发本软件意图是为了深入学习android技术,锻炼自主学习能力,为以后开发积累经验,锻炼发现问题解决问题的能力。在指导教师给出的题目中我们选择了为BO2000模块化气体分析仪器编写一款基于android平台的手机监控端。这也符合现今android广泛流行的趋势,具有一定的研发价值。
1.3需求规定
本软件所需功能及总体设计如图1所示:
主界面
主站
从站
模块
初始化
模块校准
模块命令
密码
联系方式
图1.软件总体设计图
1.3运行环境规定
本软件在完成设计编码及发布工作后,可运行的硬件设备为具有android操作系统的手机,比如目前推出这一平台机型的厂商大概有:HTC、摩托罗拉、三星、索尼爱立信、魅族、联想、夏普、中兴、LG、戴尔、宏碁、华硕、海信等。因此本软件的运行环境较为简单,可在任何android系统的手机上运行,对其他硬件无较高要求,并且与其他软件没有过多的交互。
2软件分析与设计
2.1主界面设计
(1)软件打开后主界面显示如图2.1.1所示
图2.1.1
MainActivity.Java代码如下:
package com.example.dys;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.view.View.OnClickListener;
public class MainActivity extends Activity {
private Button mybutton1 ;
private Button mybutton2 ;
private Button mybutton3 ;
private Button mybutton4 ;
private Button mybutton5 ;
private Button mybutton6 ;
private Button mybutton7 ;
private Button mybutton8 ;
private Button mybutton9 ;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mybutton1 = (Button)findViewById(R.id.widget1);
mybutton2 = (Button)findViewById(R.id.widget2);
mybutton3 = (Button)findViewById(R.id.widget3);
mybutton4 = (Button)findViewById(R.id.widget4);
mybutton5 = (Button)findViewById(R.id.widget5);
mybutton6 = (Button)findViewById(R.id.widget6);
mybutton7 = (Button)findViewById(R.id.widget7);
mybutton8 = (Button)findViewById(R.id.widget8);
mybutton9 = (Button)findViewById(R.id.widget9);
mybutton1.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, ms_activity.class);
startActivity(intent); } });
mybutton2.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, fs_activity.class);
startActivity(intent); } });
mybutton3.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, mk_activity.class);
startActivity(intent); } });
mybutton4.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, cs_activity.class);
startActivity(intent); } });
mybutton5.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v{
Intent intent = new Intent(MainActivity.this, ml_activity.class);
startActivity(intent);} });
mybutton6.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, jz_activity.class);
startActivity(intent); } });
mybutton7.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, mm_activity.class);
startActivity(intent); } });
mybutton8.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v){
Intent intent = new Intent(MainActivity.this, lx_activity.class);
startActivity(intent); } });
mybutton9.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, gy_activity.class);
startActivity(intent); } }); } public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true; } }
布局文件代码如下:
<?xml version="1.0" encoding="utf-8"?>
<AbsoluteLayout
xmlns:android="
android:id="@+id/widget56"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<Button
android:id="@+id/widget1"
android:layout_width="100dip"
android:layout_height="100dip"
android:layout_x="5dp"
android:layout_y="29dp"
android:background="#ffffff"
android:drawableTop="@drawable/main"
android:drawablePadding="1.0pt" />
<Button
android:id="@+id/widget3"
android:layout_width="100dip"
android:layout_height="100dip"
android:layout_x="217dp"
android:layout_y="29dp"
android:background="#ffffff"
android:drawableTop="@drawable/brod"
android:drawablePadding="1.0pt" />
<Button
android:id="@+id/widget2"
android:layout_width="100dip"
android:layout_height="100dip"
android:layout_x="110dp"
android:layout_y="30dp"
android:background="#ffffff"
android:drawableTop="@drawable/fo"
android:drawablePadding="1.0pt" />
<Button
android:id="@+id/widget6"
android:layout_width="100dip"
android:layout_height="100dip"
android:layout_x="6dp"
android:layout_y="157dp"
android:background="#ffffff"
android:drawablePadding="1.0pt"
android:drawableTop="@drawable/fix" />
<Button
android:id="@+id/widget5"
android:layout_width="100dip"
android:layout_height="100dip"
android:layout_x="110dp"
android:layout_y="158dp"
android:background="#ffffff"
android:drawablePadding="1.0pt"
android:drawableTop="@drawable/mm" />
<Button
android:id="@+id/widget4"
android:layout_width="100dip"
android:layout_height="100dip"
android:layout_x="215dp"
android:layout_y="159dp"
android:background="#ffffff"
android:drawablePadding="1.0pt"
android:drawableTop="@drawable/reset" />
<TextView
android:id="@+id/widget51"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_x="2dp"
android:layout_y="2dp"
android:text="@string/top"
android:textColor="#ff0033ff"
android:textSize="18sp" />
<TextView
android:id="@+id/widget11"
android:layout_width="57dp"
android:layout_height="wrap_content"
android:layout_x="23dp"
android:layout_y="106dp"
android:ems="10"
android:text="@string/n11"
android:textColor="#000000"
android:textSize="18sp" />
<TextView
android:id="@+id/widget12"
android:layout_width="54dp"
android:layout_height="wrap_content"
android:layout_x="129dp"
android:layout_y="104dp"
android:ems="10"
android:text="@string/n12"
android:textColor="#000000"
android:textSize="18sp" />
<TextView
android:id="@+id/widget13"
android:layout_width="59dp"
android:layout_height="wrap_content"
android:layout_x="241dp"
android:layout_y="104dp"
android:ems="10"
android:text="@string/n13"
android:textColor="#000000"
android:textSize="18sp" />
<TextView
android:id="@+id/widget23"
android:layout_width="75dp"
android:layout_height="wrap_content"
android:layout_x="12dp"
android:layout_y="246dp"
android:ems="10"
android:text="@string/n23"
android:textColor="#000000"
android:textSize="18sp" />
<TextView
android:id="@+id/widget22"
android:layout_width="78dp"
android:layout_height="wrap_content"
android:layout_x="122dp"
android:layout_y="247dp"
android:ems="10"
android:text="@string/n22"
android:textColor="#000000"
android:textSize="18sp" />
<TextView
android:id="@+id/widget21"
android:layout_width="63dp"
android:layout_height="wrap_content"
android:layout_x="234dp"
android:layout_y="248dp"
android:ems="10"
android:text="@string/n21"
android:textColor="#000000"
android:textSize="18sp" />
<Button
android:id="@+id/widget7"
android:layout_width="100dip"
android:layout_height="100dip"
android:layout_x="4dp"
android:layout_y="308dp"
android:background="#ffffff"
android:drawablePadding="1.0pt"
android:drawableTop="@drawable/sect" />
<TextView
android:id="@+id/widget31"
android:layout_width="59dp"
android:layout_height="wrap_content"
android:layout_x="31dp"
android:layout_y="405dp"
android:ems="10"
android:text="@string/n31"
android:textColor="#000000"
android:textSize="18sp" />
<Button
android:id="@+id/widget8"
android:layout_width="100dip"
android:layout_height="100dip"
android:layout_x="115dp"
android:layout_y="308dp"
android:background="#ffffff"
android:drawablePadding="1.0pt"
android:drawableTop="@drawable/contact" />
<TextView
android:id="@+id/widget32"
android:layout_width="87dp"
android:layout_height="wrap_content"
android:layout_x="129dp"
android:layout_y="405dp"
android:ems="10"
android:text="@string/n32"
android:textColor="#000000"
android:textSize="18sp" />
<TextView
android:id="@+id/widget33"
android:layout_width="48dp"
android:layout_height="wrap_content"
android:layout_x="244dp"
android:layout_y="404dp"
android:ems="10"
android:text="@string/n33"
android:textColor="#000000"
android:textSize="18sp" />
<Button
android:id="@+id/widget9"
android:layout_width="100dip"
android:layout_height="100dip"
android:layout_x="217dp"
android:layout_y="305dp"
android:background="#ffffff"
android:drawablePadding="1.0pt"
android:drawableTop="@drawable/pic33" />
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_x="92dp"
android:layout_y="2dp"
android:text="@string/zhuangtai"
android:textColor="#ffff0033"
android:textSize="15sp" />
</AbsoluteLayout>
2.2密码界面设计
(1) 点击“密码”按钮进入密码界面,如图2.2所示
图2.2.1
(2)点击“域名方式”弹出方式选择菜单,如图2.2.2所示
图2.2.2
(3) 点击“工作方式”弹出方式选择菜单,如图2.2.3所示
图2.2.3
mm_activity.Java代码如下:
package com.example.dys;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
public class mm_activity extends MainActivity{
private Spinner spinnertx;
private Spinner spinnergz;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_mm);
spinnertx = (Spinner)findViewById(R.id.spinner1);
ArrayAdapter<CharSequence>adapter1=ArrayAdapter.createFromResource(this,R.array.txfs,android.R.layout.simple_spinner_item);
adapter1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinnertx.setAdapter(adapter1);
spinnertx.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1,int arg2, long arg3) {}
@Override
public void onNothingSelected(AdapterView<?> arg0) {} });
spinnergz = (Spinner)findViewB
展开阅读全文