版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于 Android 的会议白板【摘要】 当今社会的生活节奏越来越快,人们对于手机的应用也越来越频繁,一款好的应用程序可以为人们带来无尽的方便。由于 Android 系统的开放性,越来越多的手机和平板使用安卓系统。Android 是一个开源的系统,它底层是基于Linux 的操作系统,本论文的会议白板采用了 Android 开源系统技术,利用Java 语言和 Eclipse 编辑工具对会议白板进行编写。同时给出了详细的系统设计过程、部分界面图及主要功能运行流程图,本文还对调试过程中遇到的问题和解决方法进行了详细的讨论,该会议白板基于 TCP 连接,利用 wife 进行多用户的连接,可以实现多台
2、Android 手机同时进行对会议内容模型进行讨论、交流,在 Android 系统中能独立运行。该会议白板为了避免紧急情况,故设计了一个快捷开启手电筒的功能,可以在突发情况下,以最快的速度带给你光明。关键词: Android,Eclipse,TCP,SketchPad,LinuxAbstract:Abstract: Life rhythm faster and faster in todays society, people are more and more applications for mobile phones and a good application can bring con
3、venience for people.Nowadays the society due to the openness of the Android system, therefore, more and more mobile phones and tablet using Android.Android is an open source system, its bottom is based on the Linux operating system, this thesis conference board USES the Android open source system te
4、chnology, using the Java language and Eclipse editing tools to write meeting the whiteboard.Also gives a detailed system design process, part of the interface diagram and main function operation flow chart, the article also the problems and solutions in the process of highly discussed in detail, the
5、 conference board based on the TCP connection, the use of the wife for multi-user connection, can realize more Android phones at the same time to the discussion of the meeting content model, the Android system can run independently.The conference board in order to avoid an emergency, so designed a s
6、hortcut to open a flashlight function, can be set out in lower case, with the fastest speed gives you the light.KeyKey words:words: AndroidEclipse TCP SketchPad Linux目目 录录 1、概述、概述-11.1 研究课题背景研究课题背景-11.2 可行性分析可行性分析-11.3 目标目标-2 2、功能简介、功能简介-2 2.1.用例分析用例分析-2 2.2.活动分析活动分析-2 2.3.流程设计流程设计-4 2.4.数据词典数据词典-4
7、3、项目详析、项目详析-5 3.1 项目结构分析项目结构分析-5 3.1.1 包包-5 3.1.2 配置文件配置文件-5 3.1.3 资源文件资源文件-6 3.1.4 逻辑功能逻辑功能-6 3.2 界面以及代码说明界面以及代码说明-6 3.2.1 首页首页-7 3.2.2.引导页引导页-8 服务端服务端-9 客户端客户端-12 3.2.3.主页主页-14 3.2.4.配置文件配置文件-19 4、运行环境运行环境-205、系统测试系统测试-21结结 束束 语语-22谢谢 辞辞-23文文 献献-24第 1 页 共 24 页1 1 概述概述1.11.1 背景背景And
8、roid 开创了一个智能手机的时代,她的到来造福了千千万万的人们,带动了数不清的 GDP 增长,她是一套真正意义上的开发性的移动设备综合平台,它包括操作系统、中间件和一些关键的平台应用。自从它诞生日开始,他就凭借着他那得天独厚的优势,快速的得到了开发人员和用户们的喜爱。Android 是由 Linux+Java 构成的开源软件,允许所有厂商和个人在其基础上进行开发。Android 平台的开放性等特点既能促进技术的创新,又有助于降低开发成本,还可以是运营商能非常方便地制定自己的特色化的产品。因此,它具有很大的市场发展潜力,是未来世界移动端的主流。智能机之所以智能是因为他有了网络,他能够和外界进行
9、交流沟通。随着网络信息的不断加大,流量也随之成为了人们的负担。因此 wife 应运而生,他可以让你有着快速浏览信息的能力,还能够快速的构建局域网,让人们进行交流、沟通。现今,人们越来越少的使用纸和笔,人们更加倾向于移动端的交流,会议中有许多的事情是无法用语言来进行正确描述的,因此会议白板便可以成为交流和沟通中最佳的选择了。1.21.2 可行性分析可行性分析TCP 协议已经出现了很久很久,它的技术是非常成熟的。TCP 协议中当应用层向 TCP 层发送用于网间传输的、用 8 位字节表示的数据流,TCP 则把数据流分割成适当长度的报文段,最大传输段大小(MSS)通常受该计算机连接的网络的数据链路层的
10、最大传送单元(MTU)限制。之后 TCP 把数据包传给 IP层,由它来通过网络将包传送给接收端实体的 TCP 层。如果发送端实体在合理的往返时延(RTT)内未收到确认,那么对应的数据(假设丢失了)将会被重传。Wife 联机版的会议白板是通过 wife 构建局域网,通过 TCP 协议进行连接,在同一个局域网中,可以有一台安卓机作为服务器创建会议房间,其他手机作为客户端通过 IP 加入房间。在房间中会议者可以进行几何图形的绘制,可以进行交流和沟通。在开发会议白板程序时,主要运行的 Android 程序开发设计,而且技术简单可靠,因为不需要大规模的计算和读取数据,所以对手机的性能要求也不高,对环境的
11、搭建没有特殊的要求。而且 Android 开发技术中也使用到了第 2 页 共 24 页JAVA 中的框架的搭建,在对记账本这个程序进行界面布局时,主要是通过编写 等属性都可以通过代码实现。 Android 技术开发经济成本低,Google 提供了丰富的 API 类库并且有Google doc 和 Clendar 等免费,好用的 API 及大量的开源代码可以借鉴不需要缴纳任何费用,这些都可以大幅度的降低开发成本。1.31.3 目标目标 帮助人们在会议中进行充分的沟通,会议白板可以在安卓系统下流畅的运行,可以通过 wife 构建局域网进行 TCP 协议的正确连接。第 3 页 共 24 页2 2 功
12、能简介功能简介2.12.1 用例分析用例分析 图图 1-11-1 图图 1-21-2 服务端可以创建房间,等待其他参会人员加入房间,后可以进行交流的操作;客户端可以加入房间,加入后可以进行交流的一些操作。2.22.2 活动分析活动分析第 4 页 共 24 页 图图 2-2-1 12.32.3 流程分析流程分析 图图 3-3-1 12.42.4 数据字典数据字典 第 5 页 共 24 页 图图 4-4-1 1 SketchPad:会议白板 IndexActivity:欢迎提示页MainActivity:交流页 StartActivity:引导页Client:客户端Server:服务端Float_
13、windows:浮动窗Color_image:按钮样式sketchpadtool_pen:画笔sketchpadtool_eraser:橡皮sketchpadtool_pencolor:画笔颜色sketchpadtool_clear:清空creat_home:创建房间home_address:房间地址 IPadd_home:加入房间第 6 页 共 24 页3 3 项目详析项目详析3.13.1 项目结构分析项目结构分析.1 包包erfaces 包:包含了项目中所需要的接口;com.xhy.gbb.utils 包:包含了项目中所需要用到的工具类;com
14、.xhy.gbb.tcp 包:包含了 TCP 协议写的服务端和客户端;com.xhy.gbb.view 包:包含了会议白板中用到的视图类;com.xhy.gbb.activity 包:包含了项目中交流的逻辑类和方法。.2 配置文件配置文件AndroidManifest.xml:安卓项目的配置文件,当系统需要调用某些底层功能是 ,需要在其中进行声明,添加权限以及设置程序入口 Activity。.3 资源文件资源文件第 7 页 共 24 页res 文件夹:包含了项目中所需要用到的各种资源,有照片、界面布局、预声明等。.4 逻辑功能逻辑功能src 文件
15、夹:包含了项目中所需要用到类,其中 Client.java 和Server.java 是客户端和服务器端。activity 包下的类是交流、沟通所要用到的逻辑类。3.23.2 界面以及代码显示界面以及代码显示.1 主页展示主页展示第 8 页 共 24 页 图图 3-3-2 2- -1 1 主页是一张渐变的图片,可以慢慢的消失,最终跳转至引导页,图片的消失是创建了一线程,定义一个变量,让其每秒减少一定的数。页面跳转是用到了一个方法 Intent,让其可以在图片消失的那一刻就行页面的自动跳转(进行了判断,当变量小于等于 0 时,进行跳转)。public class MainActi
16、vity extends Activity private Handler mHandler = new Handler();ImageView imageview; TextView textview;int alpha = 255; int b = 0;public void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);imageview = (ImageView) this.findViewById(R.id.Im
17、ageView1);textview = (TextView) this.findViewById(R.id.TextView1);imageview.setAlpha(alpha);第 9 页 共 24 页new Thread(new Runnable() public void run() while (b 2) try if (b = 0) Thread.sleep(1000);b = 1; else Thread.sleep(50);updateApp(); catch (InterruptedException e) e.printStackTrace();).start();mHa
18、ndler = new Handler() public void handleMessage(Message msg) super.handleMessage(msg);imageview.setAlpha(alpha);imageview.invalidate();public void updateApp() alpha -= 5;if (alpha = 0) b = 2;Intent in = new Intent(this, StartActivity.class);startActivity(in);this.finish();mHandler.sendMessage(mHandl
19、er.obtainMessage();.2 引导页展示引导页展示第 10 页 共 24 页 图图 3-2-23-2-2第 11 页 共 24 页引导页可以对用户进行引导作为服务器创建房间或者加入房间(需要输入服务器的 IP 地址),创建或加入完房间后,需要进行带参数的跳转。 基于基于 TCP 协议的服务端代码(协议的服务端代码(socket 通信技术)通信技术) public class Server public static Thread t;public static void run() if (t = null) t = new Threa
20、d(new Landing();t.start();/ 监听class myListener implements Runnable private Socket s;public myListener(Socketa s) this.s = s;Overridepublic void run() while (true) try Thread.sleep(10); catch (InterruptedException e) e.printStackTrace();for (int i = 0; i Landing.myAL.size(); i+) BufferedReader br;try
21、 br = new BufferedReader(new InputStreamReader(s.getInputStream();String str = br.readLine();MyOutPut m = new MyOutPut();m.put(str, s); catch (IOException e) int temp = Landing.myAL.indexOf(s);Landing.myAL.remove(temp);System.out.println(连接用户数为 + Landing.myAL.size();return;第 12 页 共 24 页/ 用户连接,端口:888
22、8class Landing implements Runnable ServerSocket ss;public static ArrayList myAL = new ArrayList();public void run() ServerSocket ss = null;try ss = new ServerSocket(8888); catch (IOException e1) / TODO Auto-generated catch blocke1.printStackTrace();System.out.println(服务器已开启!);while (true) System.out
23、.println(就绪,等待新用户);try Socket s = ss.accept();myAL.add(s);System.out.println(s.getInetAddress() + 连接了);System.out.println(连接用户数为 + myAL.size();Thread ct = new Thread(new myListener(s);ct.start(); catch (IOException e) / TODO Auto-generated catch blocke.printStackTrace();class MyOutPut public void pu
24、t(String str, Socket s) if (str = null | str.equals(null) return;for (int i = 0; i 浮动窗口的功能第 20 页 共 24 页mFloatView.setOnClickListener(new OnClickListener() public void onClick(View v) / TODO Auto-generated method stubcamera = Camera.open(); Parameters params = camera.getParameters();if (kaiguan) Toas
25、t.makeText(getApplicationContext(), 您已经打开了手电筒, Toast.LENGTH_SHORT).show(); / 通过 wife 进行连接 private String getlocalip() WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE); WifiInfo wifiInfo = wifiManager.getConnectionInfo(); int ipAddress = wifiInfo.getIpAddress(); Log.d(,
26、int ip + ipAddress); if (ipAddress = 0) return null; return (ipAddress & 0 xff) + . + (ipAddress 8 & 0 xff) + . + (ipAddress 16 & 0 xff) + . + (ipAddress 24 & 0 xff); .4 项目配置文件项目配置文件 第 21 页 共 24 页 4 4 开发及运行环境开发及运行环境 1 JDK(1.8)+ SDK(API 18)+ Eclipse(2013)。2 安卓系统手机或者平板电脑一台。第 22
27、 页 共 24 页第 23 页 共 24 页5 5 系统测试系统测试 图图 5 5- -1 1 图图 5 5- -2 2图 5-1 为服务端,主机 07 为该设备连入 wife 后,路由器为该设备分配的 IP 地址,客户端可以与服务端进行连接。且界面上的浮动按钮可以快速的打开和关闭手机的手电筒功能。图 5-2 为客户端,连接的服务端 IP 为 07,从机(客户端设备)连入与服务端同一 wife 下,路由器为其分配的 IP07.当两台或多台设备成功连接后,用户可以进行同步交流。当一端绘画或写字时,另一端可以同步显示。个别手机可能会
28、无法显示浮动窗口,这是因为您的设备可能需要手动开启浮动窗设置。第 24 页 共 24 页结结 束束 语语本系统是一个基于 Android 平台的 wife 联机版的会议白板,该会议白板具备一个可以商用的大部分条件,实现了会议中用户之间的正常交流和沟通。作为一个会议白板,系统提供了开关灯,画板交流等功能。该会议白板基本完成了会议交流的基本功能。这次的毕业设计,让我对过去两年的学习进行了一个系统性的总结,让我对网络的 TCP、websocket 等协议有了一个清晰的认识,这次设计让我明白到了自己的不足之处,让我得到了长足的提高。总之在这次的系统设计中,从中学到了许多以前书本上没有学到过的,这更增强了我的理论基础知识,从中受益多多。感谢老师对我的指导。大学生活如同白驹过隙般匆匆忙忙而过,但我却能无悔地说:“我曾经来过。”大学三年,但它给我的影响却不能用时间来衡量,这三年以来,经历过的所有
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 陶瓷产品设计师岗位师带徒考核试卷含答案
- 石英晶体元件装配工岗位安全宣教考核试卷含答案
- 内燃机装配工岗位节能考核试卷含答案
- 排水管道工岗前专业能力考核试卷含答案
- 教育学填空试题及答案
- 国庆二轮复习计划|小学地理启蒙知识点课件
- 高活性干扰素表达CIK细胞:肝癌治疗新曙光
- 高桩码头-岸坡体系三维弹塑性有限元分析:方法构建与工程实践
- 高校行政权力对学术资源配置的影响:基于国家社科基金项目微观数据的洞察
- 高校生命教育课程开发:理论、实践与创新
- 成都未来科技城发展服务局2026年社会招聘笔试题库有答案详解
- 中暑应急处置流程培训课件
- 2026上海市农产品质量安全中心公开招聘博士研究生笔试备考试题及答案详解
- 2025年中国铁道科学研究院集团有限公司招聘(178人)笔试历年参考题库附带答案详解
- ICU病房地震应急演练方案脚本
- 2026年机关事业单位考调、选调工作人员考试(综合知识、综合应用能力测试)模拟试题及解析(甘孜州)
- 2026年健康评估期末复习过关检测附答案详解【黄金题型】
- 芳馨待客·茉莉茶韵传真情-小学五年级劳动教育教案
- GB 46768-2025有限空间作业安全技术规范
- CJJ-T148-2010城镇燃气加臭技术规程
- 《实验室安全教育》课件-事故急救与应急处理
评论
0/150
提交评论