基于Android Studio实现的论坛网站Android客户端和JAVA EE后台

Hostess

发布日期: 2018-11-06 15:32:08 浏览量: 3268
评分:
star star star star star star star star star star
*转载请注明来自write-bug.com

第一章 概述

1.1 开发环境

本安卓程序在Windows 10系统下使用Android Studio开发,后台使用MyEclipse开发,测试环境为安卓系统5.1、4.4、4.3、5.0,屏幕尺寸5.0、5.1、5.5的安卓手机。

1.2 安装配置

本安卓程序要求安卓SDK为API level 15以上,target level为23,即,android 4.0.3到android 6.0。

1.3 需求分析

本程序为安卓APP开发项目,项目内容为IT主题的论坛开发。根据需求分析,需要一下功能:

  • 用户的登陆与注册功能

  • 用户权限包括管理员、版主、普通用户和游客身份登陆

  • 根据不同权限登录用户可以对帖子进行不同程度的管理,管理员可以查看、删除所有帖子,版主可以查看所有帖子、删除做属板块的帖子,普通用户和游客都只能查看帖子

  • 除了游客外所有用户都能发帖、回帖,游客不能发帖、回帖

  • 用户可以查看自己发的帖子并管理自己的帖子

第二章 程序概要设计

2.1 程序功能模块

本安卓程序分为登陆注册模块、查看帖子模块、删除帖子模块、回复帖子模块。

  • 登陆注册模块是程序的入口,如果已经登陆过了又没有退出登陆,就可以自动登陆,如果没有账号,可以游客登陆

  • 查看帖子模块可以根据板块选择性查看所有帖子,已注册用户可以查看自己的帖子,帖子信息包括标题、内容、时间等

  • 删除帖子模块包括管理员可以删除所有帖子,版主可以删除所属板块的帖子,所有用户可以删除自己的帖子,游客不能使用删除功能,程序根据登陆用户的权限自动显示是否可以使用

  • 回复帖子模块用于已注册用户对帖子的回复,游客不能回复帖子

2.2 流程图

2.3 程序文件结构分析

java文件夹下MyWork包内的java文件是每个布局对应的Activity,其中Circle是自定义的一个控件;control包下是两个适配器,包括主页面的适配器MainAdapter和回复页面的适配器LookAdapter,还有联网的工具类NetWord。

res资源文件夹下的layout布局资源文件包括各个Activity的布局和listview的自布局,其中tool_bar是ToolBar的布局。

menu文件夹下是两个ToolBar的菜单布局,values文件夹下使用到了strings文件和colors文件,特别的是attrs文件,这个是Circle自定义控件的配置文件。

2.4 数据库设计

本程序使用javaEE后台,数据库为sql server,包括card表、section表和userTable表,分别的字段如下:

  • card:id、nameId、contents、date、title、sectionId、replyId、isTop、topDate

  • section:id、name、host

  • userTable:id、username、password、power、pic

第三章 程序详细设计

3.1 关键代码分析

联网:使用java jdk自带的HttpURLConnection进行联网,并使用json进行数据传输。图3-1包括了链接网络的方法connect()、传参的输出流ObjectOutputStream,图3-2判断了状态码是否为200然后接收后台传过来的参数并处理返回,接收参数使用InputStream输入流。

自定义适配器:先写了继承BaseAdapter的适配器类,这个项目中使用了两个适配器,分别为MainAdapter、LookAdapter,作为主界面和回复节目的适配器。两个泪重写了getView方法,处理每个listview中每个item的布局,以显示每一个帖子。

侧滑菜单:在布局中使用DrawerLayout如图3-3,在Activity中使用ActionBarDrawerToggle作为侧滑开关,并实现开和关的监听,如图3-4。

界面返回刷新:使用Intent跳转时用startActivityForResult,并重写onActivityResult方法,如图3-5。

3.2 疑难问题解决

用户权限识别:在第一次登陆成功后将后台返回的用户信息存进SharedPreferences,后面根据从中取出来的权限信息进行判断,然后决定是否显示相应按钮。

第四章 程序的发布和测试

4.1 发布过程

安卓端的发布,将程序运行到手机,通过android studio的Logcat查看运行信息;

JavaEE端的发布,将程序部署到Tomcat,同样通过myeclipse的Logcat查看运行信息。

4.2 测试过程

图4-1为登陆界面,点击注册按钮到如图4-2的注册界面,注册成功后跳转回登陆界面登陆。

登录 注册

图4-3为管理员登陆的界面(还有打开侧滑菜单的状态),图4-4为版主和普通用户及游客登陆后的界面。

管理员登录 普通用户登录

图4-5为游客登陆的侧滑菜单界面,与其他用户是不同的,只有一个选项,当其他用户登录时,可以点击右上角的笔进入发帖节目,如图4-6。

侧滑菜单界面 发帖

第五章 分析与总结

5.1 优点

本安卓程序的优点在于界面简洁,有与服务器后台联系,交互友好,基础功能及部分拓展功能已经实现。

5.2 缺点

本安卓程序的缺点在于界面跳转仍有部分不流畅,因为代码效率问题有待改进,还有其他计划中的拓展功能由于时间关系还没实现。

5.3 总结

通过此次安卓大作业的开发,让我对安卓开发更加熟悉,对知识点的运用更加熟练,由于运用到了javaEE后台,使我对javaEE的熟练度也增加了。因为这次大作业的制作时间比较短,所以刺激了自己的潜力,锻炼了自己赶项目的感觉。

第六章 参考目录

[1] 《疯狂安卓讲义》 电子工业出版社 李刚 2015.8

[2] 《android应用开发学习手册》 清华大学出版社 管蕾 2015.7

上传的附件 cloud_download 基于Android Studio实现的论坛网站Android客户端.7z ( 5.27mb, 455次下载 )
error_outline 下载需要12点积分

keyboard_arrow_left上一篇 : 基于PHP和MYSQL数据库实现的网上图书管理系统 基于JSP实现的课程资源管理系统网站 : 下一篇keyboard_arrow_right



Hostess
2018-11-06 15:32:39
本安卓程序在Windows 10系统下使用Android Studio开发,后台使用MyEclipse开发
小白吧
2019-06-18 10:28:46
大神
Hostess
2019-06-18 10:55:16
数据库忘备份了,自己根据文档和代码自己手动建个数据库就行,才3张表而已~~
小号啦
2019-06-18 11:35:05
谢谢大神
西瓜籽0_0
2020-06-16 23:34:47
请问如何连接上数据库呢?handler一直返回4:连接错误,是由于没有连上数据库吗

发送私信

真正的离开没有告别,悄无声息

15
文章数
10
评论数
最近文章
eject