android轻量级本地数据存储的实现

android应用程序常用的本地数据存储一般用数据库和SharedPreferences,或者用文件系统缓存一些块状的数据如图片音视频等。 而SharedPreferences一般情况下只能存储一些基础数据类型的键值对,而本地存储存一些对象或者集合类的时候只能选择使用sqlite数据库。
对于上面这些情况确实可用满足我们的日常开发工作,但是对于存储一些少量的本地对象数据,如登陆人信息这样的,若采用SharedPreferences以键值对的形式存贮对象的各个属性则会显得非常繁琐,若使用数据库存储这个数据则会让代码显得非常臃肿。

给滚动列表项增加渐显载入动画

之前还在使用ListView作为展示列表数据的控件时尝试过给列表项增加载入动画,但是ListView是一个效果比较单一的控件, 在想要实现表格布局或者是瀑布流的载入动画的时候还要分别给GridView和瀑布流控件分别实现,这是比较麻烦的。
在之前的博客中提到过RecyclerView这个控件,这是在V7包中提供的一个功能非常强大而且扩展性非常强的一个控件, 用它可以实现列表、表格、瀑布流等效果,只需要指定不同的LayoutManager即可,具体的用法在之前的博客中已经记录过, 在这里就不再赘述。
今天记录的是给RecyclerView增加item的载入动画,这样在借助RecyclerView的特性下在不同效果的布局模式中就可以显示相同的效果, 而不用分别进行实现,下面是效果:

列表动画 grid动画 瀑布流动画

通过EventBus实现android各组件间数据通讯

EventBus就是publish/subscribe消息总线,主要功能是替代Intent,Handler,BroadCast在Fragment,Activity,Service,线程之间传递消息。
它的三要素:
Event:事件。可以是任何的对象。
Subscriber:事件订阅者,接收特定的事件。方法以onEvent**开头,一共有四个方法onEvent,onEventMainThread,onEventBackgroundThread,onEventAsync。它们之间的区别在于在不同的线程。等会会有一一举例。
Publisher:事件发布者,用于通知Subscriber有事件发生,可以在任何的地方发布事件。使用也是简单,只要调用post(Object)方法就可以了。

AndroidStudio-Kotlin插件安装配置及工程配置调整

Kotlin 是一个基于 JVM 的新的编程语言,由 JetBrains 开发。 Kotlin可以编译成Java字节码,也可以编译成JavaScript,方便在没有JVM的设备上运行。 JetBrains,作为目前广受欢迎的Java IDE IntelliJ 的提供商,在 Apache 许可下已经开源其Kotlin 编程语言。

总体说, 对于大部分普通程序员, 可算比较完美了(综合考量语言自身\平台及库\IDE等工具\背后支持公司). 目前主要风格还是偏OO, 如果可以再偏FP一点会更好. 像是一个Scala与C#的合体, 比Scala简单得多; 比C#更干净, 可谓是android平台的swift。 有关kotlin的优势这里久不一一列举了,下面记录下在使用AndroidStudio开发android应用程序或者使用intellij idea的情况如何使用kotlin

,