一款基于Google Material Design设计开发的Android客户端,包括新闻简读,图片浏览,视频爽看 ,音乐轻听以及二维码扫描五个子模块。项目采取的是MVP架构开发,由于还是摸索阶段,可能不是很规范。但基本上应该是这么个套路,至少我个人认为是这样的~恩,就是这样的!

介绍:

一款基于Google Material Design设计开发的Android客户端,包括新闻简读,图片浏览,视频爽看 ,音乐轻听以及二维码扫描五个子模块。项目采取的是MVP架构开发,由于还是摸索阶段,可能不是很规范。但基本上应该是这么个套路

运行效果:

使用说明:

模块分析

新闻简读

  • 介绍:API使用的是凤凰新闻客户端的接口,我只是简单的获取了新闻的列表和详情数据,由于api和凤凰新闻客户端完全一致,鉴于侵权问题我就不开源出来了。至于接口是如何获取的?Google,百度,调试获取日志,我能说的只有这么多。
  • 功能:列表页使用自定义的ListView(自动加载更多)显示新闻列表,详情使用的是WebView加载,支持滑动返回。对于多图 新闻的处理,使用的和主流新闻客户端类似,滑动切换多张图片,可双指缩放图片大小!

图片浏览

  • 介绍:API使用的是百度图片的搜索接口,由于网上有很多的开发者开源了这个接口,所以我也就放出来,如有侵权请及时告知。
  • 功能:列表页使用的瀑布流效果(增加了下拉刷新和上拉加载更多)详情页和列表页的切换增加了一个图片放大或缩小到指定位置的效果,图片也可以双指缩放!

视频爽看

  • 介绍:API使用的是优酷开放平台的SDK,不过要吐槽的一点是,优酷的SDK真心不好用,还是Eclipse版本的,我是一点点移植到Android Studio平台的,但是它的接口还是很丰富的,好好的利用一下,还是能够做出一个优秀的APP的。
  • 功能:列表页使用了Google的CardView,简单的获取了一些视频的基本数据。播放页使用了优酷提供的视频播放器组件,传入视频ID就可以播放视频了,只要调通了SDK,其他的都是一些简单的数据获取!

音乐轻听

  • 介绍:API获取的是豆瓣音乐的数据,由于也不是开放API,如有侵权请及时告知。
  • 功能:播放音乐的界面是我自定义的一个唱机的View,很多思路都是从网上学习借鉴过来的,自己重新造了个轮子。UI和网易云音乐对比的话,只能说是形似神不似了,没有人家做的细致!

二维码扫描

  • 介绍:这个完全是我自己单独开发的类库,之前也有开源出来,这次又再一次重构优化,后期会单独剥离二维码扫描模块,做成类库和Demo的形式,提供Android Studio版本。
  • 功能:扫描界面使用xml进行布局,然后加入属性动画。这样布局更具有优势,更利于多屏幕适配。解码模块使用的是两个主流的开源库Zbar和ZXing,进过多次测试发现,ZBar虽然扫描效率和速度高于ZXing,但是经常扫描出错误的信息,可能由于太灵敏的缘故把,综合二者的优缺点还是建议使用ZXing来解码,并且这个项目还在长期维护更新!

致谢

  • 苦于没有后台支持,找到这些支持JSON数据格式的开放接口可谓是煞费苦心,前前后后尝试了很多次才找到,也感谢网友们提供的接口!
  • 界面的原型都是我自己构思的,后期的切图美化主要是Chris帮忙完成的,很感谢他业余时间和我一起完成这样一个APP!
  • 项目中大量使用了Github上面优秀的开源项目,我会列举出来!其他一些代码片段就不一一致谢了,很感谢这些开放源码的技术大牛们,让我学到了很多!
  • 最后如果觉得我的项目对你有所帮助,请点击我的支付宝付款码请我喝杯咖啡把~当然我也希望你们能够多多fork,多多star,多多follow,这将给我更多的动力开源更多的项目!

开源项目说明

ButterKnife

AndroidTagGroup

NineOldAndroids

SystemBarTint

Android-Universal-Image-Loader

PhotoView

OkHttp

SmartTabLayout

SwipeBackLayout

ImageBlurring

PinterestLikeAdapterView

Material-Dialogs

EventBus

Gson

Volley

Umeng

Youku

SimplifyReader项目(转载)的更多相关文章

  1. Mui本地打包笔记(一)使用AndroidStudio运行项目 转载 https://blog.csdn.net/baidu_32377671/article/details/79632411

    转载 https://blog.csdn.net/baidu_32377671/article/details/79632411 使用AndroidStudio运行HBuilder本地打包的Mui项目 ...

  2. Android开源项目-转载

    一.视频播放 https://github.com/lipangit/JieCaoVideoPlayer 二.图片选择 https://github.com/pengjianbo/GalleryFin ...

  3. 图文详解远程部署ASP.NET MVC 5项目 [转载]

    话外篇: 由于感觉自己的机器比较慢,配置不好,所以最近想把之前的项目部署到实验室的服务器上,但是由于常不在实验室,所以在想能不能远程部署.因此今天专门研究了一下具体的过程,下面和大家分享一下.本人新手 ...

  4. IntelliJ IDEA新建JAVA WEB项目(转载)

    IntelliJ IDEA是java语言开发的集成环境,IntelliJ在业界被公认为最好的java开发工具之一,尤其在智能代码助手.代码自动提示.重构.J2EE支持.各类版本控制工具(git.svn ...

  5. 普通项目如何转换成Maven项目 --转载自百度知道

    右键普通Java项目,在弹出的菜单中选择[Configure]-[Convert to Maven Project]: 2 在弹出的对话框中输入项目的groupId, artifactId和versi ...

  6. PYTHON --WebAPP项目转载(廖雪峰) -- Day 1 -- 搭建开发环境

    Day 1 - 搭建开发环境   搭建开发环境 首先,确认系统安装的Python版本是3.5.x: $ python3 --version Python 3.5.1 然后,用pip安装开发Web Ap ...

  7. GitHub 优秀的 Android 开源项目(转)

    今天查找资源时看到的一篇文章,总结了很多实用资源,十分感谢原作者分享. 转自:http://blog.csdn.net/shulianghan/article/details/18046021 主要介 ...

  8. GitHub 优秀的 Android 开源项目

    转自:http://blog.csdn.net/shulianghan/article/details/18046021 主要介绍那些不错个性化的View,包括ListView.ActionBar.M ...

  9. 那些年不错的Android开源项目

    那些年不错的Android开源项目 转载自 eoe 那些年不错的Android开源项目-个性化控件篇 第一部分 个性化控件(View) 主要介绍那些不错个性化的View,包括ListView.Acti ...

随机推荐

  1. Asp.Net WebApi上传图片

    webapi using System; using System.Collections; using System.Collections.Generic; using System.Diagno ...

  2. Linux解压缩命令tar

    tar -c: 建立压缩档案-x:解压-t:查看内容-r:向压缩归档文件末尾追加文件-u:更新原压缩包中的文件 这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个.下面的 ...

  3. SpringBoot系统列 3 - 多线程数据处理(ThreadPoolTaskExecutor、DruidDataSource)

    在上篇文章的基础上进行改造: package com.hello.util; import org.slf4j.Logger; import org.slf4j.LoggerFactory; impo ...

  4. Webpack+Vue+ES6 前端组件化开发mobile-multi-page应用实战总结和踩坑

    本文版权归博客园和作者吴双本人共同所有 转载和爬虫请注明原文地址 www.cnblogs.com/tdws 一.写在前面 项目上线有一段时间了,一个基于webpack+vue+ES6的手机端多页面应用 ...

  5. iOS开发之--属性关键字以及set和get方法

    一.属性分为三大类 1.读写性控制 a.readOnly只读,只会生成get方法,不会生成set方法 b.readWrite可读可写,会生成set方法,也会生成get方法(默认设置) 2.setter ...

  6. 移动端网页 rem css书写

    移动端网页书写   css样式: @charset "utf-8";body,html{font-family: "微软雅黑";font-size:100px; ...

  7. nw.js---创建一个点击菜单

    使用nw.js创建一个可点击的菜单: <!doctype html> <html lang="en"> <head> <meta char ...

  8. NYOJ - 矩形嵌套(经典dp)

    矩形嵌套时间限制:3000 ms | 内存限制:65535 KB 描述 有n个矩形,每个矩形可以用a,b来描述,表示长和宽.矩形X(a,b)可以嵌套在矩形Y(c,d)中当且仅当a<c,b< ...

  9. git 彻底删除历史记录中的大文件

    Reference 大家一定遇到过在使用Git时,不小心将一个很大的文件添加到库中,即使删除,记录中还是保存了这个文件.以后不管是拷贝,还是push/pull都比较麻烦. === 删除大文件方法 方法 ...

  10. mac下supervisor安装及简单配置

    supervisor是一个用 Python 写的进程管理工具,可以很方便的用来启动.重启.关闭进程(守护进程).可以用他来管理自己的“服务程序”. 安装 首先安装Python,Mac系统好像自带. 执 ...