自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 资源 (7)
  • 问答 (1)
  • 收藏
  • 关注

原创 Kotlin 泛型中的 in 和 out

当我们在 Kotlin 中定义泛型时,我们会发现它需要使用到 in 和 out 两个关键字来定义。从形式上来讲,这是一种定义「逆变」和「协变」的方式。那啥叫逆变?啥叫协变?可以参考下维基百科的定义:协变与逆变in & out 怎么记?out(协变)如果泛型类只将泛型类型作为函数的返回(输出),那么使用 out:interface Production<out T> {...

2019-03-27 16:53:30 6721 2

原创 Pair 了解一下

介绍Pair 的字面意思是“一对”、“一双”,瞄一眼它的源码,果不其然,里面只有两个字段 first 与 second .public class Pair&lt;F, S&gt; { public final F first; public final S second; public Pair(F first, S second) { this.f...

2019-01-30 14:35:36 682

原创 Android Jetpack 之 LiveData

概述LiveData 是一个持有数据的类,它持有的数据是可以被观察者订阅的,当数据被修改时就会通知观察者。观察者可以是 Activity、Fragment、Service 等。LiveData 能够感知观察者的生命周期,只有当观察者处于激活状态(STARTED、RESUMED)才会接收到数据更新的通知,在未激活时会自动解注册观察者,以减少内存泄漏。使用 LiveData 保存数据时,由于数...

2018-11-25 23:37:43 284

原创 Android Jetpack 之 Lifecycle

前言在日常的开发中,我们通常需要在 Activity / Fragment 的生命周期方法中进行一些繁重的操作,这样使代码看起来十分臃肿。Lifecycle 的引入主要是用来管理和响应 Activity / Fragment 的生命周期的变化,帮助我们编写出更易于组织且通常更加轻量级的代码,让代码变得更易于维护。Lifecycle 是一个类,它持有 Activity / Fragment 生命...

2018-11-12 08:36:46 381

原创 Android Jetpack 之 ViewModel

前言在 Android 中,ViewModel 的作用就是在 UI 控制器( 如 Activity、Fragment)的生命周期中保存和管理 UI 相关的数据。ViewModel 保存的数据在配置更改(如屏幕旋转)后会依然存在,不会丢失。在屏幕旋转的时候,Activity 会重建,为了不让数据丢失,我们通常的做法是在 onSaveInstanceState() 方法中通过 bundle 保存数...

2018-10-27 14:49:48 444

原创 Kotlin 扩展函数 run , with , let , also 和 apply

函数定义与使用run()定义/** * Calls the specified function [block] and returns its result. */@kotlin.internal.InlineOnlypublic inline fun &lt;R&gt; run(block: () -&gt; R): R { contract { call...

2018-10-24 22:21:46 235

原创 Android 之 Activity

Activity正常生命周期流程Activity异常情况生命周期分析Activity生命周期附加说明configChanges属性的应用Activity启动模式四种加载模式LaunchMode附加说明Activity的FlagsIntentFilter的匹配规则action的匹配规则category的匹配规则data的匹配规则Activity正常生命周期流程...

2018-10-24 21:58:01 130

原创 Mock 测试

在开发过程中,前端和后端的工作通常都是并行的,要想有效地提高工作效率,后端的接口文档就显得特别重要。接口文档代表着一份请求/响应的契约书,简单地讲就是前端需要带什么样的数据过去?后端返回什么样的数据?有了接口文档,我们就清楚了与后端交互的数据结构,然后可以通过 Mock 模拟请求/响应的数据。这样可以在前后端互不干扰的情况下完成各自的工作,大大地提高了开发效率。以下简单介绍 Github 上...

2018-10-24 15:44:06 208

原创 Android 一个应用多个数据库

最近在做一个 IM 的项目,需要存储大量数据到本地数据库。考虑到同一台手机可能会被多个账号登录使用,为了提升数据库查询的效率,以分库的方式来存储不同账号的数据(使用用户账号来作为数据库名称)。以存储用户信息为例:先贴出使用代码:mUserDAO = new UserDAO(this, account); // 此处的 account 就是要操作的数据库名称mUserDAO.insert...

2018-10-24 15:32:02 3437 1

原创 Android 之 Fragment

产生原因Android 在 Android 3.0(API 级别 11)中引入了 Fragment(片段),主要是为了给大屏幕(如平板电脑)上更加动态和灵活的 UI 设计提供支持。由于平板电脑的屏幕比手机屏幕大得多,因此可用于组合和交换 UI 组件的空间更大。利用 Fragment 实现此类设计时,无需管理对视图层次结构的复杂更改。 通过将 Activity 布局分成 Fragment , 可以...

2018-10-24 14:17:31 393

韩顺平老师《一周学会Linux》

韩顺平老师主讲的《一周学会 Linux》实战视频,共 21 讲。

2019-04-17

effective-java 2

effective-java 第二版 ,mobi 版本可在 Kindle 上观看。

2018-01-20

Spring整合Hibernate

Spring整合Hibernate基于XML的例子,最简单的网上上书城例子。

2015-01-17

仿微信界面

这个源码是网上找的,然后我自己写了一遍学习下,项目内容没有改变,只是项目代码的结构我做了些修改。分享下,不用积分。

2015-01-15

仿微信导航页效果

仿微信导航页效果。这个代码按我自己的风格去写的。

2015-01-09

仿京东的一些界面

这是一个仿京东某些界面的项目,里面包含一些比较好看的界面设计,我们可以引入自己的项目中。

2014-12-29

Android日程管理项目主要界面

这是一个基于Android手机的日程管理项目的主要界面。运用的知识有android动画,SlidingMenu,PopupWindow等。项目结构清晰,代码有良好的注释,对初学者有很大的帮助。

2014-12-25

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

TA关注的人

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