自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(1241)
  • 资源 (1)
  • 收藏
  • 关注

转载 小程序跳转页面并携带数据

页面跳转方法一:WXML页面实现1.<navigator url = "/pages/aaa/aaa">跳转到新页面</navigator>2.<navigator url = "/pages/aaa/aaa" open-type = "redirect">跳转到新页面</navigator>3.<navigator url = "...

2020-04-17 20:44:23 1202 1

转载 PhotoView的使用

前言PhotoView是一个常用的图片预览控件,主要用于Android中大图查看,例如结合ViePager完成朋友圈九宫格图片预览功能,前几天我写的ViewPager分页加载数据这篇博客,可以结合起来使用,PhotoView主要的功能有,图片手势缩放,旋转,相比ImageView,用户体验更好。今天我主要介绍两个PhotoView的框架,第一个是(https://github.com/ch...

2020-04-01 22:18:20 5855

转载 TabLayout+ViewPager+Fragment实现切页展示

写在前面目前大多数的APP都采用的是几个Tab标签以及多个界面滑动的形式来提供多层次的交互体验,最为常用的做法就是采用TabLayout+ViewPager+Fragment的方式,最近在公司项目中遇到类似的界面,也看了各个论坛很多份博客,但是发现都没有完全把这种方法的坑填完,因此写下这篇博客,一方面是对知识的总结,另一方面也能让其他开发者们少走一些弯路,博客内容主要分为四个章节:TabL...

2020-04-01 20:59:53 532

转载 Android 复杂的列表视图新写法 MultiType (v3.1.0 修订版)

前言MultiType 这个项目,至今 v3.1.0 稳定多时,考虑得非常多,但也做得非常克制。原则一直是 直观、灵活、可靠、简单纯粹(其中直观和灵活是非常看重的)。在开发我的 TimeMachine 时,我有一个复杂的聊天页面,于是我设计了我的类型池系统,它是完全解耦的,我能够轻松将它抽离出来分享,并给它取名为 MultiType.从前,比如我们写一个类似微博列表页面,这样的列表是十分...

2020-03-31 23:37:14 767

转载 TabLayout的用法进行总结和归纳

Google官方在14年Google I/O上推出了全新的设计语言——Material Design。一并推出了一系列实现Material Design效果的控件库——Android Design Support Library。其中,有TabLayout, NavigationView,Floating labels for editing text,Floating Action Button...

2020-03-31 18:06:11 262

转载 ActionBarDrawerToggle和ToolBar结合使用

首先来了解以下什么是ActionBarDrawerToggle,说起ActionBarDrawerToggle,必须还要提起一个控件--DrawerLayout。那DrawerLayout又是什么呢?看下图所示:如图所示,当手指从屏幕左侧向右滑动时,会有一个Layout布局从左侧滑出,DrawerLayout就是一个实现这个功能的UI控件,但是用脚后跟想一下也能猜到,对于DrawerLayo...

2020-03-31 17:47:47 832

转载 BottomNavigationView的基本使用

因为最近自己在写一个壁纸类的apk,需要底部的导航栏来配合fragment来使用,所以写个笔记供读者阅览。GIF.gif1.简介BottomNavigationView是一个底部导航栏控件,一般和fragment一起使用。2.导包 implementation 'com.android.support:design:27.1.1'但是这个要注意,这个27.1.1的...

2020-03-31 17:42:49 14712 2

转载 RecyclerView进阶:使用ItemTouchHelper实现拖拽和侧滑删除

前言现在RecyclerView的应用越来越广泛了,不同的应用场景需要其作出不同的改变。有时候我们可能需要实现侧滑删除的功能,比如知乎首页的侧滑删除,又或者长按Item进行拖动与其他Item进行位置的交换,但RecyclerView没有提供现成的API供我们操作,所幸SDK提供了ItemTouchHelper这样一个工具类帮助我们快速实现以上功能。不多说别的,我们来介绍一下ItemTouchHe...

2020-03-29 21:02:14 869 2

转载 RxBus 代替 EventBus 进行组件之间通讯

▲ 前言:事件总线的好处在于方便组件之间的交互,RxBus不是一个库,而是使用RxJava实现事件总线的一种思想。刚好项目中使用到了rxjava,相对于使用eventbus,使用rxbus来的更方便。▲ rxbus和eventbus相比较:RxJava 主要做异步、网络的数据处理,强大之处就是对数据的处理了,而对于处理完后的数据处理是一样的都是观察者模式来通知,也可以把 RxJava 进一...

2020-03-28 21:55:54 554

转载 ExoPlayer开发指南(官方文档翻译)

注意解决目前http直接发送请求失败的问题:(Cleartext HTTP traffic to xxx not permitted)https://blog.csdn.net/qq_32534441/article/details/103529449前言播放视频和音乐是Android开发中很常见的需求。 Android框架提供了MediaPlayer这个类,能够用最少代码实现多媒体播放...

2020-03-28 20:04:32 1535

转载 Cleartext HTTP traffic to xxx not permitted解决

问题:提示:net::ERR_CLEARTEXT_NOT_PERMITTED之前都是没问题的,又是什么问题呢?应该猜到是Android SDK升级造成的没错了,Stackoverflow看看,果不其然。从Android 9.0(API级别28)开始,默认情况下限制了明文流量的网络请求,对未加密流量不再信任,直接放弃请求,因此http的url均无法在webview中加载,https 不...

2020-03-28 19:47:23 4144

转载 RxPermissions

        做Android开发的同学应该都知道,Android6.0以后,权限系统有了很大的变化。危险权限,单纯在AndroidManifest中申请权限是没用的,需要动态的获取。今天,来介绍和总结一下RxPermissions的使用,轻轻松松地完成动态权限申请。一.RxPermissions的导入implementation 'com.githu...

2020-03-27 16:14:57 1114

转载 JiaoZiVideoPlayer

    饺子视频播放器的GitHub地址:https://github.com/lipangit/JiaoZiVideoPlayer。一.JiaoZiVideoPlayer的导入    支持导入jar包或者impletation的方式导入,推荐使用在线导入的方式。除非你工作电脑不允许使用外网,否则不建议使用jar包的形式导入。按照作者的说明,当前的预览版...

2020-03-27 16:10:34 1795

转载 RxBinding

        在学习了RxJava的使用后,我们已经对响应式编程有了一些了解。在此基础上,我们学习一下RxBinding的使用。什么是RxBinding?从字面上解释:以RxJava的方式去绑定UI事件。RxBinding是UI控件响应式编程框架。通过使用RxBinding,可以用RxJava的方式便捷的实现Android各种控件事件的监听。RxBind...

2020-03-27 16:04:27 538 1

转载 RxJava内存泄漏——(2)AutoDispose解决RxJava内存泄漏

概述在我文章解决RxJava内存泄漏(前篇):RxLifecycle详解及原理分析中,详细阐述了 如何通过使用 RxLifecycle 解决Android开发中RxJava的可能会导致的内存泄漏问题;RxLifecycle 内部的实现原理;在文章的最后,我提到了 AutoDispose 这个库,这个库同样可以解决Android生命周期组件导致的RxJava的内存泄漏情况。但是不得不考...

2020-03-27 15:11:03 927

转载 RxJava内存泄漏——(1)例子、RxLifecycle和引出AutoDispose

使用过Rxjava的小伙伴都知道,在使用RxJava时如果处理不当,很可能会产生内存泄漏的问题。我们使用rxjava最大的原因是响应式编程使我们的异步操作代码变得很优雅,在Android中,也使线程切换变得很简单,而产生内存泄漏的大部分原因都是在异步执行耗时操作时,我们关闭了Activity,但是由于rxjava仍然持有Activity的引用,导致Activity无法被内存回收。这样就造成了内存...

2020-03-27 15:07:21 434

转载 RecyclerView的好伴侣:详解DiffUtil

一 概述DiffUtil是support-v7:24.2.0中的新工具类,它用来比较两个数据集,寻找出旧数据集-》新数据集的最小变化量。 说到数据集,相信大家知道它是和谁相关的了,就是我的最爱,RecyclerView。 就我使用的这几天来看,它最大的用处就是在RecyclerView刷新时,不再无脑mAdapter.notifyDataSetChanged()。 以前无脑mAdapter...

2020-03-27 14:12:11 275

转载 最详细的图文教程帮你解决GitHub下载慢或下载失败问题

下载一个项目,想去GitHub上下载,结果下载速度居然只有几k,并且还老是下载失败。然后去百度解决办法,基本上都是让修改hosts文件,修改完成后发现效果并不明显,于是找到了另一种方法来高速下载GitHub上的项目。利用码云来克隆GitHub项目,操作简单而且有效,下面是图文详情:1、首先需要一个码云账户,如果你没有,这个是官网地址——https://gitee.com/ 。2、注册一...

2020-03-27 11:29:52 1160

转载 Android中架构模式——MVVM

MVVM(Model View ViewModel)如果说MVP是对MVC的进一步改进,那么MVVM则是思想的完全变革。它是将“数据模型数据双向绑定”的思想作为核心,因此在View和Model之间没有联系,通过ViewModel进行交互,而且Model和ViewModel之间的交互是双向的,因此视图的数据的变化会同时修改数据源,而数据源数据的变化也会立即反应到View上。结构如下图所示:...

2020-03-26 22:17:20 191

转载 Android中架构模式——MVP

MVP(Model View Presenter)作为MVC的演化,解决了MVC不少的缺点,对于Android来说,MVP的model层相对于MVC是一样的,而activity和fragment不再是controller层,而是纯粹的view层,所有关于用户事件的转发全部交由presenter层处理。下面还是让我们看图:从图中就可以看出,最明显的差别就是view层和model层不再相互可知...

2020-03-26 22:15:09 234

原创 Android中架构模式——MVC

参考:https://blog.csdn.net/chaoshenzhaoxichao/article/details/79871145Android当中的MVCM:数据库层,数据模型层,网络请求管理,数据存储类的东西,都可以属于M层,简单点理解就是数据层,或者叫基础层。V:这一层在Android当中其实是XML,也就是RES资源文件下的LAYOUT们。可不是ACTIVITY。C:这一层在...

2020-03-26 22:11:30 215

转载 Dagger2——(5)Scope注解的使用及源码分析

前言在上一篇文章Android 神兵利器Dagger2使用详解(三)MVP架构下的使用 中,我们以简单的案例对Dagger2依赖注入库在实际开发中的使用方法进行了学习。本文内容: 1.@Singleton 全局单例 注解的使用 2.自定义@Scope 局部单例 注解的使用 3.通过 源码分析 @Singleton和@Scope注解是 如何实现单例 的。一.@Singleto...

2020-03-26 18:10:33 226

转载 Dagger2——(4)MVP架构下的使用

前言在我的上一篇文章Android 神兵利器Dagger2使用详解(二)Module&Component源码分析 中,我们通过一点点分析@Module、@Inject以及@Component注解生成的源码,了解了Dagger2依赖注入魔法的根源: 1、 @Inject 注解构造 生成“大众”工厂类 或者 @Module +@Providers 提供注入“私有”工厂类 2、通过C...

2020-03-26 18:05:18 171

转载 Dagger2——(3)Module&Component源码分析

前言:各个组件的作用和互相的联系: @Inject : 注入,被注解的构造方法会自动编译生成一个Factory工厂类提供该类对象。 @Component: 注入器,类似快递员,作用是将产生的对象注入到需要对象的容器中,供容器使用。 @Module: 模块,类似快递箱子,在Component接口中通过@Component(modules = xxxx.class),将容器需要的...

2020-03-26 18:01:41 204

原创 Dagger2——(2)实现全局单例

@Single可以实现单例模式,但是是局部单例。因为@Single的范围取决于@Compenent,也就是注射器。而通常情况下只能创建多个@Component。所以需要采用别的方式。首先:@Singleton@Component(modules = ShangjiaModule.class)public interface Platform{ ZhaiNan waimai(); ...

2020-03-26 16:32:15 643

转载 Dagger2——(1)入门详解

Dagger2 确实比较难学,我想每个开发者学习的时候总是经历了一番痛苦的挣扎过程,于是就有了所谓的从入门到放弃之类的玩笑,当然不排除基础好的同学能够一眼看穿。本文的目的尝试用比较容易理解的角度去解释 Dagger2 这样东西。 Dagger2 是有门槛的,这样不同水平能力的开发者去学习这一块的时候,感受到的压力是不一样的。 我个人总结了大家在学习 Dagger2 时,为什么感觉难于理解的...

2020-03-25 22:31:39 348

转载 ButterKnife(黄油刀) 使用方法总结

前言: ButterKnife是一个专注于Android系统的View注入框架,以前总是要写很多findViewById来找到View对象,有了ButterKnife可以很轻松的省去这些步骤。是大神JakeWharton的力作,目前使用很广。最重要的一点,使用ButterKnife对性能基本没有损失,因为ButterKnife用到的注解并不是在运行时反射的,而是在编译的时候生成新的class。项...

2020-03-25 13:45:54 2287

原创 ButterKnife10.0.0环境搭建和插件使用

书上教程为:https://blog.csdn.net/anyong8888/article/details/101827415会报错:Error:android-apt plugin is incompatible with the Android Gradle plugin. Please use 'annotationProce解决:https://blog.csdn.net/l403...

2020-03-25 12:45:26 1244

原创 Rxjava2应用篇

https://www.jianshu.com/p/7474950af2df1. 单个网络请求数据并更新UI这个比较简单,整个流程大致是:1.通过Obsrvable.create方法,调用OkHttp网络请求2.通过map方法结合gson,将response转换为bean类3.通过onNext,解析bean中数据,并进行数据库存储4.调度线程5.通过subscribe,根据请求成功或...

2020-03-24 23:38:34 324

转载 这可能是最好的RxJava 2.x 入门教程

这可能是最好的 RxJava 2.x 入门教程(一)这可能是最好的 RxJava 2.x 入门教程(二)这可能是最好的 RxJava 2.x 入门教程(三)这可能是最好的 RxJava 2.x 入门教程(四)这可能是最好的 RxJava 2.x 入门教程(五)这可能是最好的 RxJava 2.x 入门教程(完结版)...

2020-03-23 19:54:42 212

转载 给初学者的 RxJava2.0 教程 (1-9)

https://juejin.im/user/573dba2171cfe448aa97b7b0/posts

2020-03-22 22:01:39 172

转载 RxJava2最全面、最详细的讲解(四)

一、概述RxJava2在第一篇文章作了详细的介绍,第二篇文章中讲解了RxJava的变换操作符,组合操作符,合并操作符;第三篇讲解了延迟、do相关、错误处理等操作符的使用,如果英文比较好而且有兴趣的可以到官网学习:ReactiveX的官方网站。下面开始继续讲解RxJava2的其他用法。(链接和源码在文章最后给出)二、过滤操作符1.filter()filter()对源Observable(被观...

2020-03-21 20:26:44 267

转载 RxJava2最全面、最详细的讲解(三)

一、概述RxJava如此受欢迎,是因为提供了丰富且功能强大的操作符,几乎能完成所有的功能需求。下面我们会继续学习其他操作符。RxJava2在第一篇文章作了详细的介绍,是一个基于事件流的异步操作库。第二篇文章中讲解了RxJava的变换操作符,组合操作符,合并操作符(链接和源码在文章最后给出);如果不了解Rxjava2可以参考下RxJava2最全面、最详细的讲解(一),如果英文比较好而且有兴趣的可以...

2020-03-21 20:24:56 510

转载 RxJava2最全面、最详细的讲解(二)

一、概述RxJava2在第一篇文章中基本用法作了详细的介绍,是一个基于事件流的异步操作库。相信大家对RxJava有了一定的理解,由于篇幅过长所以重新写了一篇,如果不了解Rxjava2可以参考下RxJava2最全面、最详细的讲解(一)。下面开始继续讲解RxJava2的其他用法。(源码和其他链接在文章最后给出)在使用前记得在build.gradle文件中添加依赖: implementati...

2020-03-21 20:23:20 1015

转载 Retrofit2详解和使用(三)——multpart多文件上传详解

可以先看看这个文章: Android Retrofit 实现(图文上传)文字(参数)和多张图片一起上传Retrofit2是目前很流行的android网络框架,运用注解和动态代理,极大的简化了网络请求的繁琐步骤,非常适合处理restfull网络请求。在项目中,经常需要上传文件到服务器,有时候是需要上传多个文件。网上文章基本都是单文件上传教程,这篇文章主要讲retrofit的多文件上传实现。 个...

2020-03-20 21:40:08 3135

转载 Retrofit2详解和使用(二)——实现(图文上传)文字(参数)和多张图片一起上传

背景在有心课堂《自己动手写HTTP框架》课程中有下列课程:自拍要发朋友圈如何实现 http://stay4it.com/course/4/learn#lesson/208通过自己写的HTTP框架实现将图片和文字等内容在一个接口中提交到服务器。无论哪种网络框架,都要遵守HTTP协议。下面我们简单了解下HTTP协议。HTTP协议其中HTTP协议版本有两种:HTTP1.0/HTTP1.1 可以...

2020-03-20 21:38:41 1407

转载 Retrofit2源码分析

一、概述    在了解Retrofit2源码架构之前先说明,本文默认读者对Retrofit2框架的使用有一定了解,除此之外还要先熟悉okhttp3框架和Java代理模式中的动态代理,不然后面咱们看Retrofit2源码时会很难理解:    Java代理模式    严格地说,Retrofit2并不是一个网络请求交易框架,它只是对网络请...

2020-03-20 21:02:42 231

转载 OkHttp3源码详细解析

OkHttp是一个非常优秀的网络请求框架,已被谷歌加入到Android的源码中。目前比较流行的Retrofit也是默认使用OkHttp的。所以OkHttp的源码是一个不容错过的学习资源,学习源码之前,务必熟练使用这个框架,否则就是跟自己过不去。use -> running source code -> reading & learning the source code.1...

2020-03-20 14:59:41 250

转载 OkHttp3 总结研究

OKhttp3 是最近比较主流的网络请求框架。面试中,常会问道你对okhttp3是否有深入的了解。在这篇文章我总结了下okhttp3的原理(非用法,用法自己百度就行),以及大神们根据源码分析OKhttp3比较好的文章。1.首先是大神们对OKhttp3的源码分析:(转载)Android OkHttp(三)源码解析:https://blog.csdn.net/zxw136511485/article/...

2020-03-20 14:43:41 375

转载 EventBus源码分析

前言EventBus是一种用于Android的发布/订阅事件总线。它有很多优点:简化应用组件间的通信;解耦事件的发送者和接收者;避免复杂和容易出错的依赖和生命周期的问题;很快,专门为高性能优化过等等。源码分析EventBus源码分析主要分为两个过程:订阅事件发布事件在分析订阅事件之前,我们先来分析一下与订阅事件相关的订阅者索引。订阅者索引默认情况下,EventBus使用Java...

2020-03-19 17:53:10 140

SpringCloud项目

SpringCloud课程项目

2019-01-11

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除