【基于Android的校园社交平台APP设计12000字(论文)】_第1页
【基于Android的校园社交平台APP设计12000字(论文)】_第2页
【基于Android的校园社交平台APP设计12000字(论文)】_第3页
【基于Android的校园社交平台APP设计12000字(论文)】_第4页
【基于Android的校园社交平台APP设计12000字(论文)】_第5页
已阅读5页,还剩59页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于Android的校园社交平台APP设计 1 12系统开发环境 3 3 32.3MYSQL数据库 4 5 63.1可行性分析 6 64系统设计 74.1系统设计流程 74.2系统功能模块设计 8 5系统设计 23 235.2用户端设计 236系统测试 6.1系统测试的目的及意义 6.3测试用例 参考文献 摘要:如今网络通信和移动手机发展迅速,移动应用程序成为人们学习交流和生活生产必不可少的一基于android平台开发的社交应用。该应用除了基本的用户模块外,还包括动态发布、好友交流和二手关键词:基于Android的校园社交APP;社交管理;MYSQL数据库一,网络上的交流和分享是他们必不可少的日常活动I。大学的课业并不如初高中那么繁忙,这就给了基于Android的校园社交平台APP是一款集聊天、二手买卖、校园动态发布为一体的综合性平台,的学生能用到此款软件,我运用了当今最为流行的Android平台来进行软件开发,能适应大多数同学的件。校内网国内第一款校园交流网站,诞生于2005年12月份,因其限制IP的注册方式,使得用户大交友网站的限制,就是不能随时随地查看各类消息。随着近些年来Android系统的突然崛起,人手一部智能手机更是快速的推动了Android技术的发展2,人们越来越离不开各式各样的app软件。因此,将首先要对基于Android的校园社交APP的业务流程有整体把握,分析校园社交管理的流程制度;其次要根据对用户的管理需求进行调研,在各个层面上对系统所采取的设计功能特征和技术要点的应用情况进行归纳和总结,对开发系统的可行性进行分析,提出综合集成的总体结构和实现方法;再次我们需要使用MYSQL系统进行数据库的设计,准备好所有需要使用的数据库表;最后要深入研究整个系统各个功能模块的详尽性和可靠度,并且熟练的运用开发软件,从而顺利完成整个系统的开发。1.4本文结构第1部分绪论,阐述本文的研究背景及现状,通过对Andriod系统的了解以及现今校园社交的需求分析,总结出此次项目的研究目标。第2部分相关知识,介绍Andriod技术、Andriod系统架构、MySQL、ecplise等该项目涉及的主要技术以及数据库。第3部分为系统分析,详细介绍了Andriod社交平台的可行性及具体功能。第4部分为数据库设计,主要展示了平台数据库E-R设计图以及数据库表格。第5部分为系统展示,简单介绍App的主要界面和实现的核心代码。第6部分为系统测试测试,主要测试基于Andriod的校园社交APP的功能,通过用例和预期结果对系统进行测试,包括测试结果。2系统开发环境Android系统是由google公司在2007年正式发布的。自Android问世以来,经过多代的发展,如今后占据全球市场份额大头I⁵。截止2021年,Android已开发至第12代版本。Android平台由操作系统、中间件、用户界面和应用软件四大部分组成6。主要使用java语言进行开发。在功能上拥有许多其他系统追赶不上的优势。例如:Android支持多任务的处理,用户可以方便Android系统架构如图2-1所示。AndroidRuntim图2-1系统架构Android的核心服务主要依赖于Linux2.6内核,例如安全性、内存容量管理、进程应用程序管添加了基于linux系统内核的一些驱动程序8。硬件抽象这一层通常处于应用程序的硬件框架抽象层和Linux内核软件驱动之间,用于将硬件抽象第三层:系统Native库和Android运行时环境它们通过Android的应用程序开发框架来帮助应用开发人员。开发者既同时可以直接通过调用库的JavaAPIFramework来完成整个原生库的全部应用程序开发用程序开发接□(ApplicationProgrammingInterface,API),,android本身所涉及自带的很多属于核心2.3MySQL数据库联网和现代信息安全技术的关系型企业数据库事务管理软件系统。MySQL数据库具有的一个最重要的数据库就变的更多元化、通用化、简单化、方便化。每个数据库都有其相应的接口,MyS6、可以支持世界上的多种语言,特别是对中文的支持,语言的广泛支持,从而达到在访问过程中不会出现乱码的现象。7、内部集成先进的类和方法,来快速的进行数据的处理。8、由于数据的种类,数据本身非常大,数据之间关系复杂,但是都可以存在一个大的数据库中。数据库应用(DBA)通过数据库管理系统(DBMS)访问数据库标准SQL语言通过各种ODBC驱动程序管理器翻译成对应数据库命令来访问各种数据库MyEclipse是一款功能性强大的集成性企业级开发软件,支持多种语言进行开发。在这款软件中,可以自动进行set和get方法的添加,也可自动生成构造函数,具有完备的调试、测试和发布功能,这极大的提高了开发者的开发效率。而与eclipse相比较来说,MyEclipse能通过一系列插件将功能进行扩展,因此也具备了更加强大的开发环境。他整合了Hibernate、Struts2和Spring的最新版本内容,使其更好地提高了SSH框架的使用体验。3系统分析3.1.1技术可行性分析本系统主要使用java语言进行开发,前台在AndrioidStudio软件中进行编程。Androidstudio性能3.1.2经济可行性分析3.2需求分析3.2.1功能需求分析本系统是一款基于大学校园的社交型APP,旨在帮助大学生更好的融入大学生活,拓宽自己的交时还要加入显示更多的状态,我选定的是每页显示10条状态,其他状态想要查看,就要到状态列表的可以在详细信息中根据自己是不是这一条二手信息发布者来选择是联系3.2.2性能需求分析关于本款社交软件,主要是作用于独立的大学校园,一个校园内人数有限,杜绝了同一时间上万个同时登陆的状况出现。所以软件几乎不可能出现瘫痪现象。且此款软件在后台运行时,会进行登出操作,很好的避免了资源被占用的问题,当你再一次切换回来,也会进行快速的登入,运行速度极快,带给用户高性能的体验。所以软件在稳定和速度上都有很好的保障性。3.2.3安全需求分析校园社交平台APP在运行过程中是具有强大的安全性的。主要原因是在Android平台上,每款软件都能够独立运行,Android将能自动将不同软件和进程进行资源隔离,这也就是Android所谓的“沙箱”机制。此款软件在默认的情况下不允许实现录入数据或者编写代码到其他程序中或自己读取的功能。同时,Android应用平台上的一些默认的程序功能也受到严苛规定。而Android在客户隐私问题上也存在一些保护机制,任何软件都需要事先向Android发送获取资源请求,只有经过用户批准后,应用才能获取相应的资源信息。4系统设计首先对软件主要用户进行调查,依据用户主要需求进行系统的分析。根据需求进行系统功能设计,划分系统模块并撰写好大概的系统设计书。然后进行软件的选择和数据库的设计。尽量选择安全稳定的开发软件进行编程,以期在软件正式推行时带给用户更好的体验。系统设计的主要流程如下:4.2系统功能模块设计校园生活大部分需求。具体功能模块如下图4-2所示。动态发布模块好友交流模块查看寻物消息发布寻物消息发布交易信息管理寻物消息查看交易信息联系失主好友私信查看状态联系卖家4.2.1用户注册模块为了使校园交友更加方便快捷,所有使用该软件的用户都需要进行注册来获取一个独特的账号信息,以达到识别身份作用,使线下的二手交易和寻物归还能有更高的安全性。其注册流程图如图4-3所开始开始点击注册按钮等信息完成注册否注册将账号信息存入用户表中结束判断数据库表中是否存在该账户4.2.2用户登陆模块主页,使用系统其他各类功能。登陆模块的具体流程图如4-3所示。开始开始码判断数据库中是否存在与其输入时是图4-3用户登陆流程图开始开始提示物品正在交易中或物品已交商品是否被购买联系电话结束消线下交易。交易流程图如图4-5所示。开始交易取消,商品转为出售中卖家点击商品信息是否确定线下交易是进行线下交易,等待买家确认收货买家确认收货,交易完成结束图4-5交易流程图该模块分为三个部分,分别为校园趣闻、社团活动与寻物启事。在该模块中可以看到他人发布的动态,对其发布的信息进行评论和点赞,也可直接添加他人为好友。在寻物启事部分,添加了电话联系这项功能,方便为失主提供失物信息。点击用户头像即可查看用户发布的所有动态。发布动态流程图如图4-6所示。开始开始钮是表按钮否一该模块分为好友列表和信息交流两个模块,在好友列表中可以进行好友删除、私聊好友以及查看动态操作。点击私聊按钮即可跳转私聊界面,进行发送信息、图片、表情包、语音等多种操作,尽享聊天交流乐趣。同时,在消息界面可以查看所有消息,有新消息时,会有红点来进行提示。好友删除流程图如图4-7所示。钮是图4-7好友删除流程图个人信息模块主要存放用户的所有信息,包括账号、姓名、性别、电话等。同时可以对自己的个人信息进行修改操作。修改密码流程图如图4-8所示。码是是图4-8密码修改流程图4.3.1概念结构设计本系统设有首页、订单、动态、好友、消息、我的共六个APP界面,针对这六个界面设计了8张(1)用户实体,其中属性包含了用户的id、账号、密码、手机号码、姓名、性别、头像,这些属性用于存放用户的基本信息,便于后续用户对自己的个人信息进行修改。实体图如图4-9所示。账号账号用户实体姓名性别手机号码密码头像出售价格,这些属性用于存放二手物品基本信息,以便后续对二手物品进行管理。实体图如图4-10所介绍商品ID所属用户名称介绍二手物品实体所属分类物品图片状态出售价格(3)订单实体,其中属性包含订单ID、物品ID、物品所属用户、申请用户ID、手机号码、姓名、订单进行管理。实体图如图4-11所示。姓名(4)收藏实体图,其中属性包含收藏ID、物品ID、收藏的用户ID。这些属性用于存放收藏的基本信息,便于后续用户对收藏夹进行管理。实体图如图4-12所示。收藏实体(5)动态实体图,其中属性包括动态ID、用户ID、动态照片、动态内容、发布时间、所属板块。这些属性用于存放动态的基本信息,便于后续用户对动态进行管理。实体图如图4-13所示。动态实体动态照片动态内容发布时间所属板块(6)动态点赞实体图,其中属性包括点赞ID、动态表ID、点赞的用户ID。这些属性用来存放点赞的基本信息。实体图如图4-14所示。点赞点赞ID动态表ID点赞实体(7)动态评论实体表,其中属性包括评论ID、动态表ID、评论的用户ID、发布内容、发布时间。这些属性用来存放用户评论的基本信息,便于后面用户对评论的管理。实体图如图4-15所示。评论实体评论的用户ID发布的内容好友实体4.3.2逻辑结构设计(1)用户信息表设计用户信息表用来存储所有注册过的用户信息,其中用户ID为主键,USER存在唯一,标识用户的身份信息。具体的设计如表4-1所示。名称数据类型长度允许空说明是否否否账号否否否否否否姓名否否性别否否头像(2)二手物品表设计只有在出售中才可以下单,当状态为交易中或已完成,表示物品已被他人购买,无法转入订单界面。具体的设计如表4-2所示。-2二手物品名称数据类型长度允许空说明是否否否所属用户否否名称否否介绍否否否否物品图片否否否否出售价格(3)订单表设计在订单表中,订单ID为主键,wid为外键,与二手物品表相连接。订单表用来存储已被申请线下交易的物品。同时还设有买卖家评价和打分系统,买卖家定评分。具体设计如表4-3所示。名称数据类型长度允许空说明是否否否否否物品所属用户否否申请用户id否否否否姓名否否否否买家打分否否否否买家评价否否(4)收藏表设计收藏表中主键为cid,储存点赞的基本信息,其中wid和uid均为外键。wid表明收藏的物品是啥,uid则表明是谁收藏了这个商品。具体设计如表4-4所示。名称数据类型长度允许空说明是否收藏id否否否否收藏的用户id(5)动态表设计动态表中主键为pid,用来储存用户发布的动态信息,其中uid为外键,用来表示是哪3代表寻物启事。具体设计如表4-5所示。-5动态信息表名称数据类型长度允许空说明是否否否否是动态图片否否否否发布时间2否否(6)点赞表设计点赞表中主键为zid,用来存储用户点赞信息,其中pid与uid均为外键,pid表示被点赞的动态是哪一条,uid指明是哪个用户为这条动态点赞的。具体设计如表4-6所示。表4-6点赞信息表名称数据类型长度允许空说明是否点赞id否否否否点赞的用户id(7)评论表设计评论表中主键为plid,用来存储评论的基本信息,其中pid和uid均为外键,pid表明被评论的动态是哪一条,uid表明是被哪个用户评论的。具体设计如表4-7所示。名称数据类型长度允许空说明是否否否否否否是否否发布的时间(8)好友表名称数据类型长度允许空说明是否否否否否5系统设计(1)系统环境:Windows10(4)数据库:MySQL(5)运行:手机模拟器5.2用户端设计5.2.1用户登陆设计用户输入账号密码后,点击登陆按钮,后台获取到用户输入的用户名和密码之后,与数据库的用户表进行比对,若用户名或密码输入错误,则无法登陆,反之登陆成功。核心代码如下:if(object.optString("code").equals("success")){Useru=newGson().fromJson(object.optString("data"),UsS.setBoolean(LoginActivity.this,"IogstartActivity(newIntent(LoginActivity.this,MaT.Show(LoginActivity.this,object.optStr5.2.2用户注册设计当用户还没有账号密码时,可点击登陆界面左下角进入注册界面,注册界面使用ScrollView控件实现视图的滚动。注册界面如下图5-2所示。用户输入账号、密码、姓名、手机号后,点击注册按钮,进行注册,后台获取到输入的账号后,与数据库进行比较,如果存在相同的账号,则提示用户名已存在,无法注册。反之,则注册成功,核心代码如下:HttpParamsparams=newHttpParams();Useru=newUser(-1,user,pswd,pparams.put("action","regApi.post(Ip.ips,params,newCallBackpublicvoidsuccess(JSONObjectT.Show(RegsterActivity.this,object.optString(T.Show(RegsterActivity.this,"没有连接上服务器");5.2.3发布商品功能设计用户登陆后进入首页,首页设置为二手商品界面,该界面中可查看到物品交易的状态,以及选择性查看物品。商品界面如下图5-3所示。首页首页书点击右上角加号,可进行商品的添加,需输入物品的名称、类型、介绍、金额,上传物品的图片才可成功发布二手货物。核心代码如下:et_fabu.setOnClickListener(newOnClickListener(){Stringmoney=et_money.gStringremark=et_remaT.Show(AddWupinActivity.this,"所填内容不能为空");T.Show(AddWupinActivity.this,"请添加商品照片");JT.Show(AddWupinActivity.this,object.optString(选择下单物品后,进入订单界面,在这里可以查看已经购买的物品以及自己挂出已被其他人购买的商品信息。订单界面如下图5-4、5-5所示。卖家姓名:张三卖家电话:12345收货人姓名:张三联系电话:12345价格:¥188元成功下单后,物品转入订单界面,同时向卖家申请线下交易。卖家也可在订单界面选择同意线下交易或者取消。核心代码如下:tv_shoucang=(TextView)findViewById(R.itv_shoucang.setOnClickListener(newViewT.show("物品交易中");T.show("物品已出售");}Viewview=getLayoutInflater().inflate(R.layout.edfinalEditTextel=(EditTefinalEditTexte3=(EditTee1.setSelection(user.getN//e2.setText(//e2.setSelection(user.getAddr().lengthe3.setSelection(user.getPhone.setPositiveButton("确定",newDialogInterface.OnClickListener({publicvoidonClick(DialogInterfacedialog,intwhich){name=e1.getText().toSphone=e3.getText().toStT.Show(WupinMsgActivity.this,"输入框的内容不能为空");}}).setNegativeButton("取消",null).show();一5.2.5发布动态设计动态详情动态详情丢了一双鞋暂无评论校园趣闻社团活动寻物启事(1)评(1)赞首页订单动态消息我的点击右上角加号可进行动态的添加,需选择动态的类型后,输入内容和图片,即可成功发布动态信息。具体实现代码如下。tv_fb=(TextView)findViewById(R.id.tv_fb.setOnClickListenerT.show("所填内容不能为空");}//T.Show(AddPostActivity.this,"请至少添加一张照片");sb.append(mImages.get}HttpParamsparams=newHttpParams();params.put("size",mlmages.sifor(inti=0;i<mlmages.ByteArrayOutputStreamstream=byte[]b=stream.toByteAStringfile=newString(Base64Coder.enparams.put("file"+iparams.put("filename"+i,mlmages.get(i).get}params.put("action","Postp=newPost(-1,user.getUid(),image,contApi.post(Ip.POST,params,newApi.CallBack(){其进行私聊或删除好友。好友界面如图5-8所示。我的好友我的好友点击用户头像后,可进行添加好友或在好友界面进行删除,核心代码如下。HttpParamsparams=newHttpParams();params.put("uid",user.geparams.put("fans_uid",S.getU(.geApi.post(Ip.ips,params,newApi.CallBacpublicvoidsuccess(JSONObjectif(object.optString("ctvGZ.setText("已成为好友");tvGZ.setText("添加好友");}//T.Show(UserCenterActivity.this,object.optStrinlpstmt=conn.prepareStatement("deletefromgzwhereui//TODOAuto-generatedcat}}息。聊天界面如下图5-9所示。可在私聊界面对好友发送文字信息、图片、语音、表情包等,主要运用了融云IM技术。核心代码如下:publicclassChatActivityextendsAppCompatActiprotectedvoidonCreate(BundlesavedInstsetContentView(R.laid=getIntent().getData().getQuConversationFragmentconversationFragment=newConversationFragment();FragmentManagermanager=getSupportFragmentMFragmentTransactiontransaction=transaction.replace(R.id.container,conversStringtitle=getIntent().getDa}findViewById(R.id.layout_back).setOnClickListener(newView.O点击我的按钮,可进入个人信息界面,在此可以查看到除密码外的所有信息,也可在此进行软件的登出。个人中心界面如下图5-10所示。姓名性别女>电话>好友消息我的protectedvoidonCreate(Busuper.onCreate(savedsetContentView(R.layout.activity_cyuan_password=user.getPswet_yuan_password=(EditText)findViewById(R.id.change_password_editText_et_new_password=(EditText)findViewById(R.id.change_password_editTextet_new_password_agaifindViewById(R.id.change_password_editText_new_pall_back=(LinearLayout)findViewById(R.id.l}tv_xg=(TextView)findViewById(R.id.ttv_xg.setOnClickListener(newOnClickListener(){Stringnewpassword_again=et_new_password_again.getText()Stringyuan=et_yuan_password.gif(!yuan_password.equals(yuan)){11各种判断Toast.makeText(ChangePasswordActivity.this,"原密码输入不正确",Toast.LENGTH_SHORT).shToast.makeText(ChangePasswordActivity.this,"新密码不能为空",Toast.LENGTH_SHORT).shif(!new_password.equaToast.makeText(ChangePasswordActivity.this,"两次密码输入不一致",Toast.LENGTH_SHORT).sh}user.setPswd(new_passHttpParamsparams=newHttpParams();params.put("uid",user.geparams.put("pswd",user.getApi.post(Ip.ips,params,newCallBack6系统测试统进行一次完整的性能测试,除了能检测系统编程过程中不能及时发现的Bug,也可以用来测试系统的6.2测试方法6.3测试用例6.3.1好友交流功能测

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论