11 guolin

尚未进行身份认证

我要认证

每当你在感叹 如果有这样一个东西就好了的时候 请注意 其实这是你的机会

等级
TA的排名 79

Android数据库高手秘籍(十二),LitePal的索引功能

我发现今年我的技术产出真的是很不错,自从《第一行代码 第3版》出版之后,我空余出来了大量的时间,不仅频繁地更新和维护自己编写的开源库,还参加了多场GDG活动与大家分享技术。目前我手上正在维护的开源库主要是LitePal和PermissionX这两个,属于交叉维护的状态,升级完了这个就抓紧去写另外一个。其实今年我本来还准备再写一个新的开源项目,但是现在不知是否还能够抽出足够的时间,思路已完备,就是迟迟没动手。回到今天的主题,LitePal自上次3.1版本支持了事务之后,基本数据库该有的功能差不多都具备了,

2020-08-11 08:13:46

为什么说在Android中请求权限从来都不是一件简单的事情?

周末时间参加了东莞和深圳的两场GDG,因为都是线上参与,所以时间上并不赶,我只需要坐在家里等活动开始就行了。等待的时候一时兴起,突然想写一篇原创,聊一聊我自己在写Android权限请求代码时的一些技术心得。正如这篇文章标题所描述的一样,在Android中请求权限从来都不是一件简单的事情。为什么?我认为Google在设计运行时权限这块功能时,充分考虑了用户的使用体验,但是却没能充分考虑开发者

2020-07-28 07:27:35

PermissionX重磅更新,支持自定义权限提醒对话框

截至目前为止,PermissionX已经迭代更新了三个版本,而最新的1.3.0版本更是加入了非常重要的自定义权限提醒对话框的功能。如果你觉得之前PermissionX自带的权限提醒对话框太丑,从而无法投入正式的生产环境,那么这次你将可以充分发挥自己的UI实力,打造出一个漂亮的权限提醒界面

2020-07-21 07:14:34

PermissionX现在支持Java了!还有Android 11权限变更讲解

各位小伙伴们早上好,不知道你们有没有惊讶于我的速度,因为不久之前我才新发布的开源库PermissionX今天又更新了。是的,在不到一个月的时间里,PermissionX又迎来了一次重大的版本更新。如果你觉得一个月还不算快的话,可别忘了,两周之前我还发布了LitePal的新版本。对于我来说,这个速度已经是相当极限了。不过,可能还有不少朋友不知道PermissionX是什么,这里我给出上一篇文章的链接,还没看过的小伙伴先去补补课

2020-06-16 08:05:32

Android数据库高手秘籍(十一),LitePal支持事务功能了

LitePal内部的API在很早之前就支持了事务功能,因为要保证数据操作的原子性,不能出现部分成功部分失败的情况。然而,LitePal之前却从来没有提供过对外的事务接口,但是广大开发者却实实在在会有事务方面的需求。举个最常见的事务例子,你正在开发一个转账功能,需要先从一个账户中减去先一定的金额,然后向另一个账户中增加相同的金额。整套操作必须保证是原子性的,即要么同时成功,要么同时失败。如果部分成功的话,转账之后,账户的总金额就对不上了。为此,LitePal 3.1.0版本当中终于加入了事务接口的

2020-06-02 07:23:40

Android运行时权限终极方案,用PermissionX吧

没有人愿意编写处理Android运行时权限的代码,因为它真的太繁琐了。这是一项没有什么技术含量,但是你又不得不去处理的工作,因为不处理它程序就会崩溃。但如果处理起来比较简单也就算了,可事实上,Android提供给我们的运行时权限API并不友好。以一个拨打电话的功能为例,因为CALL_PHONE权限是危险权限,所以在我们除了要在AndroidManifest.xml中声明权限之外,还要在执行拨打电话操作之前进行运行时权限处理才行

2020-05-19 08:03:13

Android 10适配要点,深色主题

在不久之前,我才发布了一篇Android 10适配的文章,讲的是作用域存储的相关内容。而除了作用域存储之外,深色主题也是Android 10中的一大亮点,并且是需要开发者进行适配的。因此本篇文章我们就来探讨关于深色主题的内容。另外说明一下,本篇文章主要摘自《第一行代码——Android 第3版》的第14章,在此基础之上,我又扩展了一些内容

2020-05-12 22:17:58

什么?RecyclerView中获取点击位置的接口被废弃了?

什么?holder.adapterPosition被划线不推荐使用了?《第三行代码》这才刚刚出版,竟然就有API被弃用了,我决定对这个问题好好研究一下,并加急写一篇文章进行分析。仔细一看,holder.adapterPosition这不就是我们平时在RecyclerView里面用于获取点击位置的方法么,这个方法相信每个人都用过不下千百遍,怎么会被废弃呢?于是我到Android的官网去查了一下文档,果然,getAdapterPosition()方法被标记成了废弃:

2020-04-21 07:41:24

Android 10适配要点,作用域存储

距离Android 10系统正式发布已经过去大半年左右的时间了,你的应用程序已经对它进行适配了吗?在Android 10众多的行为变更当中,有一点是非常值得引起我们重视的,那就是作用域存储。这个新功能直接颠覆了长久以来我们一直惯用的外置存储空间的使用方式,因此大量App都将面临着较多代码模块的升级。然而,对于作用域存储这个新功能,官方的资料并不多,很多人也没有搞明白它的用法

2020-04-14 08:42:48

这本《第三行代码》,让大家久等了!

《第一行代码——Android》这本书自2014年出版以来,已经过了6个年头了。期间Android系统版本经历了4.0到10.0系统的巨大升级,开发技术也发生了翻天覆地的变化。在2016年的时候,我曾对书中的内容进行了大幅度的更新,出版了这本书的第2版,也就是所谓的《第二行代码》。而如今,再隔4年之久之后,《第三行代码》终于要以全新的面貌跟大家见面了。

2020-04-02 10:13:08

写一篇最好懂的HTTPS讲解

大家早上好,有段时间没更新文章了。其实疫情期间在家呆了一个多月的时间不能出门,时间倒是挺多的,我也利用这段时间写了几篇新文章。但由于新写的这些文章大都是配合着新书中的内容的,受疫情的影响我写的新书迟迟不能出版,导致这些文章也无法发布,等得我好是焦急。希望疫情早日结束,大家都能快点恢复到正常的生活当中。那么今天先发布一篇和Android无关的技术文章。https这项技术现在已经应用得非常广泛了。随着苹果、Google等各大互联网领头企业纷纷在自己的操作系统、浏览器等主流产品中强制要求使用https

2020-03-03 07:44:56

Kotlin vs Flutter,我到底应该怎么选?

在移动应用开发方面,Kotlin和Flutter是目前比较火热的两门技术。其中,Kotlin是由Jetbrains研发,后被Google大力扶持,Flutter则是由Google自己独立研发的。从目前Google官方的态度来看,这两门技术都被无限看好,Google也是在它们身上投入了大量的资源。但也正是由于Google的这种态度,导致很多开发者变得迷茫了:我到底是应该学习Kotlin还是Flutter呢?关于这个问题,我也是被问了无数次,但每次回答都只能简单回复几句,无法全面概括,可能也做不到直至要害。

2020-01-17 08:05:15

2019年终总结,所有的时间只为做好一件事

又到了一年的最后一天,按照往年的惯例,是时候该写一下今年的年终总结了。另外今年的元旦假期比较特殊,只放周三一天假,因此我们很快又会在2020年见面了。年终总结主要是回顾过去的一年主要做了哪些事情,那么这一年时间以来,对于我来说最重大的事情莫过于编写《第一行代码 第3版》了。其实在2018年的年终总结中,我就已经透漏过准备编写《第一行代码 第3版》的计划,但是当时整体的规划还在很早的阶段,因此没能跟大家透漏更多的内容。后来我跟图灵出版社又进行了一些目录和内容上的商定,最终在3月份的时候正式开始

2019-12-31 07:26:43

Android 9.0系统新特性,对刘海屏设备进行适配

其实Android 9.0系统已经是去年推出的“老”系统了,这个系统中新增了一个比较重要的特性,就是对刘海屏设备进行了支持。一直以来我也都有打算针对这个新特性好好地写一篇文章,但是为什么直到拖到了Android 10.0系统都发布了才开始写这篇文章呢?当然,一是因为我这段时间确实比较忙,今年几乎绝大部分的业余时间都放到写新书上了。但是最主要的原因并不是这个,而是因为刘海屏设备的适配存在一定的特殊性

2019-11-26 08:05:40

华为方舟编译器官网正式上线,写一篇你应该知道的科普文章

8月31日,早上9点,华为方舟编译器官网就这么悄然上线了。网上甚至没有大面积的新闻报道,我是隔天才知道的这个消息。在今年4月份华为P30系列的发布会上,华为首次对外公开了正在自主研发一款开源的统一编程平台,可以大幅提升Android应用程序在手机上的运行效率,称之为方舟编译器,随即在业内引起了轰动。当初华为给出的预计时间是,方舟编译器将会在今年8月份开源编译框架代码,11月份开源完整的方舟编译器,那么终于在8月份的最后一天,华为完成了自己的承诺,上线了方舟编译器的官网。

2019-09-03 07:58:47

总是听到有人说AndroidX,到底什么是AndroidX?

本文同步发表于我的微信公众号,扫一扫文章底部的二维码或在微信搜索 郭霖 即可关注,每个工作日都有文章更新。Android技术迭代更新很快,各种新出的技术和名词也是层出不穷。不知从什么时候开始,总是会时不时听到AndroidX这个名词,这难道又是什么新出技术吗?相信有很多朋友也会存在这样的疑惑,那么今天我就来写一篇科普文章,向大学介绍AndroidX的前世今生。Android系统在刚刚面世的...

2019-08-26 08:06:59

看一看Facebook工程师是怎么评价《第一行代码》的

大家好,我是一名Facebook的工程师,同时也是《第一行代码——Android》的忠实读者。虽然我最近几年是在国外读书和工作的,但是和很多人一样,我也非常喜欢郭霖的博客以及他写的《第一行代码——Android》。事实上,这本书在我面试 Facebook 的时候给我提供了很大的帮助。为此,我专门为这本书写了这样一篇书评,同时也跟大家分享一下我自己的经历。我是谁?先来简单介绍一下我自己吧。...

2019-08-16 07:56:50

Kotlin的面向对象编程,深入讨论继承写法的问题

很多人可能都不知道,或者是已经忘记这件事了,但是我自己承诺过要写的东西,我是不会忘记的。记得是在去年十月份的时候,我在腾讯课堂做了一场线上直播课程,给大家讲解Kotlin的基础知识。不过当时我并没有做过提前试讲,只是在PPT上规划了一下大体内容,因此时间预估得非常不准确。本来计划是准备直播大概一个半小时,最后直播了三个小时还没讲完,因此为了赶时间不得不砍掉了一些本来要讲的内容。当时提到了一个Kotlin在继承时括号书写的问题,这部分内容比较有疑惑性,不太利于初学者理解。本来我是计划在直播时要

2019-05-20 08:55:57

一篇文章带你看遍Google I/O 2019大会

为期三天的Google I/O 2019大会终于在上周落下了帷幕,每年的Google I/O大会都可以说是一场全球的开发者盛宴。不过可惜的是,由于和美国存在时差,I/O大会的直播时间正好是我们这边的深夜,因此对于大多数的人来说可能都只能通过回放的方式来观看I/O大会。另外由于会议全程都是使用的英文,因此对于一些英文不太好的朋友观看起来可能也会比较吃力。因此今天我特意写了这样一篇文章来覆盖Google I/O 2019大会的全程重要内容,希望能给大家带来帮助。另外或许我也可能会将这类文章做成一个系列,每年

2019-05-13 07:21:24

分享一个我开发的MVVM架构的开源小项目

大家好,今天跟大家分享一个我编写的MVVM架构的开源小项目。话说这个小项目已经提前跟大家预热很久了,也是被不少朋友催了很多次。我之前在公众号里透漏过这个项目能够帮助大家更好地理解MVVM架构,当然我也希望确实如此。虽说这篇文章重点是向大家介绍这个开源小项目的,但是我并不希望就写得如此简单,我准备把它写成一篇干货文章。一切先从Jetpack说起

2019-03-01 07:56:31

查看更多

CSDN身份
  • 博客专家
勋章 我的勋章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 博客之星
    博客之星
    授予通过"CSDN博客之星评选"中脱颖而出的十大博客之星称号的用户。
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 学习力
    学习力
    《原力计划【第二季】》第一期主题勋章 ,第一期活动已经结束啦,小伙伴们可以去参加第二期打卡挑战活动获取更多勋章哦。
  • 原力新人
    原力新人
    在《原力计划【第二季】》打卡挑战活动中,成功参与本活动并发布一篇原创文章的博主,即可获得此勋章。
  • 分享宗师
    分享宗师
    成功上传21个资源即可获取