云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 基于Android的新闻客户端 - 毕业设计说明书

基于Android的新闻客户端 - 毕业设计说明书

  • 62 次阅读
  • 3 次下载
  • 2025/5/3 17:55:31

2016届毕业设计说明书

图3.2 显示新闻详细信息时序图

上面切换新闻上一条和下一条的两个按钮,在NewsDetailsActivity中通过id获取并设置OnClickListener点击响应事件,通过ViewFlipper的showPrevious()和showNext()方法来切换新闻的上一条和下一条。显示新闻分类的TextView,通过setText()来设置它的文本信息,其中信息通过新建Intent和Bundle对象,然后通过 bundle.getString()方法来获取前面传过来的新闻分类,并显示在TextView中。接着是显示新闻跟帖数的按钮在NewsDetailsActivity中通过id获取,并通过setText()方法来设置跟帖数,在setOnClickListener()方法中通过Intent来跳转到显示新闻评论信息的界面comments.xml。中间部分的ViewFlipper通过addView()方法将用来显示新闻详细信息的news_body.xml显示在ViewFlipper中,其中news_body.xml中最外层是一个ScrollView用来实现新闻信息的上下滑动,接下来是TextView用来显示新闻的标题,内容和来源。通过实现OnTouchListener接口来实现新闻的左右滑动,通过event.getX()来获取当前X值,通过按下时的X值和离开时的X值来判断是向左还是向右滑动,从而判断显示新闻的上一条还是下一条。接着是最下面的新闻跟帖部分,点击前的LinearLayout中包含一个ImageButton和一个ImageView用来显示评论,跟帖部分还有一个ImageButton用来实现新闻的收藏,点击后的

第 16 页 共 35 页

2016届毕业设计说明书

LinearLayout中包含EditText用于用户的信息的输入。通过定义InputMethodManager对象 并通过调用toggleSoftInput()方法来实现虚拟键盘的显示。 3.3 新闻跟帖显示模块

最上面是一个RelativeLayout,里面是一个TextView用来显示跟帖,还有一个Button按钮用于返回到新闻详细界面。中由一个ListView实现新闻评论信息的显示。

最上面的TextView通过android:text显示跟帖,Button按钮通setOnClickListener方法,并重写onClick()方法,在方法中finish()方法关闭当前Activity,返回到新闻详细界面。中间的ListView使用适配器模式,创建SimpleAdapter对象,并通过setAdapter()方法添加到ListView上。 3.4 后台管理功能模块的详细设计 3.4.1 用户登录模块

将用户信息封装到一个model文件夹下的user类,里面有用户名,密码等属性,用户进入登录界面login.jsp,通过输入用户名和密码,然后点击登录按钮,提交给loginservlet,然后通过request.getParameter()方法获取用户名和密码,通过调用userdao类下的userLogin()方法,然后在该方法中连接数据库,与数据库中的用户名匹配,如果匹配成功,则跳转到显示新闻信息的主界面。 3.4.2 新闻管理模块

将新闻信息封装到model文件夹下的new类,在项目主界面main.jsp中可以对新闻进行增删改查,四个方法都封装到newsDAO类中。当管理员查看新闻是,通过调用getSpecifyCategoryNews()方法,将从数据库获取的新闻信息保存到list中,然后遍历list对象,逐个把新闻信息显示到显示新闻信息default.jsp中的表格中。当用户删除新闻时,传过要删除的新闻编号nid,通过调用delete()方法,传入参数nid,操作数据库删除对应新闻,然后刷新页面。当管理员增加新闻按钮时,跳到添加新闻的界面add.jsp,输入需要的信息,点击添加按钮,提交给addServlet进行处理,调用newsDAO类中add()方法,操作数据库。管理员可以修改相应的新闻,进

第 17 页 共 35 页

2016届毕业设计说明书

入显示新闻详细界面newsshow.jsp,将需要修改的内容填好,点击修改按钮,提交给updateServlet处理,并完成对数据库的修改。 3.4.3 评论信息管理

由于评论是用户的想法,后台管理知对其进行查看和删除,本模块同样使用MVC模式,model中封装新闻评论,对新闻的操作封装到dao包中,jsp页面提交的信息由servlet处理,处理后跳转到相应的界面。 3.5 新闻客户端所用技术 3.5.1 JSON数据传输格式

JSON在本项目中用于与服务器进行数据之间传输的一种文本格式,由于它跨平台的特点,以及它的数据简单,通过名称与值来表示,其解析简单并且保存的数据类型广泛,可以是字符串,数值,对象等,同时是一种轻量级数据交换格式,因此多数数据传输都用JSON格式。

它以名称与值的结构表示,中间使用冒号分开,即key:value,key值用一个字符串,而value则可以是不同类型,例如:字符串,对象,布尔值等。其中的对象以{}来括起,每一个键值之间用逗号隔开。以下为获取新闻信息后的JSON数据格式:

3.5.2 异步加载新闻信息

第 18 页 共 35 页

2016届毕业设计说明书

通过异步加载数据可以使用户在加载更多新闻的同时阅读别的新闻,无需等待新闻的加载,给用户更好的体验,本项目中异步跟新通过继承AsyncTask,通过重写onPreExecute(),doInBackground(),onPostExecute()这三个方法。其中onPreExecute()方法中做一些准备事情,在异步加载真正执行前做一些工作,本项目主要执行隐藏刷新按钮,显示进度条,设置加载更多的文本信息。在doInBackground()中实现真正执行获取新闻信息的代码来获取新闻信息,本项目主要调用getSpeCateNews()方法来获取新闻信息。onPostExecute()中是完成doInBackground()后执行的,本项目主要根据是否加载成功显示相关的提示,显示刷新按钮,隐藏进度条,设置文本信息。

3.5.3 数据交互方式

用户登录,显示新闻信息,查看评论等都要与服务器进行数据的交互,本项目中通过get与post两种方式进行交互。get主要用于从数据库获取数据,返回对应的数据,post主要是进行用户登录的验证以及收藏新闻,返回相应的操作是否成功,只是简单的返回一种状态标识,本项目中主要用get方式。

get交互方式,通过传入url与对应的参数,创建HttpGet对象和httpClient对象,然后通过httpClient.execute()方法获取数据,定义HttpResponse对象用于保存结果。通过httpResponse.getEntity()来获取返回数据,并用 EntityUtils.toString()方法将获取的数据转换成字符串返回。Post交互方式,与get交互方式类似,对应创建httpPost对象。以下为get交互方式的主要实现代码:

第 19 页 共 35 页

  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

2016届毕业设计说明书 图3.2 显示新闻详细信息时序图 上面切换新闻上一条和下一条的两个按钮,在NewsDetailsActivity中通过id获取并设置OnClickListener点击响应事件,通过ViewFlipper的showPrevious()和showNext()方法来切换新闻的上一条和下一条。显示新闻分类的TextView,通过setText()来设置它的文本信息,其中信息通过新建Intent和Bundle对象,然后通过 bundle.getString()方法来获取前面传过来的新闻分类,并显示在TextView中。接着是显示新闻跟帖数的按钮在NewsDetailsActivity中通过id获取,并通过setText()方法来设置跟帖数,在setOnClickListener()方法中通过Intent来跳

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com