《移动软件开发课程设计.doc》由会员分享,可在线阅读,更多相关《移动软件开发课程设计.doc(16页珍藏版)》请在三一办公上搜索。
1、Yangtze University College of Arts and Science学生课程设计报告系 部: 机电与信息工程系 专 业: 计算机科学与技术 班 级: 计科5131 姓 名: 来超 学 号: 6 课程名称: 移动平台数据库综合开发 指导教师: 王 腾 实习时间:2016年6月20日至2016年6月27日android即时通讯软件摘要在网络越来越发达的今天,人们对网络的依赖越来越多,越来越离不开网络,由此而产生的聊天工具越来越多,例如,国外的ICQ、国内腾讯公司开发的OICQ。基于Java网络编程的强大功能,本次课程设计使用Java编写一个运行在版本以上的即时通讯软件。一般
2、来说,聊天工具大多数由客户端程序和服务器程序外加服务器端用于存放客户数据的数据库组成。Java提供的多线程功能用多线程可完成一点对多点的聊天,数据库管理系统用SQLlite来访问数据库的。本系统建立在JAVA平台上,系统的设计使用了面向对象技术和面向对象的设计原则。系统采用C/S结构,客户端与客户端以及客户端与服务器端之间传送消息。使用JAVA语言编写,开发工具采用AS。在智能手机中,Android平台约占75市场份额。安卓系统的广泛应用,使得Android手机应用程序的数量快速增长,即时通讯APP的应用范围也更加广泛。关键字:多线程;客户机/服务器 ;JAVA;AS ;Android手机应用
3、1.开发背景Android的英文翻译是指“机器人”,而Android这个词语作为操作系统的名称出现,是谷歌在2007年发布了应用在手机平台上的操作系统,自此Android作为手机操作系统出现在人们的视野中。同时由于Android的操作系统的开源性和可开发性使得以Android操作系统的应用软件日益增多。Android操作系统被越来越多的人接受和使用。目前的Android聊天软件基本分为2种架构形式:(1)C/S架构:采取客户端/服务器对等传输的形式,用户方主要使用客户端软件,使用前用户通过网上下载客户端软件,再安装到手机上进行使用,市场上流行的C/S架构的聊天软件有以下几种:QQ、微信、微博、
4、YY、MSN等;(2)B/S架构:浏览器/服务端对等传输的形式,这种形式下的即时通信工具,一般都是依赖于互联网,作为用户无需下载客户端,用户一般在浏览往网上网页时浏览器会提供一个类似于客户端的界面使用户可以发送消息,此架构一般应用在数据流比较大的电商网站,如WebQQ等。2.软件需求分析软件开发的工具和环境1.开发环境:AS2.开发语言:JAVA3.模拟机平台:AVD4.手机运行平台:以及上版本开发软件5.所需插件:JDK安装JDK和SDK先从网站上找到(JREaloneisnotsufficient)版本并下载,下载完毕后将它安装在PC机上并在PC机上设置好有关的环境变量,将JAVA_HOM
5、E,path等几个设置为适用于Java开发的环境变量,最后将其导入你的JDK文件路径SDK安装:直接从相关网站下载好SDK压缩包,然后打开Eclipse软件,在其中找到对应路径将其导入就可以。3、原理与技术要点分析 登录功能概要 点击button按钮 服务器验证登录账号 跳转进入好友列表界面登录流程图:进入输入账号及密码 失 判断账号密码 服务器验证败 是否正确登录成功 登录功能流程图聊天功能概要 用户点击联系人列表中的一个好友时,进入聊天界面 在输入框输入信息,点击发送按钮,发送信息 好友回复消息是在该聊天页面显示 当有好友发消息过来时,系统会通过Toast提示用户聊天模块总体流程图:用户聊
6、天模块总体流程图技术要点分析概念结构设计 逻辑结构设计1) 用户信息(用户账号,用户密码,昵称,头像) public class QQMessage extends Protocal public String type = ; egisterContentObserver(地址:信号,子路径是否有效,指定一个观察者); ().registerContentObserver(uri,true,observer); app= (ImApp) getApplication(); Intent intent = (); Bundle bundle = (); account=(account); t
7、oNick=(nick); (与 +toNick +聊天中); querySetofChatWithOne(account+,list); adapter=new ChatMessageAdapter(this,list); (adapter); if()-10) ()-1); oString().trim(); if(.equals(messageBody) (getBaseContext(),发送消息不为空,.show(); return; (); final QQMessage msg=new QQMessage(); = ; =messageBody; =(); =account; =
8、人族; endMessage(msg); catch (Exception e) (); ); ueryRaw(where SESSION_ID = order by SENDTIME ASC,session_id); for item:dbmsgList) QQMessage msg = new QQMessage(); = ; = (); = (); = (); = (); (msg); Override protected void onDestroy() (); getContentResolver().unregisterContentObserver(observer); Spla
9、shActivity 类public class SplashActivity extends Activity Override protected void onCreate(Bundle savedInstanceState) (savedInstanceState); setContentView (new Runnable() Override public void run() try (3000); ddOnMessageReceiveListener(listener); emoveOnMessageReceiveListener(listener); LoginActivit
10、y 类public class LoginActivity extends Activity EditText account,psw; String username,password; QQCommunicationCore communicaCore; Override protected void onCreate(Bundle savedInstanceState) (savedInstanceState); setContentView account= (EditText) findViewById psw= (EditText) findViewById oString().t
11、rim(); how(); how(); ); ; oString().trim(); password=().toString(); (new Runnable() Override public void run() try QQMessage msg=new QQMessage(); = ; =username+#+password; (msg); catch (Exception e) (); ); Override protected void onDestroy() (); (listener); 5、测试分析客户端具体功能实现 登录功能:建立与服务器的连接并登录,能显示登录成功信
12、息。 界面显示:将好友显示在联系人列表中,并可以通过点击进入会话界面,进行与好友的聊天 聊天功能:当好友发送消息时会显示在会话界面。用户也同时可以在输入框中输入相应信息点击发送与好友聊天。 信息提示:Toast提示到来信息的好友账号。用户在客户端点击应用程序图标后启动应用如下图:图5-1 客户端启动界面进入联系人界面后,点击好友账号,进入聊天功能。当好友发送消息时,会显示在会话界面。用户也同时可以在输入框中输入相应信息点击发送与好友聊天。聊天界面如下图:图5-2 与好友聊天界面心得体会本课程设计紧紧围绕了基于Android平台的移动聊天程序进行研究说明,针对基于Android平台的应用程序开发
13、已经及时通讯进行了深入的探讨。移动聊天程序是当今社会实现人机交互的重要技术支撑,通过分析相关移动聊天程序的各种功能需求,并用面向对象语言Java语言实现并封装好这些功能。然后又通过需求分析设计了移动聊天程序所需的各个功能模块,并在需求分析的基础上最终通过编程封装实现了此聊天程序。此聊天程序流程主要分为:登录界面、好友界面、回话界面模块。Android技术比较新颖,入门感觉稍微有些难,不过本系统能够让用户实现一对一的聊天、实现文字的收发,网络技术支持能功能,但是由于本人的经验不足和时间有限,以及对一些相关的技术、思想、理论掌握的还不够透彻,因此本系统中还存在许多不足、许多待完善的地方:例如界面不够美观等等。这些不足之处,会在今后的学习中不断的完善和维护,希望能够达到更好的效果。经过课程这个设计的磨练,对移动通讯行业有了更深的了解,也有了更多的知识来充实自己的大脑。指导老师意见:成绩: 教师签名: 年 月 日