FunAPP

Project Url: gdutxiaoxu/FunAPP
Introduction: 这是我自己动手开发的 APP,会逐渐完善
More: Author   ReportBugs   DemoAPK   
Tags:
FunAPP-

前言

这个 APP 现在只是一个简单的 Demo,还有许多地方需要优化,使用说明也还完善,以后会逐步更新,先凑合着看吧。

完成功能

  • 首页
  • 新闻
  • 美图
  • 设置

开源框架

  • 图片加载,使用了 Glide 和 Picasso,Picasso 和 Glide 的 用法 差不多,Glide 的用法可以参考
  • 网络框架的使用,使用了 retrofit 和 Rxjava,具体可以参考
  • 日志库的使用 Logger,进一步的封装
  • 下拉刷新,上拉加载更多的框架
  • datading 的 使用
  • 百度定位 SDK

技术点

  • MVP 架构模式的使用
  • BaseViewPagerFragment 和 BaseListFragment 的 封装使用
  • BaseMVPActivity 的封装使用
  • BaseReecyclerHolder 和 BaseRecyclerAdapter 的 封装使用
  • Fragemnt 与 Activity 的通讯 方式
  • Fragment 的懒加载
  • MaterailDesign 的设计与使用
  • CoodinatorLayout 的使用

数据来源

新闻

数据来源来自百度开源 API,主要 有关于世界 ,科技,体育的新闻

美图

数据来源于 TnGou(天狗网),


图片加载框架 Picasso 和 Glide 的使用

Glide 官方仓库

https://github.com/bumptech/glide

Glide 入门教程——4. 占位图& 淡入淡出动画

http://www.jianshu.com/p/15eaca9cb919

Glide 效果处理的仓库

https://github.com/wasabeef/glide-transformations

至于 Picasso 的 用法,可以参考

http://www.jianshu.com/p/976c86fa72bc?utm_campaign=haruki&utm_content=note&utm_medium=reader_share&utm_source=qq


Retrofit 的 用法

github 地址:

https://github.com/square/retrofit

官网文档说明

https://futurestud.io/tutorials/retrofit-optional-path-parameters

(1)retrofit 的入门使用

Retrofit 使用教程(一)- Retrofit 入门详解

RxJava 与 Retrofit 结合的最佳实践

http://gank.io/post/56e80c2c677659311bed9841

(2)进阶使用

Retrofit 请求数据对错误以及网络异常的处理

http://blog.csdn.net/jdsjlzx/article/details/51882661(Retrofit+RxJava 优雅的处理服务器返回异常、错误) (这个是拦截 Gson 处理)

Rx 处理服务器请求、缓存的完美封装

http://www.jianshu.com/p/cc064e3d5f21 这个实在 Rxjava 中处理

Rxjava+ReTrofit+okHttp 深入浅出-终极封装二(网络请求)

同时可以查看 该 博客 相关的链接


日志库 Logger 的使用

官方地址:https://github.com/orhanobut/logger

封装使用


下拉刷新,上拉加载更多的框架

我这里使用的是这个框架: https://github.com/bingoogolapple/BGARefreshLayout-Android


databing 的使用

1 添加依赖

android {
    dataBinding {
        enabled = true
}
}

2 使用

比较详细 https://realm.io/cn/news/data-binding-android-boyar-mount/

比较简单 https://www.aswifter.com/2015/07/11/android-data-binding-example/

<layout xmlns:android="http://schemas.android.com/apk/res/android"
>

    <data>

        <import type="android.view.View"/>
        <variable
name="chuanyue"
type="com.szl.mobileoa.main.chuanyue.ChuanyueFragment"/>

    </data>
中间添加我们的布局文件
</layout>

百度定位 sdk

http://lbsyun.baidu.com/index.php?title=android-locsdk


技术点

技术点

  • MVP 架构模式的使用
  • BaseViewPagerFragment 和 BaseListFragment 的 封装使用
  • BaseMVPActivity 的封装使用
  • BaseReecyclerHolder 和 BaseRecyclerAdapter 的 封装使用
  • Fragemnt 与 Activity 的通讯 方式
  • Fragment 的懒加载
  • MaterailDesign 的设计与使用
  • CoodinatorLayout 的使用

MVP

官方 github 地址: https://github.com/googlesamples/android-architecture

参考博客:MVC,MVP,MVVM 与架构经验谈

参考博客

MaterailDesign 的使用

https://github.com/Clans/FloatingActionButton


最后推销一下我的各篇博客地址:有兴趣的可以看看

2016 博客

常用的自定义 View 例子一(FlowLayout)

自定义 View 常用例子二(点击展开隐藏控件,九宫格图片控件)

常用的自定义 View 例子三(MultiInterfaceView 多界面处理)

常用的自定义控件四(QuickBarView)

转载请注明原博客地址:

使用 ViewDragHelper 打造属于自己的 DragLayout(抽屉开关 )

IntentService 使用及源码分析

HandlerThread 源码分析

AsyncTask 使用及封装实践

AsyncTask 源码分析

带你了解 Android 常见的内存缓存算法

装饰者模式及其应用

观察者设计模式 Vs 事件委托(java)

建造者模式(Builder)及其应用

ViewPager,ScrollView 嵌套 ViewPager 滑动冲突解决

android 监听网络状态的变化及实战

你真的了解 View 的坐标吗?:

16 年,平凡而又收获的一年


2017 博客

使用第三方框架解耦的一种思路——简单工厂模式的运用

AsyncTask 使用及封装实践

java Type 详解

java 反射机制详解

注解使用入门(一)

Android 自定义编译时注解 1 - 简单的例子

Apps
About Me
GitHub: Trinea
Facebook: Dev Tools