首页 基于安卓平台示波器APP设计

基于安卓平台示波器APP设计

举报
开通vip

基于安卓平台示波器APP设计基于安卓平台示波器APP设计 《Android手机编程》大作业 示波器 院 系:*** 专 业:电子信息工程 班 级:1*电信** 学 号:*********** 姓 名:*** 授课教师:*** 2014 年 月 日 1 上海第二工业大学《Android手机编程》大作业 示波器 摘 要 随着Android平台在市场占有率上的稳步上升,采用Java语言开发的Android应用会越来越多。不过需要指出的是,运行Android平台的硬件只是手机、平台电脑等便携式设备,这些设备的计算能力、数...

基于安卓平台示波器APP设计
基于安卓平台示波器APP设计 《Android手机编程》大作业 示波器 院 系:*** 专 业:电子信息 工程 路基工程安全技术交底工程项目施工成本控制工程量增项单年度零星工程技术标正投影法基本原理 班 级:1*电信** 学 号:*********** 姓 名:*** 授课教师:*** 2014 年 月 日 1 上海第二工业大学《Android手机编程》大作业 示波器 摘 要 随着Android平台在市场占有率上的稳步上升,采用Java语言开发的Android应用会越来越多。不过需要指出的是,运行Android平台的硬件只是手机、平台电脑等便携式设备,这些设备的计算能力、数据存储能力都是有限的,不太可能在Android平台上部署大型企业级应用,因此Android应用可能以纯粹客户端应用的角色出现,然后通过网络与传统大型应用交互,充当大型企业应用的客户端,比如已经出现的淘宝Android客户端、赶集网Android客户端,它们都是这种发展趋势下的产物。 通过虚拟仿真来模拟这些基础信号,并控制它们的波形特征,有助于我们将理论与实际联系起来,充分发挥手机的能力实现在现实中无法满足的实验条件。通过后期不断地补充算法来增加软件的功能,使其更具有现实意义。 关键词:信号,波形,Android手机编程,示波器,java,eclipse。 1 上海第二工业大学《Android手机编程》大作业 OSCILLOSCOPE ABSTRACT As the Android platform in market share steadily rising rate on Android application, using Java language development will be more and more. But the need to point out is, running the Android platform hardware only portable equipment, mobile phone platform computer, computing power, data storage capacity of these devices is limited, not too possible deployment of large-scale enterprise application on the Android platform, so the Android application may appear in a pure client application role, and then through the network and the traditional large application interaction, as a large-scale enterprise application client, for example, has emerged Taobao Ganji Android client, Android client, they are products of the development trend of the. Through the virtual simulation to simulate these basic signal, and control the waveform characteristics of them, will help us to link theory with practice, give full play to the mobile phone the ability to achieve experimental conditions cannot be met in reality. Through the late constantly add algorithm to increase the function of the software, to make it more realistic significance. Keywords: Signal, waveform, Android mobile phone programming, oscilloscope, java program language, eclipse 2 上海第二工业大学《Android手机编程》大作业 目 录 摘 要 ..................................................................................................................................... 1 ABSTRACT .......................................................................................................................... 2 第一章 绪论 ....................................................................................................................... 2 1.1 概述 .......................................................................................... 错误~未定义书签。 1.2 课 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 研究的目的与意义 .......................................................... 错误~未定义书签。 第二章 研究现状 ............................................................................. 错误~未定义书签。 第三章 可行性分析 ........................................................................................................... 5 3.1需求分析 ..................................................................................................................... 5 3.2运行环境(包括模拟服务器) ..................................................................................... 5 3.3 开发工具 .................................................................................................................... 5 3.5 本章小结 ................................................................................................................... 6 第四章 系统设计 ................................................................................................................. 6 第五章 系统实现 ................................................................................................................. 6 5.1界面设计 ..................................................................................................................... 6 5.2特色模块功能 ........................................................................... 错误~未定义书签。 第六章 使用说明 ............................................................................................................... 14 第七章 体会 ........................................................................................................................ 14 第八章 总结 ........................................................................................................................ 14 文 献 ....................................................................................................................... 15 参 考 致 谢 ................................................................................................................................. 15 第 1 页 上海第二工业大学《Android手机编程》大作业 第一章 绪论 1.1 概述 信号与系统主要讲授信号与线性系统分析的基本原理和方法,为学生深层次理解电路原理,提供多种解决方法。从而培养了学生解决问题的能力,因此信号与系统在电子专业中不可或缺,是某些学科的基石,是某些工作的重点。随着信息技术革命的深入和计算机技术的飞速发展,“信号与系统”的课程出现在范围广泛的各种专业中,并对各专业的发展起着重要的作用。信号与系统在电子专业中的作用更是极其的重要,它是电子专业最关键、最基础的课程,是我们将要盖起的电子大厦的地基。夯实地基是我们现在要做好的事。信号与系统这门课主要研究电信号。为了解并控制信号必须要研究它的波形。 波的图象叫做波形,不同的音色有不同的波形显示。频率不同时,波形 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 现出弹簧式的伸缩;振幅不同时,波形表现出山峰式的起伏。乐音的波形美丽而圆滑;噪音的波形混乱而繁杂。波形的种类很多,不同的波形有不同的定义和测量方法。正弦波形是在时域中定义的,但其波形失真参数却用正弦波形通过傅里叶变换后在频域中各谐波分量相对于基波幅度的大小来表示(见失真度测量);锯齿波的非线性是指实际波形偏离理想直线的程度,速率较低的锯齿波的非线性可用等间隔精密采样的方法进行测量;脉冲波形测量的 内容 财务内部控制制度的内容财务内部控制制度的内容人员招聘与配置的内容项目成本控制的内容消防安全演练内容 较多。 研究波形需要用到示波器,示波器是一种用途十分广泛的电子测量仪器。它能把肉眼看不见的电信号变换成看得见的图像,便于人们研究各种电现象的变化过程。示波器利用狭窄的、由高速电子组成的电子束,打在涂有荧光物质的屏面上,就可产生细小的光点(这是传统的模拟示波器的工作原理)。在被测信号的作用下,电子束就好像一支笔的笔尖,可以在屏面上描绘出被测信号的瞬时值的变化曲线。利用示波器能观察各种不同信号幅度随时间变化的波形曲线,还可以用它测试各种不同的电量, 第 2 页 上海第二工业大学《Android手机编程》大作业 如电压、电流、频率、相位差、调幅度等等。 Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。本次研究的主要内容是将示波器显示原理移植到Android设备上,虽然无法真正直接测量某一实际电信号,但可以通过编程来模拟许多信号,如:正弦波、余弦波、方波三角波、抽样信号。Android系统就是一个开发式的手机和平板电脑的操作系统,发展势头十分迅猛。虽然Android面世的时间不长,但Android已经对传统的手机平台(如Symbian)构成了强大冲击,Nokia宣布与Microsoft结盟,可能会逐步采用Windows Phone来代替自己的Symbian系统,不过业界大多并不看好这次结盟,因为Windows的手机操作系统本身并不太受市场欢迎。业界部分人士预测,Android将会成为应用最为广泛的手机操作系统。对于Java语言而言,Android系统给了Java一个新的机会。在过去的岁月中,Java语言作为服务器端编程语言,已经取得了极大的成功,Java EE平台发展得非常成熟,而且一直是电信、移动、银行、证券、电子商务应用的首选平台、不争的王者。但在客户端应用开发方面,Java语言一直表现不佳,虽然Java既有AWT/Swing界面开发库,也有SWT/JFace界面开发库,但对于客户端应用开发人员而言,大多不愿意选择Java语言。Android系统的出现改变了这种局面。Android是一个非常优秀的手机、平板电脑操作系统,它将会逐渐蚕食传统的桌面操作系统,而Android平台应用的开发语言就是Java,这意味着Java语言将可以在客户端应用开发上大展拳脚。 随着Android平台在市场占有率上的稳步上升,采用Java语言开发的Android应用会越来越多。不过需要指出的是,运行Android平台的硬件只是手机、平台电脑等便携式设备,这些设备的计算能力、数据存储能力都是有限的,不太可能在Android平台上部署大型企业级应用,因此Android应用可能以纯粹客户端应用的角色出现,然后通过网络与传统大型应用交互,充当大型企业应用的客户端,比如已经出现的淘宝Android客户端、赶集网Android客户端,它们都是这种发展趋势下的产物。 第 3 页 上海第二工业大学《Android手机编程》大作业 1.2 课题研究的目的与意义 通过虚拟仿真来模拟这些基础信号,并控制它们的波形特征,有助于我们将理论与实际联系起来,充分发挥手机的能力实现在现实中无法满足的实验条件。通过后期不断地补充算法来增加软件的功能,使其更具有现实意义。 1.3 本章小结 2011年1月,谷歌称每日的Android设备新用户数量达到了30万部,到2011年7月,这个数字增长到55万部,而Android系统设备的用户总数达到了1.35亿,Android系统已经成为智能手机领域占有量最高的系统。Android手机已占据全球智能机市场48%的份额,并在亚太地区市场占据统治地位,终结了Symbian(塞班系统)的霸主地位,跃居全球第一。谷歌Android Market已有10万开发者推出超过40万活跃的应用,大多数的应用程序为免费。本次课题充分利用了Android便于开发的优势,将示波器显示原理移植到Android设备上,为电子类专业的学生对于信号的理解提供很大帮助。 第二章 研究现状 multisim主要偏重内部电子电路或者是数字的设计和仿真;而protel适合整体电路的仿真;pspice适合理论的角度模拟,适合于写论文;ADS适合高频; LabVIEW使用的是图形化编辑语言G编写程序,产生的程序是框图的形式;matlab将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中。 第 4 页 上海第二工业大学《Android手机编程》大作业 第三章 可行性分析 3.1 需求分析 熟悉信号与系统相关知识,java编程,安卓开发。 3.2 运行环境(包括模拟服务器) (1)安装jdk-6u22-windows-i586-p.exe,安装完成后,添加CLASSPATH环境变量,该环境变量的值为;%JAVA_HOME%/lib/tools.jar;%JAVA_HOME%/lib/dt.jar。如果为了可以编译和运行Java程序,还应该在PATH环境变量中增加%JAVA_HOME%/bin。其中JAVA_HOME代表JDK(不是JRE)的安装路径。 (2)安装Android4.2.2。创建AVD虚拟设备。安装Android SDK。 (3)安装Eclipse-jee-helios版(也就是Eclipse 3.6 for Java EE Developers)。并安装ADT插件,安装插件后在Eclipse中设置Android SDK的路径。 3.3 开发工具 Eclipse 3.4 本章小结 Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。通过添加相关插件来支持安卓开发。除了掌握相关的编程语言,还需要理解信号与系统等电路知识。 第 5 页 上海第二工业大学《Android手机编程》大作业 第四章 系统设计 4.1 结构设计 标题,显示面板,控制要显示的波形及参数的相关控件。 4.2 系统功能设计 功能模块图 4.3 系统功能分析 重要页面设计及页面功能说明 第 6 页 上海第二工业大学《Android手机编程》大作业 第 7 页 上海第二工业大学《Android手机编程》大作业 第五章 系统实现 5.1 界面设计 主界面分为四个区域,从上至下分别是标题区、参数设置区、显示面板、控制区。 5.2 特色功能模块 (1)更改连线效果 主要程序: PathEffect[] effects = new PathEffect[] { null, new CornerPathEffect(10), new DiscretePathEffect(3.0f, 10.0f), new DashPathEffect(new float[] { 20, 10, 5, 10 }, phase += 1) }; final String[] effectstr = { "默认", "弧线", "噪声", "虚线" }; ArrayAdapter adapter = new ArrayAdapter(this,android.R.layout.simple_spinner_dropdown _item,effectstr); effect.setAdapter(adapter);// 下拉单显示内容 effect.setOnItemSelectedListener(new Spinner.OnItemSelectedListener() { @Override public void onItemSelected(AdapterView arg0, View arg1, int arg2, long arg3) { // TODO Auto-generated method stub cureffect = arg2; // arg2代表选的第几个 arg0.setVisibility(View.VISIBLE); } @Override public void onNothingSelected(AdapterView parent) { // TODO Auto-generated method stub } 第 8 页 上海第二工业大学《Android手机编程》大作业 }); (2)参数设置 Other.setOnClickListener(new Button.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub LinearLayout inputlayout = (LinearLayout) getLayoutInflater() .inflate(R.layout.input, null); final EditText input = (EditText) inputlayout .findViewById(R.id.inputN); final SeekBar amplitude = (SeekBar) inputlayout .findViewById(R.id.amplitude); final SeekBar period = (SeekBar) inputlayout .findViewById(R.id.period); // findById默认找 setContentView(R.layout.activity_main);activity_main中的ID不会找到其他layout的ID builder.setTitle("波形参数设定"); builder.setView(inputlayout); amplitude.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { @Override public void onStopTrackingTouch(SeekBar seekBar) { // TODO Auto-generated method stub } @Override public void onStartTrackingTouch(SeekBar seekBar) { // TODO Auto-generated method stub } 第 9 页 上海第二工业大学《Android手机编程》大作业 @Override public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { // TODO Auto-generated method stub if (progress != 0) A = (float) (progress / 35.0f); // 疏密 else A = 1; } }); period.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { @Override public void onStopTrackingTouch(SeekBar seekBar) { // TODO Auto-generated method stub } @Override public void onStartTrackingTouch(SeekBar seekBar) { // TODO Auto-generated method stub } @Override public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { // TODO Auto-generated method stub if (progress != 0) T = (float) (progress / 35.0f); // 疏密 else T = 1; } }); builder.setPositiveButton("确定", new DialogInterface.OnClickListener() { 第 10 页 上海第二工业大学《Android手机编程》大作业 @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub boolean flag = false; if (input.getText() == null || input.getText().toString().length() == 0) ; else { N = Integer.parseInt(input.getText() .toString()); flag = true; } if (A != preA) flag = true; if (T != preT) flag = true; if (flag) { Toast toast = Toast.makeText( MainActivity.this, " 参数设置成功\n当前N=" + N + "\n当前A=" + A + "\n当前T=" + T, Toast.LENGTH_SHORT); toast.setGravity(Gravity.CENTER, 0, 0); toast.show(); preA = A; preT = T; } else { Toast toast = Toast.makeText( MainActivity.this, " 参数没有变化\n当前N=" + N + "\n当前A=" + A + "\n当前T=" + T, Toast.LENGTH_SHORT); toast.setGravity(Gravity.CENTER, 0, 0); toast.show(); 第 11 页 上海第二工业大学《Android手机编程》大作业 preA = A; preT = T; } } }); builder.create().show(); } }); (3)采样频率 Density.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { @Override public void onStopTrackingTouch(SeekBar seekBar) { // TODO Auto-generated method stub } @Override public void onStartTrackingTouch(SeekBar seekBar) { // TODO Auto-generated method stub } @Override public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { // TODO Auto-generated method stub curdensity = (int) (progress); // 疏密 } }); (4)面板显示动画 final Path path = new Path(); 第 12 页 上海第二工业大学《Android手机编程》大作业 path.moveTo(0, centerY); path.lineTo(x, y); Canvas canvaspanel = holder.lockCanvas(newRect(prex, top, x + 10, ymax + 15)); // Rect(左,上,右,下)(0,0)在左上方所以ymin在上ymax在下 // 锁定该矩形画出的区域,该区域就是从SUfaceView上获得的Canvas,Canvas仍然是整张图,只在该区域更新(绘制) canvaspanel.drawPath(path, paintfun); holder.unlockCanvasAndPost(canvaspanel); Timer timer = new Timer(); TimerTask task = null; task = new TimerTask() { public void run() {} }; timer.schedule(task, 0, 1); 5.3 本章小结 通过canvas.drawPath(path, paintfun);或canvas.drawPoint(path, paintfun);实现画图,并利用定时器实现动画效果。 第 13 页 上海第二工业大学《Android手机编程》大作业 第六章 使用说明 适当地调整参数,选择演示正弦波还是其他波形,控制采样频率以加速绘图或使波形失真,观察参数对波形的影响。 第七章 体会 主要问题:编辑好代码后没有错误但在调试app时会出现崩溃。 解决方法:(1)删除相关代码,不断调试,直到锁定问题所在; (2)查看LogCat 记录 混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载 看运行时从哪里出现的问题; (3)修改代码,反复调试,直至问题解决; ndroid的同学。 心得体会:遇到问题多翻书或上网查询相关内容,问学过A 第八章 总结 要实现波形的显示必须先了解与绘图相关的程序,要实现动画效果除了解与动画相关的代码还要掌握线程的使用。遇到问题要及时解决才可以不断进步。不仅要有对一切都敢于怀疑的心态,还要有查找并解决问题的能力。通过此次课题的实践,掌握了许多Android编程的知识,希望将来能在这个领域有所作为。 第 14 页 上海第二工业大学《Android手机编程》大作业 参 考 文 献 【1】 李刚.疯狂Android讲义.-北京:电子工业出版社,2011.7 【2】 蒋文蓉. Android手机编程.-上海第二工业大学计算机与信息学院,2014.1 致 谢 对蒋**、 颜**、孙**、郭**同学及家人给予的帮助表示感谢,你们不仅在我身边鼓励我,还帮助我解决了许多课题的问题,让我学到了许多有用的知识。谢谢你们的关心,我会加倍努力。 第 15 页
本文档为【基于安卓平台示波器APP设计】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_833902
暂无简介~
格式:doc
大小:90KB
软件:Word
页数:20
分类:生活休闲
上传时间:2018-01-07
浏览量:124