基于Android的会议白板.docx
- 文档编号:26272041
- 上传时间:2023-06-17
- 格式:DOCX
- 页数:34
- 大小:364.79KB
基于Android的会议白板.docx
《基于Android的会议白板.docx》由会员分享,可在线阅读,更多相关《基于Android的会议白板.docx(34页珍藏版)》请在冰豆网上搜索。
基于Android的会议白板
基于Android的会议白板
【摘要】
当今社会的生活节奏越来越快,人们对于手机的应用也越来越频繁,一款好的应用程序可以为人们带来无尽的方便。
由于Android系统的开放性,越来越多的手机和平板使用安卓系统。
Android是一个开源的系统,它底层是基于Linux的操作系统,本论文的会议白板采用了Android开源系统技术,利用Java语言和Eclipse编辑工具对会议白板进行编写。
同时给出了详细的系统设计过程、部分界面图及主要功能运行流程图,本文还对调试过程中遇到的问题和解决方法进行了详细的讨论,该会议白板基于TCP连接,利用wife进行多用户的连接,可以实现多台Android手机同时进行对会议内容模型进行讨论、交流,在Android系统中能独立运行。
该会议白板为了避免紧急情况,故设计了一个快捷开启手电筒的功能,可以在突发情况下,以最快的速度带给你光明。
关键词:
Android,Eclipse,TCP,SketchPad,Linux
Abstract:
Liferhythmfasterandfasterintoday'ssociety,peoplearemoreandmoreapplicationsformobilephonesandagoodapplicationcanbringconvenienceforpeople.NowadaysthesocietyduetotheopennessoftheAndroidsystem,therefore,moreandmoremobilephonesandtabletusingAndroid.Androidisanopensourcesystem,itsbottomisbasedontheLinuxoperatingsystem,thisthesisconferenceboardUSEStheAndroidopensourcesystemtechnology,usingtheJavalanguageandEclipseeditingtoolstowritemeetingthewhiteboard.Alsogivesadetailedsystemdesignprocess,partoftheinterfacediagramandmainfunctionoperationflowchart,thearticlealsotheproblemsandsolutionsintheprocessofhighlydiscussedindetail,theconferenceboardbasedontheTCPconnection,theuseofthewifeformulti-userconnection,canrealizemoreAndroidphonesatthesametimetothediscussionofthemeetingcontentmodel,theAndroidsystemcanrunindependently.Theconferenceboardinordertoavoidanemergency,sodesignedashortcuttoopenaflashlightfunction,canbesetoutinlowercase,withthefastestspeedgivesyouthelight.
Keywords:
Android EclipseTCPSketchPadLinux
目录
1、概述----------------------------------------------------------------------------------------------------1
1.1研究课题背景-----------------------------------------------------------------------------------1
1.2可行性分析--------------------------------------------------------------------------------------1
1.3目标-----------------------------------------------------------------------------------------------2
2、功能简介----------------------------------------------------------------------------------------------2
2.1.用例分析----------------------------------------------------------------------------------------2
2.2.活动分析----------------------------------------------------------------------------------------2
2.3.流程设计----------------------------------------------------------------------------------------4
2.4.数据词典----------------------------------------------------------------------------------------4
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
3.2.2.1服务端-----------------------------------------------------------------------------------9
3.2.2.2客户端----------------------------------------------------------------------------------12
3.2.3.主页-------------------------------------------------------------------------------------------14
3.2.4.配置文件-------------------------------------------------------------------------------------19
4、运行环境--------------------------------------------------------------------------------------------------20
5、系统测试--------------------------------------------------------------------------------------------------21
结束语-------------------------------------------------------------------------------------------------------22
谢辞------------------------------------------------------------------------------------------------------------23
文献------------------------------------------------------------------------------------------------------------24
1概述
1.1背景
Android开创了一个智能手机的时代,她的到来造福了千千万万的人们,带动了数不清的GDP增长,她是一套真正意义上的开发性的移动设备综合平台,它包括操作系统、中间件和一些关键的平台应用。
自从它诞生日开始,他就凭借着他那得天独厚的优势,快速的得到了开发人员和用户们的喜爱。
Android是由Linux+Java构成的开源软件,允许所有厂商和个人在其基础上进行开发。
Android平台的开放性等特点既能促进技术的创新,又有助于降低开发成本,还可以是运营商能非常方便地制定自己的特色化的产品。
因此,它具有很大的市场发展潜力,是未来世界移动端的主流。
智能机之所以智能是因为他有了网络,他能够和外界进行交流沟通。
随着网络信息的不断加大,流量也随之成为了人们的负担。
因此wife应运而生,他可以让你有着快速浏览信息的能力,还能够快速的构建局域网,让人们进行交流、沟通。
现今,人们越来越少的使用纸和笔,人们更加倾向于移动端的交流,会议中有许多的事情是无法用语言来进行正确描述的,因此会议白板便可以成为交流和沟通中最佳的选择了。
1.2可行性分析
TCP协议已经出现了很久很久,它的技术是非常成熟的。
TCP协议中当应用层向TCP层发送用于网间传输的、用8位字节表示的数据流,TCP则把数据流分割成适当长度的报文段,最大传输段大小(MSS)通常受该计算机连接的网络的数据链路层的最大传送单元(MTU)限制。
之后TCP把数据包传给IP层,由它来通过网络将包传送给接收端实体的TCP层。
如果发送端实体在合理的往返时延(RTT)内未收到确认,那么对应的数据(假设丢失了)将会被重传。
Wife联机版的会议白板是通过wife构建局域网,通过TCP协议进行连接,在同一个局域网中,可以有一台安卓机作为服务器创建会议房间,其他手机作为客户端通过IP加入房间。
在房间中会议者可以进行几何图形的绘制,可以进行交流和沟通。
在开发会议白板程序时,主要运行的Android程序开发设计,而且技术简单可靠,因为不需要大规模的计算和读取数据,所以对手机的性能要求也不高,对环境的搭建没有特殊的要求。
而且Android开发技术中也使用到了JAVA中的框架的搭建,在对记账本这个程序进行界面布局时,主要是通过编写
Android技术开发经济成本低,Google提供了丰富的API类库并且有Googledoc和Clendar等免费,好用的API及大量的开源代码可以借鉴不需要缴纳任何费用,这些都可以大幅度的降低开发成本。
1.3目标
帮助人们在会议中进行充分的沟通,会议白板可以在安卓系统下流畅的运行,可以通过wife构建局域网进行TCP协议的正确连接。
2功能简介
2.1用例分析
图1-1图1-2
服务端可以创建房间,等待其他参会人员加入房间,后可以进行交流的操作;
客户端可以加入房间,加入后可以进行交流的一些操作。
2.2活动分析
图2-
1
2.3流程分析
图3-1
2.4数据字典
SketchPad:
会议白板
IndexActivity:
欢迎提示页
MainActivity:
交流页
StartActivity:
引导页
Client:
客户端
Server:
服务端
Float_windows:
浮动窗
Color_image:
按钮样式
sketchpadtool_pen:
画笔
sketchpadtool_eraser:
橡皮
sketchpadtool_pencolor:
画笔颜色
sketchpadtool_clear:
清空
creat_home:
创建房间
home_address:
房间地址IP
add_home:
加入房间
图4-1
3项目详析
3.1项目结构分析
3.1.1包
com.xhy.gbb.interfaces包:
包含了项目中所需要的接口;
com.xhy.gbb.utils包:
包含了项目中所需要用到的工具类;
com.xhy.gbb.tcp包:
包含了TCP协议写的服务端和客户端;
com.xhy.gbb.view包:
包含了会议白板中用到的视图类;
com.xhy.gbb.activity包:
包含了项目中交流的逻辑类和方法。
3.1.2配置文件
AndroidManifest.xml:
安卓项目的配置文件,当系统需要调用某些底层功能是,需要在其中进行声明,添加权限以及设置程序入口Activity。
3.1.3资源文件
res文件夹:
包含了项目中所需要用到的各种资源,有照片、界面布局、预声明等。
3.1.4逻辑功能
src文件夹:
包含了项目中所需要用到
类,其中Client.java和Server.java是客户端和服务器端。
activity包下的类是交流、沟通所要用到的逻辑类。
3.2界面以及代码显示
3.2.1主页展示
图3-2-1
主页是一张渐变的图片,可以慢慢的消失,最终跳转至引导页,图片的消失是创建了一线程,定义一个变量,让其每秒减少一定的数。
页面跳转是用到了一个方法Intent,让其可以在图片消失的那一刻就行页面的自动跳转(进行了判断,当变量小于等于0时,进行跳转)。
publicclassMainActivityextendsActivity{
privateHandlermHandler=newHandler();
ImageViewimageview;
TextViewtextview;
intalpha=255;
intb=0;
publicvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
imageview=(ImageView)
this.findViewById(R.id.ImageView1);
textview=(TextView)this.findViewById(R.id.TextView1);
imageview.setAlpha(alpha);
newThread(newRunnable(){
publicvoidrun(){
while(b<2){
try{
if(b==0){
Thread.sleep(1000);
b=1;
}else{
Thread.sleep(50);
}
updateApp();
}catch(InterruptedExceptione){
e.printStackTrace();
}
}
}
}).start();
mHandler=newHandler(){
publicvoidhandleMessage(Messagemsg){
super.handleMessage(msg);
imageview.setAlpha(alpha);
imageview.invalidate();
}
};
}
publicvoidupdateApp(){
alpha-=5;
if(alpha<=0){
b=2;
Intentin=newIntent(this,StartActivity.class);
startActivity(in);
this.finish();
}
mHandler.sendMessage(mHandler.obtainMessage());
}
}
3.2.2引导页展示
图3-2-2
引导页可以对用户进行引导作为服务器创建房间或者加入房间(需要输入服务器的IP地址),创建或加入完房间后,需要进行带参数的跳转。
3.2.2.1基于TCP协议的服务端代码(socket通信技术)
publicclassServer{
publicstaticThreadt;
publicstaticvoidrun(){
if(t==null){
t=newThread(newLanding());
t.start();
}
}
}
//监听
classmyListenerimplementsRunnable{
privateSockets;
publicmyListener(Socketas){
this.s=s;
}
@Override
publicvoidrun(){
while(true){
try{
Thread.sleep(10);
}catch(InterruptedExceptione){
e.printStackTrace();
}
for(inti=0;i BufferedReaderbr; try{ br=newBufferedReader(newInputStreamReader( s.getInputStream())); Stringstr=br.readLine(); MyOutPutm=newMyOutPut(); m.put(str,s); }catch(IOExceptione){ inttemp=Landing.myAL.indexOf(s); Landing.myAL.remove(temp); System.out.println("连接用户数为"+Landing.myAL.size()); return; } } } } } //用户连接,端口: 8888 classLandingimplementsRunnable{ ServerSocketss; publicstaticArrayList publicvoidrun(){ ServerSocketss=null; try{ ss=newServerSocket(8888); }catch(IOExceptione1){ //TODOAuto-generatedcatchblock e1.printStackTrace(); } System.out.println("服务器已开启! "); while(true){ System.out.println("就绪,等待新用户"); try{ Sockets=ss.accept(); myAL.add(s); System.out.println(s.getInetAddress()+"连接了"); System.out.println("连接用户数为"+myAL.size()); Threadct=newThread(newmyListener(s)); ct.start(); }catch(IOExceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); } } } } classMyOutPut{ publicvoidput(Stringstr,Sockets){ if(str==null||str.equals("null")){ return; } for(inti=0;i try{ if(s==Landing.myAL.get(i)){ continue; } BufferedWriterbw=newBuffer
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Android 会议 白板