新年又一力作-搜杰新闻

前言

好久不更,近一个月各种事情纷纷扰扰,不过学习从未停止过,年前花了些时间筛选了上海的一些公司,近期稍作准备,准备去上海工作,体验一线城市的IT氛围,获得技术和人生的提升。Fighting!

下面谈谈新提交项目-搜杰新闻(SoldierNews)。

搜杰新闻客户端获取的是界面新闻的数据,只做了科技和娱乐版块。

一.具备功能

  • 科技新闻
  • 娱乐新闻
  • 清除缓存
  • 用户注册与登录

二.简单介绍

1.Material Design设计风格,Google原生控件,baas服务Bmob,给App加入了用户系统。

2.依赖库包括:

解析网页数据:Jsoup

轻量级的缓存框架:ASimpleCache

图片加载框架:universal-image-loader

非官方Android Volley库:android-volley

无限循环滑动的 ViewPager :InfiniteViewPager

三.要点提及

1.Toolbar+DrawerLayout

2.主要内容RecyclerView

  • 主要内容显示用的是RecyclerView,需导入v7包下的recyclerview。
  • RecyclerView可以通过设置LayoutManager来快速实现listview、gridview和瀑布流的效果,官方自带了动画效果。
  • 在RecyclerView中标准化了ViewHolder,需要继承 RecyclerView.ViewHolder。
  • RecyclerView没有提供点击监听,需要在自定义Adapter中自己实现。在Adapter中,加载布局用到的CardView,是Google官方实现的卡片式的库,每一个item外面都套着一个卡片,使布局清晰美观。

3.加载数据

  • 加载数据主要用了Jsoup解析,此为该客户端的核心所在,Jsoup解析可以解析网页代码,提取想要的数据。学习使用Jsoup-Jsoup Cookbook(中文版)
  • 加载数据采用回调的方式,把Volley获取的网页源代码传到NewsBiz中解析,这样可以自定义解析成功或失败后的处理。
  • Jsoup解析的select()方法挺好用的,但是也要一点点测试,可能是使用不熟练,解析出我要的数据还是颇费些时间的。需注意的是,每一条数据要找到外层嵌套标签的类,然后获取其中的数据,且要用for循环,new对象要在for循环内,保证数据添加到同一对象内。
  • 加载图片用到了universal-image-loader

4.清除缓存与用户注册登录

  • 通过ASimpleCache对数据进行缓存,清除缓存的操作引入了别人写的一些类。

  • 用户的注册登录使用了Bmob,实现起来非常简单。

5.当前初步提交,仍有好些功能需要继续完善,仅作学习用。另外,值得注意的是,使用Jsoup解析,别人官方更改代码,也要随之更改。

四.项目地址

My GitHub : https://github.com/Iamasoldier6/SoldierNews/-搜杰新闻(SoldierNews)。

Welcome to star and fork it!

原文地址:https://www.cnblogs.com/Iamasoldier6/p/5193893.html