有些功能还没实现

源码今天起不再免费提供,评论区有联系方式

目录

一. 题目及要求 2

二. 功能设计 3

三. 详细设计 3

1. 启动页面 3

1)页面显示完跳转 3

2) 启动页面图片全屏化 3

2. 主页面 4

1)左滑菜单 4

2)新闻标题页 4

3. 数据解析 7

1) gson以及okhttp 7

2) gson解析 7

4. 新闻详情页面 8

1)webView 8

2)响应过程 8

四. 心得体会与总结 9

要求实现一个包含体育、财经、娱乐、科技等多个新闻版块的新闻客户端,可以对新闻进行查看,要求通过网络接口,或者自己搭建的后台进行数据获取最新的新闻,进行更新

  • 包含一个开机页面,显示广告或者推荐的内容
  • 用户登录,查看,修改自己的信息
  • 用户通过菜单对不同种类的新闻进行选择,浏览
  • 点击新闻标题,进行对应新闻的详细内容查看
  • 对新闻进行点赞,评论
  1. 启动页面

1)页面显示完跳转

创建一个loadActivity,作为开机页面的活动,开启线程,等待三秒,然后通过

Intent intent=new(loadActivity.this,MainActivty.class);

startActivity(intent);

跳转到主页面,即MainActivity

  1. 启动页面图片全屏化

判断标题栏是否存在,如果存在,就隐藏,同时,在loadActivity的页面布局文件中设置图片属性为fix=”XY”,即向四周扩展

  1. 主页面

主页面主要由DrawerLayout构成,里面包含了NavigationView(主要用于实现左侧滑动菜单的实现),和主页面布局CoordinatorLayout

1)左滑菜单

左滑菜单包含了各类新闻,通过点击对应的新闻版块来刷新内容,主要有menu实现新闻菜单,点击完,左菜单消失,主页面进行刷新,并且将标题栏改为对应的新闻版块标题

2)新闻标题页

新闻列表由ListView+SwipeRefreshLayout+返回顶部按钮组成,ListView中包含了三个TextView以及一个imageView,分别用于新闻标题,新闻来源,新闻时间,以及新闻图片

(1)SwipeRefreshLayout控件

当ListView位于最顶端时,通过手势向下滑动,便可实现刷新,更新数据

(2)ListView以及对应的适配器titleAdapter

ListView布局如下:

Title类:包含新闻标题,新闻地址,新闻图片地址以及新闻来源

TitleAdapter:用于ListView,进行填充数据

  1. 返回顶部按钮

我们有时新闻比较多,看到后面想返回顶部的时候很麻烦,这个时候只需添加一个顶部按钮,设置监听事件

listView.smoothScrollToPositionFromTop(0,0);将ListView的位置设置为0,即可实现秒回列表顶部

  1. 数据解析

采用okhttp进行数据获取,然后用gson进行解析,解析成newList对象

  1. gson以及okhttp

已经封装成工具类存放在util包中,方便调用

  1. gson解析

新建一个gson对象

Gson gson = new Gson();

将json数据requestText转换为NewList对象
return gson.fromJson(requestText, NewsList.class);

NewList类如下:

public class NewsList {
    public int code;
    public String msg;
    @SerializedName("newslist")
    public List<News> newsList ;
}

其中NewList还包含了一个News类型的列表List<News> newsList

News类如下:

public class News {
    public String time;//新闻时间
    public String title;//新闻标题
    public String description;//新闻来源
    public String picUrl;//新闻图片地址
    public String url;//新闻网页地址
}

  1. 新闻详情页面

通过传进来的地址,使用webView打开相应的网页

1)webView

Android提供的一个网页解析组件,让我们可以不用打开浏览器就能浏览相应的页面

2)响应过程

在主页面的ListView中设置点击事件,点击时,获取对应的新闻的网页地址,通过intent.putExtra()将地址传到contentActivity,即新闻详情页,在contentAtivity中通过getintent().getStringExtra()得到链接地址,使用webView.loadurl()进行加载

android新闻客户端(有源码)相关推荐

  1. android 仿网易新闻客户端源码都有

    原文:android 仿网易新闻客户端源码都有 android 仿网易新闻服务端源码 源代码下载地址: http://www.zuidaima.com/share/1550463560944640.h ...

  2. Android新闻客户端实训-Day1类Day2接口基操

    结束了一些事情,本以为可以好好玩一段时间,结果紧接着又来了Android实训,因为这个实训已经开了一段时间了,我中途加入已经不赶趟了,但出于兴趣,准备今天开始跟着老师的笔记的源码从头开始自己摸索着学一 ...

  3. android新闻客户端报告,简易的Android新闻客户端

    学完Android基础之后不知道该怎么办?现在开始实战吧! 现在来看看一款简易的Android新闻客户端是怎么做的,当然,获取网络数据的这一部分我是使用别人做好的本地客户端,然后通过组建本地数据库来使 ...

  4. android 新闻频道,GitHub - xiyy/TopNews: 一款Android新闻客户端,并提供电视台直播功能...

    TopNews 一款Android新闻客户端,独立开发完成,主要功能包括: 1 新闻频道分类,头条.社会.国内.娱乐.体育.军事.科技.财经.时尚 使用ViewPager+FragmentPagerA ...

  5. android新闻客户端发展趋势,基于Android平台的新闻客户端设计与实现

    杨苏雯 摘 要 在Android开发平台上,并在JavaWeb开发的PC端新闻网站的基础上结合现在的需求开发了移动版的新闻客户端App,这个系统设计主要分为用户登录验证模块.新闻列表的显示功能模块以及 ...

  6. android新闻客户端实验报告,基于Android平台的新闻客户端设计与实现

    摘 要 在Android开发平台上,并在JavaWeb开发的PC端新闻网站的基础上结合现在的需求开发了移动版的新闻客户端App,这个系统设计主要分为用户登录验证模块.新闻列表的显示功能模块以及新闻内容 ...

  7. android新闻客户端的实现

    制作一个基于聚合新闻数据简单的新闻APP 制作简易新闻App 导航篇 [1.使用Fragment+ViewPager +TabLayout自制简易新闻 app主要框架(一)](https://blog ...

  8. 高仿it之家新闻客户端源码

    仿it之家新闻客户端界面,数据为本地假数据.仅实现了新闻模块的功能. 源码下载:http://code.662p.com/list/11_1.html 详细说明:http://android.662p ...

  9. android新闻客户端实验报告,Android 新闻客户端学习笔记

    学习了新闻客户端开发后,有很多是通用的,就把客户端用到的一些做个笔记,已备以后使用,主要用到的知识点有: 1.  Android网络编程 2.  Android中BaseAdapter的使用 3.   ...

最新文章

  1. HTTP协议无状态中的 状态 到底指的是什么?
  2. 为什么通常牛顿法比梯度下降法能更快的收敛
  3. 去中心化交易所前路明朗,基于EOS的去中心化交易所力拔头筹
  4. linux 启动程序-p,Linux应用程序开发笔记:配置linuxptp开机启动(ubuntu gPTP)
  5. hdu 4442 Physical Examination
  6. c语言数组电脑显示不出来,C语言有关结构数组的一个程序为什么运行什么结果都不显示?求助~...
  7. 函数式编程:如何高效简洁地对数据查询与变换
  8. Linux(五):Ubuntu 16.04 更改系统语言为简体中文(Chinese simplified)
  9. python json.dumps() 中文乱码问题
  10. [Liferay6.2]Liferay Dynamic Query API示例
  11. AD9833资料收集
  12. 写在今年(2022)清明节前
  13. 用python做乘法口诀表_如何用python编写乘法口诀表
  14. pb中数据窗口函数小结(转)
  15. 2022牛客多校J题 Serval and Essay
  16. 李宏毅《机器学习》笔记:3.误差分析和梯度下降
  17. 我读《格鲁夫给经理人的第一课》
  18. python刷B站播放量
  19. 用计算机用u盘怎么切换,u盘上的东西换个电脑就不见了怎么办啊
  20. ibm3630m4服务器装系统,ibm x3630m4安装Windows2008R2系统

热门文章

  1. opencv(十):vs2019+opencv4.1+ C++配置
  2. 求职-平安产险科技一二面
  3. 使用METIS软件包进行图划分
  4. jQuery实现ajax跨域请求
  5. 将list对象存储进redis中去
  6. 计算机专业名词TIME,date
  7. 项目管理方法工具总结—挣值分析
  8. hdu 5148Cities 树形dp
  9. Criterion 用法
  10. Canal 及canal.admin(v1.1.5)踩坑记录