写在前面
上篇文章RxJava从放弃到入门(一):基础篇讲述的东西都是非常基础的东西,这一篇准备讲述以下一些东西:
创建Observable:
- just
- defer
操作符:
- map
RxJava我一直是很想用的,扔物线老师的文章我也看了一点,但是说实话,其中很多东西交错在一起,对于我来说有点难以理解。而且看很多文章总是看了前面忘后面,还有一些结合lambda讲的,说实话,我是懵逼的。在这里把我自己对于RxJava的一些理解,看到的一些好文记录下来。
Rx是一个函数库,让开发者可以利用可观察序列和LINQ风格查询操作符来编写异步和基于事件的程序。
好,对于C#不怎么了解的人一般不会知道LINQ是啥东东吧……这个介绍我们先选择略过。看看github上RxJava是怎样描述自己的。
** a library for composing asynchronous and event-based programs by using observable sequences. ** 一个在Java VM上使用可观测的序列来组成异步的、基于事件的程序的库。
懒加载就是当ViewPager和Fragment结合在一起使用时,Fragment呈现在用户面前时才加载数据,当其从未被呈现在用户面前时,不会执行加载数据的代码。这就是我所理解的懒加载。
ViewPager默认会预加载下一页,对于某些重量级的Fragment来说无疑会造成很大的开销,当然了,如果对于你来说这些开销是必要的,也不必无脑用懒加载。
很多时候我们都会将ViewPager和Fragment结合在一起使用,因为Android给我们提供了非常便利的FragmentPageAdapter,而这个adapter实现起来非常简单:
##写在前面##
最近新开了个项目,准备花点时间做一下,不过文也不能少,一周一篇是最起码的了。关于沉浸式状态栏,网上的教程应该是非常非常多的,那么我为什么还要发呢?很简单,有些东西我记不大住,所以都发到我的简书上,以后我就不用到处去找了,麻烦~
##自定义顶部布局的沉浸式状态栏##
什么叫自定义顶部布局呢?这个要首先解释一下,处于一些原因的考虑,有一些项目可能不愿意使用Toolbar或者ActionBar,进入Activity的第一件事情就是:
1 | requestWindowFeature(Window.FEATURE_NO_TITLE); |
或者
##写在前面##
又到了周末了,本来这周准备总结一下透明状态栏之类的东西……但是突然群里就吹起了MVP的牛,这让我这个MVC都只有小半桶水的人都不敢说话。但是程序员不会吹牛跟条咸鱼又有什么区别?
所以我毅然决然的打开了搜索引擎,利用我科学上网的本领搜集了一些MVP相关的文章,不过看完也没啥感觉是真的,果然对于coder来说talk is cheap果断撸code才是正道。好了,日常吹牛、唠嗑(1/1)。
##1、MVC与MVP##
对于Android开发者来说,MVC应该是比较熟悉的。首先我自制一副极简风格的MVC图来做说明。
###写在前面###
终于周末了,当我想要松懈一会去浪的时候,脑海中突然闪过了这个东西……
一图胜千言,日常唠嗑(1/1)。
###1 进入正题###
Android中自定义控件一直是一个比较难但又不得不面对的东西,虽然github+google能解决你的大部分需求,但是说实话,当一些bug发生在第三方控件上时,你仍然需要花费大量的时间去搞定。所以先了解一些和自定义相关的东西绝对是不亏的,话不多说,进入正题。
Android中自定义控件一般分以下三种:
##写在前面
最近感觉自己看了不少东西,不过在上班所以并没有很多的时间来写东西。我有一些半成品不过都不想发出来,毕竟缺少一点自己的东西在里面。好了日常唠嗑(1/1)。
##背景
前面也说了最近在上班,接触到的项目里用的都是被抛弃的httpclient,说实话这小项目我觉得我是有能力重构的。所以最近着手重构,重构之前首先选定要拿什么做。经过慎重的思考之后决定:项目尽量采用MVC的模式做,网络请求用okhttp(用hongyang封装的okhttp-utils),图片的处理和加载想采用glide,但是目前来看还有一些问题。好了背景介绍到这,下面说坑。
##坑
既然采用Okhttp来重写网络请求,我当然得挑几个出来跑一下试试。这一试问题就出来了,见下图:
####写在文集前面:####
这个新增的文集用来记录一些犯过的错,希望各位可以避免。以后可能会把自己遇到的坑慢慢补上来。
####进入正题####
最近有需求要用到地图,同学和我说高德地图社区都关了,他都换百度了……所以我果断……直接用百度地图吧。按照官方文档的步骤,一路下来都很简单。但是在使用官方示例demo的时候却碰到了如下的错误:
baidumapsdk.demo E/baidumapsdk: Authentication Error errorcode: 230 uid: -1 appid -1 msg: APP Scode码校验失败
首先我可以确认我包名是没有错的,而且我还进了gradle里看了下,确认都是一致的。那么问题一定时候出在SHA1上的了,但是讲道理我用你的demo我又没打包发布,用的肯定是debug.keystore吧……
今天关于是写ListView还是RecyclerView着实纠结了一会,毕竟这二者都很重要,不过最近做的东西里用的是RecyclerView,所以还是先写RecyclerView了,而且代码也撸好了。好了日常唠嗑(1/1),下面进入正题。
本文包含以下几个方面:
RecyclerView与ListView原理是类似的:都是仅仅维护少量的View并且可以展示大量的数据,不过RecyclerView相比ListView更加高级和灵活。RecyclerView本身只负责View的回收和复用,这从它名字本身也能看出一些端倪。既然RecyclerView只关心View的回收和复用,那么这玩意到底该怎么才能玩起来?