Android
文章平均质量分 71
Vxiaocai
这个作者很懒,什么都没留下…
展开
-
写一个自己的下拉刷新组件
开发动机现在的APP里面十个有八个肯定会有下拉刷新组件,但是有的时候这些第三方Jar并不能满足我们的需求定制。我所在的项目就遇到了这种情况,需要在刷新成功后加一个停留动画,并且需要区分成功和失败,因为我们项目组是分模块的开发,同事采用了Hardcode的方式满足了自身的需求,但是其他模块都通用不了。所以,我决定自己写一个下拉刷新来替代原有的变成一个通用的BaseView。 下面,开始我们的表...原创 2018-01-26 14:57:25 · 1025 阅读 · 1 评论 -
Rxjava 2.0封装项目实例
简述现在的Android客户端项目中运用RxJava+Retrofit2基本上已经是主流了。RxJava的优点就不赘述了,对于RxJava还不熟悉的可以在CSDN多找找相关的文章,都写得很好。如果不对RxJava的Observer二次封装的话,每次新建订阅都要加线程切换,复写方法,比较繁琐。所以我们就有一个二次封装的需求。我将项目中我设计的封装分享出来,至于为什么要这么封装,我在源码里面...原创 2018-04-08 14:32:15 · 1260 阅读 · 0 评论 -
Path绘图之平滑曲线
效果图文章开头先放上效果图。 效果图中上面的阴影图是之前的文章 Path曲线下的阴影绘制效果图中这个平滑曲线的效果是我比较早之前项目中的一个需求,MPchart在这种需求下不仅不合适,反而还比较复杂,所以完全自定义了一个View。实现思路结构还是很清晰的。可以分成三个部分曲线Path画平滑曲线使用cubicTo方法,使用两个控制点,根据贝赛尔曲线原理可以画出原创 2018-02-05 15:26:49 · 1789 阅读 · 0 评论 -
ObjectBox[一] 特性
ObjectBox[一] 特性ObjectBox[二] 教程:如何开始使用ObjectBoxObjectBox[三] 教程:安装和基础ObjectBox[四] 数据库持久化之实体注解移动数据库需要具备如下特性:非常快:我们开发ObjectBox的目的就是为了提供高性能的数据库。经过测试,ObjectBox是世界上最快的移动数据库。下面是ObjectBox的具体特性。Object API: 没有行翻译 2017-11-23 16:46:57 · 4330 阅读 · 0 评论 -
ObjectBox[二] 教程:如何开始使用ObjectBox
ObjectBox[二] 教程:如何开始使用ObjectBoxObjectBox[一] 特性ObjectBox[三] 教程:安装和基础ObjectBox[四] 数据库持久化之实体注解ObjectBox[五] 基本操作:查询什么是ObjectBox?这是一个移动数据库,使对象持久性变得简单和快速。本教程在Github上提供的一个简单的ObjectBox示例项目。如果您已经了解了基本知识,则可以直接跳转翻译 2017-11-24 19:56:52 · 4893 阅读 · 1 评论 -
ObjectBox[三] 教程:安装和基础
ObjectBox[一] 特性ObjectBox[二] 教程:如何开始使用ObjectBoxObjectBox[四] 数据库持久化之实体注解ObjectBox[五]基本操作:查询ObjectBox[六]数据监听和RX(Data Observers and Reactive Extensions)ObjectBox[七] 支持LiveData(Android体系结构组件)ObjectBox[八] 关系翻译 2017-11-27 16:31:48 · 4961 阅读 · 0 评论 -
ObjectBox[四] 数据库持久化之实体注解
ObjectBox[一] 特性ObjectBox[二] 教程:如何开始使用ObjectBoxObjectBox[三] 教程:安装和基础ObjectBox是一个直接保存对象的数据库。为了清晰,我们有时会调用那些可持久化的对象实体。要让ObjectBox知道哪些类是实体,请向其添加注解。然后ObjectBox就可以自动生成持久化需要的代码。 下面是一个例子:@Entitypublic class U翻译 2017-11-28 22:52:40 · 4281 阅读 · 0 评论 -
ObjectBox[五]基本操作:查询
ObjectBox[一] 特性ObjectBox[二] 教程:如何开始使用ObjectBoxObjectBox[三] 教程:安装和基础ObjectBox[四] 数据库持久化之实体注解ObjectBox 查询结果返回符合用户定义条件的持久化对象,您可以使用QueryBuilder类来指定条件并创建查询对象。Query类将实际运行查询并返回匹配的对象。QueryBuilder你可以使用 QueryBui翻译 2017-11-29 14:17:13 · 11195 阅读 · 6 评论 -
ObjectBox[六]数据监听和RX(Data Observers and Reactive Extensions)
ObjectBox[一] 特性ObjectBox[二] 教程:如何开始使用ObjectBoxObjectBox[三] 教程:安装和基础ObjectBox[四] 数据库持久化之实体注解ObjectBox[五]基础知识:查询(私货:如果使用过Rxjava的话,这三种方式非常类似) 通过以下方式,ObjectBox可以让您的应用轻松应对数据变更:数据监听(data observers)Reactiv翻译 2017-11-30 20:09:25 · 3573 阅读 · 1 评论 -
ObjectBox[七] 支持LiveData(Android体系结构组件)
ObjectBox[一] 特性ObjectBox[二] 教程:如何开始使用ObjectBoxObjectBox[三] 教程:安装和基础ObjectBox[四] 数据库持久化之实体注解ObjectBox[五]基本操作:查询ObjectBox[六]数据监听和RX(Data Observers and Reactive Extensions)ObjectBox 1.2.0以后开始支持LiveData。De翻译 2017-11-30 20:41:29 · 2319 阅读 · 0 评论 -
ObjectBox[八] 关系
ObjectBox[一] 特性ObjectBox[二] 教程:如何开始使用ObjectBoxObjectBox[三] 教程:安装和基础ObjectBox[四] 数据库持久化之实体注解ObjectBox[五] 基本操作:查询ObjectBox[六] 数据监听和RX(Data Observers and Reactive Extensions)ObjectBox[七] 支持LiveData(Androi翻译 2017-12-01 16:23:21 · 5285 阅读 · 4 评论 -
ObjectBox[九] 数据模型变更
ObjectBox[一] 特性ObjectBox[二] 教程:如何开始使用ObjectBoxObjectBox[三] 教程:安装和基础ObjectBox[四] 数据库持久化之实体注解ObjectBox[五] 基本操作:查询ObjectBox[六] 数据监听和RX(Data Observers and Reactive Extensions)ObjectBox[七] 支持Li翻译 2017-12-05 14:24:07 · 4340 阅读 · 0 评论 -
ObjectBox[十] 自定义类型
ObjectBox[一] 特性ObjectBox[二] 教程:如何开始使用ObjectBoxObjectBox[三] 教程:安装和基础ObjectBox[四] 数据库持久化之实体注解ObjectBox[五] 基本操作:查询ObjectBox[六] 数据监听和RX(Data Observers and Reactive Extensions)ObjectBox[七] 支持LiveData(Androi翻译 2017-12-05 15:05:21 · 3481 阅读 · 0 评论 -
ObjectBox[十一] 事务
ObjectBox[一] 特性ObjectBox[二] 教程:如何开始使用ObjectBoxObjectBox[三] 教程:安装和基础ObjectBox[四] 数据库持久化之实体注解ObjectBox[五] 基本操作:查询ObjectBox[六] 数据监听和RX(Data Observers and Reactive Extensions)ObjectBox[七] 支持LiveData(Androi翻译 2017-12-06 16:09:59 · 2106 阅读 · 0 评论 -
ObjectBox[十二] Meta Model, IDs, and UIDs
和SQLite这样的关系数据库不同,ObjectBox不需要你创建数据库模型。这并不意味着ObjectBox没有模型。出于效率原因,ObjectBox管理存储数据的Meta Model。这个Meta Model实际上就是ObjectBox的模型。它包括已知的对象类型,包括所有属性,索引等。和关系数据库主要的区别是ObjectBox会自动的管理模型。在某些情况下,它需要你来维护。这就是为什么会有这篇文章。翻译 2017-12-07 17:10:42 · 1900 阅读 · 1 评论 -
ObjectBox[十三] 数据调试
ObjectBox[一] 特性ObjectBox[二] 教程:如何开始使用ObjectBoxObjectBox[三] 教程:安装和基础ObjectBox[四] 数据库持久化之实体注解ObjectBox[五] 基本操作:查询ObjectBox[六] 数据监听和RX(Data Observers and Reactive Extensions)ObjectBox[七] 支持LiveData(Androi翻译 2017-12-19 10:26:43 · 4004 阅读 · 0 评论 -
简单易用的仿 PreferenceActivity 的自定义Preference管理(支持服务器同步)
开发动机移动端的配置离不开SharePreference,如果我们直接操作SharePreference就需要重复写界面来管理,每次都要做重复的工作,很是麻烦。 想到了谷歌的原生PreferenceActivity,去看了PreferenceScreen相关的源码想把PreferenceScreen抽离出来作为单独的一个组件,可以随意的加入到任何界面中。几经努力后失败了,失败原因如下:原创 2018-01-11 14:41:08 · 345 阅读 · 0 评论 -
Path曲线下的阴影绘制
开发动机我们经常使用MPchart来绘制各种类型的图表,非常好用。可以设置各种各样的样式。但是有时候满足不了我们的需求或者我们需要绘制的曲线很简单但是MPchart jar包不小,所以我们需要自定义view自己来绘制Path实现。通过Path绘制曲线比较简单,但是Path下的阴影还没有去实现过。开发思路绘制曲线比较简单,Path有方法可以直接绘制: public void line原创 2018-01-17 14:49:43 · 4042 阅读 · 0 评论 -
融云SDK自定义聚合消息中心出坑实例
前言各位做APP社交模块的兄弟,你们还好吗?如果项目对社交的需求不强烈的话,我们使用融云的IMKit自带的聊天和消息中心代码毫无压力,但是如果消息中心有其他的需求的话。比如 其他模块的消息聚合到消息中心。(我的项目主要是这个) 升级提示消息等等 那么融云自身的ConversationListActivity就不能满足需求了。所以我们需要自己来做消息的聚合,这样对消息的...原创 2018-04-10 11:12:07 · 1312 阅读 · 0 评论