GithubHelp home page GithubHelp logo

guzhigang001 / bailan Goto Github PK

View Code? Open in Web Editor NEW
527.0 21.0 137.0 3.38 MB

基于retorfit2,Rxjva2,Okhttp3,Glide,Dagger2,GreenDAO等框架采用MVP架构的仿应用商店App

License: Apache License 2.0

Java 100.00%
retorfit2 rxjava2 glide okhttp3 greendao dagger2

bailan's Introduction

BaiLan

百篮应用市场。

注意

我已经将本应用用到的自定义View整理成了博客。请移步到我的博客,将会对你学习自定义View有很大帮助
同时项目中会在近期加入显示手机应用apk文件及安装,以及同步下载进度的功能。都会在博客中讲解。请大家多多关注

我的CSDN

我的简书


应用介绍

  • Android6.0运行时权限
  • RecycleView高级封装,万能RecycleView,试用90%以上布局
  • 通过高度计算设计沉浸式状态栏
  • 多种自定义控件(比如自定义轮播图,下载进度Progress,SubTabNavitagor,Flowlayout,阻尼会弹View,伸缩TextView等)
  • 功能强大,健壮,完善的网络请求库(基于Rxjava2,retrofit2,GreenDAO,Okhttp3的网络请求库,支持多文件下载,断网重新请求,Rxjava生命周期管理,缓存数据,断电续传,异常处理....)
  • 利用AIDL缓存清理
  • 观察者模式多页面下载进度同步
  • 自定义带进度WebView
  • 应用下载后自定义安装
  • 查找应用,卸载,安装
  • 所有应用数据缓存清理
  • 自定义Activity跳转动画
  • 阻尼回弹
  • 沉浸式状态栏
  • 根据数据请求结果动态更新界面
  • 自定义Activity切换动画  
  • ......

技术要点

  • retorfit2
  • Rxjava2
  • Degger2
  • GreenDAO
  • Okhttp3
  • butterknife
  • circleimageview
  • blankj

项目架构

  • Retorfit2+Rxjava2+Mvp+Dagger2架构开发多层封装,高度解耦

项目的演示:


1. 整体风格和个人页面

引导页与运行时权限

引导页与运行时权限

如果觉得还行,请给个star吧

2. 分类页

分类页.gif

加入阻尼回弹,搜索框动画,自定义webView等

3. 排行页

排行页.gif

多任务下载,自动安装

4. 管理页

管理页.gif

支持下拉刷新,上拉加载更多

5. 推荐页

推荐页.gif

自定义轮播图,支持滑动边界判断,加载更多

6. 应用详情页

应用详情页gif.gif

自定义选择框(SubTabNavigator)与Fragment联动,自定义TextView伸缩框等。

7. 我的

mine.png


项目细节概括图

百篮应用.png

很欣慰,当初写完的时候说把项目中的主要知识点写成博客,现在项目中80%以上的技术在我的博客中都有写出。相信即使和我一样的菜鸟也能掌握这个开源项目变成自己的

这个项目是我模仿已有的开源项目并完善与优化,虽然是自己从0写的,但是完全消化还差的很远在多任务下载还有些问题。后续会加入观察者模式使多页面下载进度同步。如果你拷贝后发现报错只需要把多任务下载取消,后续会解决这个BUG。


里面的控件和框架比较成熟,有需要的可以copy到自己的项目。想了解更多请留意我的博客,后续会把里面的自定义View和重点框架详细分析


当时看到了码云代码管理,好奇就在那里发布了,如果想看提交记录点这里

bailan's People

Contributors

guzhigang001 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bailan's Issues

虚拟导航栏问题

//当系统版本为4.4或者4.4以上时可以使用沉浸式状态栏
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
//透明状态栏
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
//透明导航栏
// getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
}

注释 getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION); 这行代码 否则 虚拟导航栏会覆盖应用 导致部分功能被遮挡 无法使用

crash

程序点击到排行那个fragment,在按返回键,直接崩了,nullpointer

接口数据来源?

RT,每次遇到学写或者仿写的个人开发者应用,都不由自主的问下这个问题……最关心的还是数据。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.