新闻平台系统的设计与实现
2019-05-23高锦琳
高锦琳
摘要:移动设备由于其轻巧、容易携带、功能广泛等天生的优势备受欢迎,成为传媒新平台,新闻客户端也随之兴起,移动新闻端能够携带大量的信息资源,有助于新闻信息的传播,能够让用户在第一时间接收到来自全球各地的信息。本系统力求简洁明了并且容易操作和后期维护,在功能上很容易从界面了解到具体功能,结构清晰。
关键词:客户端;Android;新闻
中图分类号:TP311 文献标识码:A
文章编号:1009-3044(2019)08-0042-03
1 系统概述
作为一个新闻平台系统,在服务器端需完成如下几个具体的任务:
1)新闻分类:管理员进入该任务模块,有添加新闻、分类新闻、分类管理等子功能,添加过后的新闻会在新闻分类管理中出现,在新闻分类管理中,可以对新闻分类条目进行查看、修改和删除。
2)新闻管理: 管理员进入该任务模块,要有对新闻内容编辑等操作,比如删除和修改,并且能将该新闻转移到另外的分类中。
3)评价管理:评价管理是指用户对于之前发布过的新闻内容的一个评价,管理员能对其进行删除操作,如果有很多用户进行评论的话,要有查询功能,该查询可以是查询用户,也可以是查询新闻,该功能需要显示新闻标题、评价用户、评价内容、评价时间。
4)用户管理:用户管理是对注册过的用户信息的处理,要能删除某个用户或冻结某个用户。
客户端需实现如下几个具体任务:
1)获取新闻:服务器端发出的新闻需要客户端接收并在对应新闻分类处进行展示,实现获取服务器新闻。
2)登录注册:使用者首次使用该新闻平台时,需要先注册成为平台的合法用户,所以,需要根据注册页面的要求信息进入正确填入后,完成注册。接下来根据所填写的用户名和密码进行登录,正确登录后才能进行接下来的操作。
3)新闻评价:登录的用户可以对某个特定的新闻进行评价,评价后在我的评价栏目中可以看到并且用户自己可以删除,在管理员那边也可以看到该用户的评价并能删除。
4)新闻收藏:登录的用户可以对某个特定的新闻进行收藏操作,收藏后在我的收藏栏目中可以看到并且用户自己可以删除。
2 系统核心功能设计与实现
2.1 新闻分类管理
2.2 新闻评价管理
2.3 新闻管理
2.4 用户注册与登录
登录的核心代码如下:
//登录按钮响应函数
public void login_mobile_system(View v) {
String un = login_user_edit.getText().toString();
String pd = login_passwd_edit.getText().toString();
Map
ptr.put("un", un);
ptr.put("pd", pd);
String response = HttpUtil.sendRequest(HttpUtil.login, ptr);
if(response==null){
Toast.makeText(LoginActivity.this,"错误", Toast.LENGTH_LONG).show();
}else if("fail".equals(response)){
Toast.makeText(LoginActivity.this,"错误", Toast.LENGTH_LONG).show();
}else {
MYSharedPreferences = getSharedPreferences("SharedPreferences",
Context.MODE_PRIVATE);
mEditor = mSharedPreferences.edit();
mEditor.putString("un", un);
mEditor.commit();
Intent it=new Intent();
it.setClass(LoginActivity.this, MainActivity.class);
startActivityForResult(it, 1);
Toast.makeText(LoginActivity.this,"ok", Toast.LENGTH_LONG).show();
}
}
先通过String un = login_user_edit.getText().toString();String pd = login_passwd_edit.getText().toString();得到TextView中輸入的用户名和密码,将其保存在HashMap中以参数(键值对)的形式存在,然后通过String response = HttpUtil.sendRequest(HttpUtil.login, ptr),将HashMap中保存到的用户名和密码发送到服务器里进行处理;并且同时接受服务端返回的信息 response,并且此时也将用户名和密码信息通过sharedpreference保存在本地,当response==fail时登录失败,并且如果response==null则说明没有该用户信息,即该用户名没有注册,此时也是登录失败,否则将显示登录成功。
2.5 新闻收藏
核心代码如下:
void initData() {
list.clear();
Map
ptr.put("un", un);
String result = HttpUtil.sendRequest(HttpUtil.shoucanglist, ptr);
try {
JSONArray tables = new JSONArray(result);
for (int i = 0; i < tables.length(); i++) {
JSONObject obj_tmp = tables.getJSONObject(i);
Shoucang bean = new Shoucang();
bean.setId(obj_tmp.getInt("id"));
bean.setCtime(obj_tmp.getString("ctime"));
bean.setXid(obj_tmp.getString("xid"));
bean.setXtitle(obj_tmp.getString("xtitle"));
list.add(bean);
}
adapter.setLists(list);
adapter.notifyDataSetChanged();
}
首先通過HashMap中的存储信息拿到保存的用户数据,目的确定是哪个用户的收藏,然后得到新闻的对应数据,将其保存起来,并通知数据改变从而动态实现收藏列表的更新,最后发送http请求到服务器中将收藏内容添加到数据库,从而在页面也会有该收藏信息。
2.6 新闻评价
核心代码如下:
void initData() {
list.clear();
……
String result = HttpUtil.sendRequest(HttpUtil.pingjialist2, ptr);
try {
JSONArray tables = new JSONArray(result);
for (int i = 0; i < tables.length(); i++) {
JSONObject obj_tmp = tables.getJSONObject(i);
Pingjia bean = new Pingjia();
bean.setId(obj_tmp.getInt("id"));
bean.setCtime(obj_tmp.getString("ctime"));
bean.setXid(obj_tmp.getString("xid"));
bean.setXtitle(obj_tmp.getString("xtitle"));
bean.setPneirong(obj_tmp.getString("pneirong"));
bean.setUser(obj_tmp.getString("nichen"));
list.add(bean);
}
adapter.setLists(list);
adapter.notifyDataSetChanged();
}
用户评价时首先取出HashMap中的用户名数据,根据该数据进行对某个新闻评价的操作,包括id号、评价时间、标题id、评价内容、用户昵称,这些都将保存到集合中,然后将集合数据发送给服务器,该字段分别对应数据库中评价表的各个属性,最后通过适配器的设置数据变更提醒进行客户端的评价数据更新。
3 结束语
本文以Android为客户端,Web为服务器端设计并实现了新闻平台管理系统,在服务端,管理员页面采用动态网页制作技术,采用SSH框架和数据库MySQL。在客户端,使用安卓模拟器模拟实际的安卓手机来运行和测试程序,客户端和服务器端通过Http请求进行信息传递和数据传递。
参考文献:
[1] 盖索林. Android开发入门指南[M]. 2版.北京: 人民邮电出版社,2015.
[2] 靳岩,姚尚朗. Android 入门开发与实践[M]. 北京: 人民邮件出版社,2016.
[3] 李佐彬. Android开发入门与实战体验[M].北京: 机械工业出版社,2014.
[4] 伯内特,田俊静,张波,等. Android基础教程[M].3版.北京: 人民邮电出版社, 2010.
[5] Bruce Eckel. Thinking in Java[M]. Upper Saddle River, New Jersey, USA: Prentice Hall, 2015.
[6] 于志龙,郑名杰.Android SDK 开发范例大全[M].北京:人民邮电出版社, 2014.
[7] 凌方.基于Java的图书管理系统的设计与实现[J].计算机光盘软件与应用, 2014,21: 290+292.
[8] 傅志红,陈兴璐. 深入浅出Google Android [M]. 北京: 人民邮电出版社, 2014.
[9] 李亮. 基于Android系统的小型店铺辅助管理软件的设计[J]. 企业科技与发展, 2015(10): 48-50.
[10] DiMarzio. J F Android a programmer's Guide[M]. McGraw.Hill, 2016.
[11] 韩超,粱泉. Android 系统原理开发要点详解[M]. 北京: 电子工业出版社, 2015.
【通联编辑:张薇】