APP下载

新闻平台系统的设计与实现

2019-05-23高锦琳

电脑知识与技术 2019年8期
关键词:新闻客户端

高锦琳

摘要:移动设备由于其轻巧、容易携带、功能广泛等天生的优势备受欢迎,成为传媒新平台,新闻客户端也随之兴起,移动新闻端能够携带大量的信息资源,有助于新闻信息的传播,能够让用户在第一时间接收到来自全球各地的信息。本系统力求简洁明了并且容易操作和后期维护,在功能上很容易从界面了解到具体功能,结构清晰。

关键词:客户端;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=new HashMap();

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 = new HashMap();

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.

【通联编辑:张薇】

猜你喜欢

新闻客户端
县级台在突发事件报道中如何应用手机客户端
孵化垂直频道:新闻客户端新策略
基于Vanconnect的智能家居瘦客户端的设计与实现
解构口语化新闻的语言特征
客户端空间数据缓存策略