自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

郭霖的专栏

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

  • 博客(184)
  • 资源 (48)
  • 问答 (1)
  • 收藏
  • 关注

原创 Android图片加载框架最全解析(五),Glide强大的图片变换功能

大家好,又到了学习Glide的时间了。在前面四篇文章的当中,我们已经学习了Glide的基本用法、Glide的工作原理和执行流程、Glide的缓存机制、以及Glide的回调机制等内容。如果你能将前面的四篇文章都掌握好了,那么恭喜你,现在你已经是一名Glide好手了。不过Glide的这个框架的功能实在是太强大了,它所能做的事情远远不止于目前我们所学的这些。因此,今天我们就再来学习一个新的功能模块,并且是一个非常重要的模块

2017-08-29 07:50:56 52895 61

原创 Android图片加载框架最全解析(四),玩转Glide的回调与监听

大家好,今天我们继续学习Glide。在上一篇文章当中,我带着大家一起深入探究了Glide的缓存机制,我们不光掌握了Glide缓存的使用方法,还通过源码分析对缓存的工作原理进行了了解。今天是这个Glide系列的第四篇文章,我们又要选取一个新的功能模块开始学习了,那么就来研究一下Glide的回调和监听功能吧。今天的学习模式仍然是以基本用法和源码分析相结合的方式来进行的

2017-06-20 07:53:26 65389 84

原创 Android图片加载框架最全解析(三),深入探究Glide的缓存机制

Glide的缓存设计可以说是非常先进的,考虑的场景也很周全。在缓存这一功能上,Glide又将它分成了两个模块,一个是内存缓存,一个是硬盘缓存。这两个缓存模块的作用各不相同,内存缓存的主要作用是防止应用重复将图片数据读取到内存当中,而硬盘缓存的主要作用是防止应用重复从网络或其他地方重复下载和读取数据。内存缓存和硬盘缓存的相互结合才构成了Glide极佳的图片缓存效果,那么接下来我们就分别来分析一下这两种缓存的使用

2017-05-23 08:37:16 91902 129

原创 Android图片加载框架最全解析(二),从源码的角度理解Glide的执行流程

在多数情况下,我们想要在界面上加载并展示一张图片只需要一行代码就能实现。虽说只有这简简单单的一行代码,但大家可能不知道的是,Glide在背后帮我们默默执行了成吨的工作。这个形容词我想了很久,因为我觉得用非常多这个形容词不足以描述Glide背后的工作量,我查到的英文资料是用tons of

2017-04-18 07:51:05 159928 235

原创 Android图片加载框架最全解析(一),Glide的基本用法

转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/53759439 本文同步发表于我的微信公众号,扫一扫文章底部的二维码或在微信搜索 郭霖 即可关注,每天都有文章更新。现在Android上的图片加载框架非常成熟,从最早的老牌图片加载框架UniversalImageLoader,到后来Google推出的Volley,再到后

2017-03-21 08:03:11 199508 166

原创 Android新特性介绍,ConstraintLayout完全解析

今天给大家带来2017年的第一篇文章,这里先祝大家新年好。本篇文章的主题是ConstraintLayout。其实ConstraintLayout是Android Studio 2.2中主要的新增功能之一,也是Google在去年的I/O大会上重点宣传的一个功能。我们都知道,在传统的Android开发当中,界面基本都是靠编写XML代码完成的,虽然Android Studio也支持可视化的方式来编写界面,但是操作起来并

2017-02-03 09:14:39 407873 270

原创 2016年终总结,新的里程和新的开始

转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/52506273转眼之间,一年又过去了。按照往年的习惯,我都是在12月31号那天才写年终总结的,但今年的日子比较特殊,因为明天就要放假了,所以我只好提前一天来写今年的年终总结了。和去年不同,今年我可是忙了很多事情,比起去年的“无所事事”,今年也是充实了很多。想必大家也已经猜...

2016-12-30 08:11:14 26333 39

原创 谈一谈今年的移动互联网寒冬

虽说已经有近两个月的时间没写技术文章了,但是这次我仍然不打算写技术类的,因为我觉得本篇文章要比一篇单纯的技术文章更有价值。平时不管是在公众号、QQ群、还是博客里,我回答的问题主要是以技术类的居多,但是最近一段时间,有大量的朋友都在问我一些就业、成长、选择等等方面的问题。对于这些问题,一是我逐个回答太耗时间,二是我随口回答的内容难免考虑不周,因此我决定专门写一篇文章来分析一下当今的移动互联网行情,以及解答很多人心中所存

2016-12-20 09:10:07 61280 149

原创 历久而新,我的新书《第二行代码》已出版!

《第二行代码》中的内容我相信很多人都会非常感兴趣,因为里面确实加入了很多很新的知识。略粗概括一下的话,新增内容就包括有Android Studio、Gradle、Material Design、运行时权限、多窗口模式、RecyclerView、百分比布局、Lambda表达式、OkHttp、Doze模式等等,几乎囊括了Google近几年推出的所有热点技术。除此之外,还加入了几个比较完整的项目

2016-11-23 09:49:08 166238 842

原创 Android弹幕功能实现,模仿斗鱼直播的弹幕效果

大家好,感觉好像已经很久没更新博客了。前段时间主要是忙于新书的事情,时间比较紧张。而现在新书已经完稿,剩下的事情就都是出版社的工作了,那么我又可以抽出时间来写写博客了。记得之前有位朋友在我的公众号里问过我,像直播的那种弹幕功能该如何实现?如今直播行业确实是非常火爆啊,大大小小的公司都要涉足一下直播的领域,用斗鱼的话来讲,现在就是千播之战。而弹幕则无疑是直播功能当中最为重要的一个功能之一,那么今天,我就带着大

2016-10-18 08:01:32 92830 131

转载 Android状态栏微技巧,带你真正理解沉浸式模式

记得之前有朋友在留言里让我写一篇关于沉浸式状态栏的文章,正巧我确实有这个打算,那么本篇就给大家带来一次沉浸式状态栏的微技巧讲解。其实说到沉浸式状态栏这个名字我也是感到很无奈,真不知道这种叫法是谁先发起的。因为Android官方从来没有给出过沉浸式状态栏这样的命名,只有沉浸式模式(Immersive Mode)这种说法。而有些人在没有完全了解清楚沉浸模式到底是什么东西的情况下,就张冠李戴地认为一些系统提供的状态

2016-08-23 07:32:55 189106 234

原创 Android提醒微技巧,你真的了解Dialog、Toast和Snackbar吗?

Dialog和Toast所有人肯定都不会陌生的,这个我们平时用的实在是太多了。而Snackbar是Design Support库中提供的新控件,有些朋友可能已经用过了,有些朋友可能还没去了解。但是你真的知道什么时候应该使用Dialog,什么时候应该使用Toast,什么时候应该使用Snackbar吗?本篇文章中我们就来学习一下这三者使用的时机,另外还会介绍一些额外的技巧

2016-07-26 07:55:07 67141 90

原创 Android冷启动白屏解析,带你一步步分析和解决问题

关于首次启动程序白屏时间过长这个问题其实我早就发现了,而且有的时候白屏时间可以长达七八秒。这个问题已经是一个普遍存在的现象了,可能很多人对此都产生了疑惑。那么这里我就专门写一篇文章来为大家答疑解惑吧。另外,本篇文章也向大家展示了一个分析和解决问题的思路,希望大家以后遇到问题可以通过多思考和多动手实验来去尝试解决问题,而不是直接绕过问题

2016-06-28 08:52:07 59040 78

原创 Android Studio新功能解析,你真的了解Instant Run吗?

我们都知道,Android Studio功能非常强大,在各个功能性方面都要优于Eclipse,唯独在速度方面被吐糟得比较惨。Android Studio团队为此也是做了很多的优化,在Android Studio 2.0中,对速度方面进行了大幅度的改进

2016-06-02 09:04:15 73451 81

原创 Android通知栏微技巧,那些你所没关注过的小细节

对于通知栏的使用,Android各个版本其实都有比较大的调整,包括即将发布的Android 7.0版本,通知栏功能上又要有大动作。那么新版本的通知栏API无法兼容老系统这就会是一个很头疼的问题。为此Android在appcompat-v7库中提供了一个NotificationCompat类来处理新老版本的兼容问题,我们在编写通知功能时都使用NotificationCompat这个类来实现

2016-05-23 08:56:41 45412 74

原创 Android drawable微技巧,你所不知道的drawable的那些细节

大家都知道,在Android项目当中,drawable文件夹都是用来放置图片资源的,不管是jpg、png、还是9.png,都可以放在这里。除此之外,还有像selector这样的xml文件也是可以放在drawable文件夹下面的。但是如果你现在使用Android Studio来新建一个项目,你会发现有如下的目录结构:

2016-04-28 09:06:26 112318 200

原创 告别难记的长域名!我的博客全新短域名上线

翻阅了一下记录,我的第一篇文章是在2013年3月19号写的,如令一晃三年的时光过去了。很庆幸即使在三年后的今天我还能坚持写着博客,并且在短期可预见的时间里,我暂时还没有停更计划,未来会继续坚持给大家带来更多高质量的文章。我依稀还记得,2013年的五一假期,那个时候我去同学家里打游戏,顺便看了一下博客的访问量,刚好突然3000了!这对于当时我的来说是具有里程碑式的纪念意义的

2016-03-31 09:02:52 26046 57

原创 Android安全攻防战,反编译与混淆技术完全解析(下)

在上一篇文章当中,我们学习了Android程序反编译方面的知识,包括反编译代码、反编译资源、以及重新打包等内容。通过这些内容我们也能看出来,其实我们的程序并没有那么的安全。可能资源被反编译影响还不是很大,而重新打包又由于有签名的保护导致很难被盗版,但代码被反编译就有可能会泄漏核心技术了,因此一款安全性高的程序最起码要做到的一件事就是:对代码进行混淆。混淆代码并不是让代码无法被反编译,而是将代码中的类、方法、变量等信

2016-03-17 09:03:21 77076 165

原创 Android安全攻防战,反编译与混淆技术完全解析(上)

我们都知道,Android程序打完包之后得到的是一个APK文件,这个文件是可以直接安装到任何Android手机上的,我们反编译其实也就是对这个APK文件进行反编译。Android的反编译主要又分为两个部分,一个是对代码的反编译,一个是对资源的反编译,我们马上来逐个学习一下。 在开始学习之前,首先我们需要准备一个APK文件,为了尊重所有开发者,我就不拿任何一个市面上的软件来演示了,而是自己写一个Demo用来测试。

2016-02-18 09:09:54 155356 181

原创 Android Scroller完全解析,关于Scroller你所需知道的一切

转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/48719871 2016大家新年好!这是今年的第一篇文章,那么应CSDN工作人员的建议,为了能给大家带来更好的阅读体验,我也是将博客换成了宽屏版。另外,作为一个对新鲜事物从来后知后觉的人,我终于也在新的一年里改用MarkDown编辑器来写博客了,希望大家在我的博客里也能体验到新年新...

2016-01-21 09:03:50 114145 185

原创 2015年终总结,忙碌和无所事事的一年

转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/49805231犹豫了很久,今年的年终总结到底要不要写,我是很想把每年一次的年终总结养成一种习惯,可尴尬的是今年好像确实没什么好写的。准确地讲,今年是我无所事事的一年,我甚至已经快要想不起来今年到底干了些什么,可实际上我却几乎每天都要忙冒烟了。也许再过几年、十几年之后回忆,2...

2015-12-31 09:18:19 36250 246

原创 Android静默安装实现方案,仿360手机助手秒装和智能安装功能

之前有很多朋友都问过我,在Android系统中怎样才能实现静默安装呢?所谓的静默安装,就是不用弹出系统的安装界面,在不影响用户任何操作的情况下不知不觉地将程序装好。虽说这种方式看上去不打搅用户,但是却存在着一个问题,因为Android系统会在安装界面当中把程序所声明的权限展示给用户看,用户来评估一下这些权限然后决定是否要安装该程序,但如果使用了静默安装的方式,也就没有地方让用户看权限了,相当于用户被动接受了这些权限。在Android官方看来,这显示是一种非常危险的行为,因此静默安装这一行为系统是不会开放给开

2015-12-14 09:20:06 75219 117

原创 Android Context完全解析,你所不知道的Context的各种细节

Context相信所有的Android开发人员基本上每天都在接触,因为它太常见了。但是这并不代表Context没有什么东西好讲的,实际上Context有太多小的细节并不被大家所关注,那么今天我们就来学习一下那些你所不知道的细节。我们知道,Android应用都是使用Java语言来编写的,那么大家可以思考一下,一个Android程序和一个Java程序,他们最大的区别在哪里?划分界限又是什么呢?其实简单点分析,Android程序不像Java程序一样,随便创建一个类,写个main()方法就能跑了,而是要有一个完整的

2015-11-09 09:14:19 175290 220

原创 Android ListView功能扩展,实现高性能的瀑布流布局

经过前面两篇文章的学习,我们已经对ListView进行了非常深层次的剖析,不仅了解了ListView的源码和它的工作原理,同时也将ListView中常见的一些问题进行了归纳和总结。那么本篇文章是我们ListView系列三部曲的最后一篇,在这篇文章当中我们将对ListView进行功能扩展,让它能够以瀑布流的样式来显示数据。一直关注我博客的朋友们应该知道,其实在很早之前我就发布过一篇关于实现瀑布流布局的文章,Android瀑布流照片墙实现,体验不规则排列的美感。但是这篇文章中使用的实现算法比较简单,其实就是在

2015-10-08 09:11:01 59310 63

原创 Android ListView异步加载图片乱序问题,原因分析及解决方案

在Android所有系统自带的控件当中,ListView这个控件算是用法比较复杂的了,关键是用法复杂也就算了,它还经常会出现一些稀奇古怪的问题,让人非常头疼。比如说在ListView中加载图片,如果是同步加载图片倒还好,但是一旦使用异步加载图片那么问题就来了,这个问题我相信很多Android开发者都曾经遇到过,就是异步加载图片会出现错位乱序的情况。遇到这个问题时,不少人在网上搜索找到了相应的解决方案,但是真正深入理解这个问题出现的原因并对症解决的人恐怕还并不是很多。那么今天我们就来具体深入分析一下ListV

2015-08-20 09:15:51 75488 129

原创 Android ListView工作原理完全解析,带你从源码的角度彻底理解

在Android所有常用的原生控件当中,用法最复杂的应该就是ListView了,它专门用于处理那种内容元素很多,手机屏幕无法展示出所有内容的情况。ListView可以使用列表的形式来展示内容,超出屏幕部分的内容只需要通过手指滑动就可以移动到屏幕内了。另外ListView还有一个非常神奇的功能,我相信大家应该都体验过,即使在ListView中加载非常非常多的数据,比如达到成百上千条甚至更多,ListView都不会发生OOM或者崩溃,而且随着我们手指滑动来浏览更多数据时,程序所占用的内存竟然都不会跟着增长。那

2015-07-23 09:09:42 146574 214

原创 Android属性动画完全解析(下),Interpolator和ViewPropertyAnimator的用法

大家好,欢迎继续回到Android属性动画完全解析。在上一篇文章当中我们学习了属性动画的一些进阶技巧,包括ValueAnimator和ObjectAnimator的高级用法,那么除了这些之外,当然还有一些其它的高级技巧在等着我们学习,因此本篇文章就对整个属性动画完全解析系列收个尾,来学习一下剩下的非常重要的高级技巧。nterpolator这个东西很难进行翻译,直译过来的话是补间器的意思,它的主要作用是可以控制动画的变化速率,比如去实现一种非线性运动的动画效果。那么什么叫做非线性运动的动画效果呢?就是说动画改

2015-06-04 09:13:58 93989 145

原创 Android属性动画完全解析(中),ValueAnimator和ObjectAnimator的高级用法

大家好,在上一篇文章当中,我们学习了Android属性动画的基本用法,当然也是最常用的一些用法,这些用法足以覆盖我们平时大多情况下的动画需求了。但是,正如上篇文章当中所说到的,属性动画对补间动画进行了很大幅度的改进,之前补间动画可以做到的属性动画也能做到,补间动画做不到的现在属性动画也可以做到了。因此,今天我们就来学习一下属性动画的高级用法,看看如何实现一些补间动画所无法实现的功能。阅读本篇文章需要你对属性动画有一定的了解,并且掌握属性动画的基本用法,如果你还对属性动画不够了解的话,建议先去阅读 Andr

2015-05-07 09:04:32 119588 176

原创 Android属性动画完全解析(上),初识属性动画的基本用法

在手机上去实现一些动画效果算是件比较炫酷的事情,因此Android系统在一开始的时候就给我们提供了两种实现动画效果的方式,逐帧动画(frame-by-frame animation)和补间动画(tweened animation)。逐帧动画的工作原理很简单,其实就是将一个完整的动画拆分成一张张单独的图片,然后再将它们连贯起来进行播放,类似于动画片的工作原理。补间动画则是可以对View进行一系列的动画操作,包括淡入淡出、缩放、平移、旋转四种。然而自Android 3.0版本开始,系统给我们提供了一种全新的动

2015-04-09 09:56:15 209626 190

原创 Android最佳性能实践(四)——布局优化技巧

在前面几篇文章当中,我们学习了如何通过合理管理内存,以及高性能编码技巧的方式来提升应用程序的性能。然而实际上界面布局也会对应用程序的性能产生比较大的影响,如果布局写得糟糕的话,那么程序加载UI的速度就会非常慢,从而造成不好的用户体验。那么本篇文章我们就来学习一下,如何通过优化布局来提供应用程序的性能。Android系统中已经提供了非常多好用的控件,这让我们在编写布局的时候可以很轻松。但是有些时候我们可能需要反复利用某个已经写好的布局,如果你总是使用复制粘贴的方式来进行布局重用,这显然是一种很笨的做法。而A

2015-03-19 09:21:55 91204 79

原创 Android最佳性能实践(三)——高性能编码优化

在前两篇文章当中,我们主要学习了Android内存方面的相关知识,包括如何合理地使用内存,以及当发生内存泄露时如何定位出问题的原因。那么关于内存的知识就讨论到这里,今天开始我们将学习一些性能编码优化的技巧。避免创建不必要的对象创建对象从来都不应该是一件随意的事情,因为创建一个对象就意味着垃圾回收器需要回收一个对象,而这两步操作都是需要消耗时间的。虽说创建一个对象的代价确实非常小,并且Android 2.3版本当中又增加了并发垃圾回收器机制,这让GC操作时的停顿时间也变得难以察觉,但是这些理由都不足以让我

2015-03-05 09:19:50 68417 71

原创 Android最佳性能实践(二)——分析内存的使用情况

由于Android是为移动设备开发的操作系统,我们在开发应用程序的时候应当始终把内存问题充分考虑在内。虽然Android系统拥有垃圾自动回收机制,但这并不意味着我们就可以完全忽略何时去分配或释放内存。即使我们全部按照上一篇文章中给出的编程建议来去编写程序,还是会很有可能出现内存泄露或其它类型的内存问题。所以,唯一能够解决问题的办法,就是尝试去分析应用程序的内存使用情况,那么本篇文章就会教大家如何进行分析。虽说现在的手机内存都已经非常大了,但是我们大家都知道,系统是不可能将所有的内存都分配给我们的应用程序的。

2015-02-12 09:09:52 97659 94

原创 Android最佳性能实践(一)——合理管理内存

有不少朋友都问过我,怎样才能写出高性能的应用程序,如何避免程序出现OOM,或者当程序内存占用过高的时候该怎么样去排查。确实,一个优秀的应用程序,不仅仅要功能完成得好,性能问题也应该处理得恰到好处。为此,我也是阅读了不少Android官方给出的高性能编程建议,那么从本篇文章开始,我就准备开始写一个全新系列的博文,来把这些建议进行整理和分析,帮助大家能够写出更加出色的应用程序。内存(RAM)对于任何一个软件开发环境都是种非常珍贵的资源,而对于移动操作系统来讲的话,则会显得更加珍贵,因为手机的硬件条件相对于PC

2015-02-05 09:20:28 116716 112

原创 2014年终总结,我决定要实现的三个目标

转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/41722975不知不觉,一年就这样又过去了。记得在去年的最后一天,我写了一篇年终总结,回顾了一年里所发生的点点滴滴,那么我就尽量把写年终总结养成一种习惯吧。今天是2014年的最后一天,在这一年当中,我的成长和收获也算是颇为丰富,下面就来回顾一下这一年所发生的事情吧。...

2014-12-31 09:09:24 42549 129

翻译 Android任务和返回栈完全解析,细数那些你所不知道的细节

一个应用程序当中通常都会包含很多个Activity,每个Activity都应该设计成为一个具有特定的功能,并且可以让用户进行操作的组件。另外,Activity之间还应该是可以相互启动的。比如,一个邮件应用中可能会包含一个用于展示邮件列表的Activity,而当用户点击了其中某一封邮件的时候,就会打开另外一个Activity来显示该封邮件的具体内容。除此之外,一个Activity甚至还可以去启动其它应用程序当中的Activity。打个比方,如果你的应用希望去发送一封邮件,你就可以定义一个具有"send"动作

2014-12-30 09:09:16 58250 89

原创 Android数据库高手秘籍(八)——使用LitePal的聚合函数

在上一篇文章当中,我们已经把LitePal查询操作的所有用法都学习完了,很显然,LitePal帮我们提供了非常强大的查询API,使得我们可以极度轻松地完成各种类型的查询。但是呢,在SQL语句当中,有一种查询是比较特殊的,就是聚合函数查询,它不像传统查询一样是将表中的某些列的数据查询出来,而是将查询结果进行聚合和统计,最终将统计后的结果进行返回。因此,任何一个关系型数据库中都会提供像count()、sum()等聚合函数。那么不出你所料,LitePal当中也是对这些聚合函数都进行了封装,让我们的操作可以变得更加

2014-12-04 09:09:01 46807 128

原创 Android数据库高手秘籍(七)——体验LitePal的查询艺术

经过了多篇文章的学习,我们已经把LitePal中的绝大部分内容都掌握了。现在回想起来了,增删改查四种操作中的前三种我们都已经学完了,不知道现在使用起数据库来,你有没有感觉到格外的轻松和简单。但是呢,我们都知道,在所有的数据库操作当中,查询操作肯定是最复杂的,用法也是最多的,因此LitePal在查询方面提供的API也是比较丰富,而且LitePal在查询方面的API设计也是颇为艺术的。那么今天我们就专门使用一篇博客来讲解一下查询操作的用法,体验一下LitePal查询的艺术。还没有看过前面一篇文章的朋友建议先去参

2014-11-13 09:03:29 122150 166

原创 Android数据库高手秘籍(六)——LitePal的修改和删除操作

在上一篇文章中,我们学会了使用LitePal进行存储数据的功能。确实,比起直接使用Android原生的API,LitePal明显简单方便了太多。那么,在增删改查四种操作中,我们已经把“增”学完了,今天就让我们继续趁热打铁,学习一下如何使用LitePal进行修改和删除操作。还没有看过前一篇文章的朋友建议先去参考 Android数据库高手秘籍(五)——LitePal的存储操作 。LitePal的项目地址是:https://github.com/LitePalFramework/LitePal

2014-10-30 09:06:00 104060 187

原创 Android数据库高手秘籍(五)——LitePal的存储操作

经过前面几篇文章的学习,我们已经把LitePal的表管理模块的功能都很好地掌握了,相信大家都已经体会到了使用LitePal来创建表、升级表、以及建立表关联所带来的便利。那么从本篇文章开始,我们将进入到一个新模块的学习旅程当中,使用LitePal来进行表的CRUD操作。还没有看过前一篇文章的朋友建议先去参考 Android数据库高手秘籍(四)——使用LitePal建立表关联 。LitePal提供的CRUD操作的API还是颇为丰富的,一篇文章肯定是介绍不全的,因此这里我们仍然是分几篇文章进行讲解,本篇主要是介

2014-10-16 09:22:30 92721 173

原创 Android数据库高手秘籍(四)——使用LitePal建立表关联

任何一个像样的程序都不可能仅仅只有一个类的,同样地,任何一个像样的数据库也不可能仅仅只有一张表。我们都知道,在面向对象的编程语言中,多个类之间可以相互关联引用,共同完成某项功能。那么在数据库当中,多个表之间可以相互关联吗?当然可以!只不过表与表之间的关联关系要比对象之间的关联关系复杂一些,也更加难懂,但是作为数据库的基本功,还是应该了解清楚的,那么我们就先来学习一下数据库表关联的基础知识。表与表之间的关联关系一共有三种类型,一对一、多对一、和多对多,下面我们分别对这三种类型展开进行讨论。

2014-09-25 09:00:55 84975 150

《第一行代码——Android》试读

《第一行代码——Android》的试读部分,完整版购买: 当当网:http://product.dangdang.com/23521220.html 京东:http://item.jd.com/11504254.html 亚马逊:http://www.amazon.cn/%E7%AC%AC%E4%B8%80%E8%A1%8C%E4%BB%A3%E7%A0%81-Android-%E9%83%AD%E9%9C%96/dp/B00LVHTI9U

2014-08-13

DiskLruCache.java 完整源码

Android DiskLruCache的源码

2014-08-03

Android ActionBar应用实战,高仿微信主界面的设计实例完整源码

此为示例代码,详细讲解请参考博文: http://blog.csdn.net/guolin_blog/article/details/26365683 如对资源内容有疑问,请到博客中留言。

2014-07-02

Volley.jar程序文件

Android Volley的jar包,包中含有源码。

2014-04-06

Android高级图片滚动控件,3D版的图片轮播器Demo

此为示例代码,详细讲解请参考博文: http://blog.csdn.net/guolin_blog/article/details/17482089 如对资源内容有疑问,请到博客内留言。

2014-03-04

Android桌面悬浮窗进阶,QQ手机管家小火箭效果实现Demo

此为示例代码,详细讲解请参考博文: http://blog.csdn.net/guolin_blog/article/details/16919859 如对资源内容有疑问,请到博客中留言。

2013-12-29

Android Fragment应用实战Demo,向ActivityGroup说再见 源码程序

此为示例代码,详细讲解请参考: http://blog.csdn.net/guolin_blog/article/details/13171191 如对资源内容有疑问,请到博客里留言。

2013-11-19

Android双向滑动菜单带按钮版

此为带按钮版的双向滑动菜单示例。 http://blog.csdn.net/guolin_blog/article/details/9671609

2013-11-15

Android照片墙加强版,使用ViewPager实现画廊效果Demo

此为示例代码,详细详解请参考: http://blog.csdn.net/guolin_blog/article/details/12646775 如对资源内容有疑问,请到博客主留言。

2013-11-13

Android PowerImageView实现Demo

此为示例代码,详解讲解请参考: http://blog.csdn.net/guolin_blog/article/details/11100315 如对资源内容有疑问,可以到博客中留言。

2013-10-23

Android数据库安全解决方案,使用SQLCipher Demo

此为实例代码,详细讲解请参考: http://blog.csdn.net/guolin_blog/article/details/11952409 如对资源内容有疑问,请到博客中留言。

2013-10-17

Android 3D滑动菜单完全解析,实现推拉门式的立体特效Demo

此为示例代码,详解讲解请参考博文: http://blog.csdn.net/guolin_blog/article/details/10471245 如果对资源内容有疑问,可以到博客中留言。

2013-09-29

Android中轴旋转特效实现,制作别样的图片浏览器

此为示例代码,详解讲解请参考博文: http://blog.csdn.net/guolin_blog/article/details/10766017 如果对资源内容有疑问,可以到博客中留言。

2013-09-19

Android多点触控技术实战,对图片进行缩放和移动Demo

此为示例代码,详细讲解请参考博文: http://blog.csdn.net/guolin_blog/article/details/11100327 如果对资源内容有疑问,可以到博客中留言。

2013-09-11

Android瀑布流照片墙实现,体验不规则排列的美感Demo

此为示例代码,详细讲解请参考: http://blog.csdn.net/guolin_blog/article/details/10470797

2013-09-05

Android瀑布流照片墙实现,体验不规则排列的美感

此为示例代码,详细讲解请参考: http://blog.csdn.net/guolin_blog/article/details/10470797

2013-09-04

Android双向滑动菜单完全解析,教你如何一分钟实现双向滑动特效demo

此为示例代码,详细讲解请参考: http://blog.csdn.net/guolin_blog/article/details/9671609

2013-08-29

Android滑动菜单框架Demo修正版

此版本修正了以下内容: 1.将滑动方式改成了覆盖型。 2.ListView上下滚动时不会轻易滑出菜单。 3.正在滑动时屏蔽掉内容布局上的事件。 4.当菜单布局展示时,点击一下右侧的内容布局,可以将菜单隐藏。

2013-08-21

Android二维码扫描Demo 程序源码

此为示例代码,详细讲解请参考: http://blog.csdn.net/guolin_blog/article/details/9526247

2013-08-08

Android照片墙应用实现Demo

此为示例代码,详细讲解请参考: http://blog.csdn.net/guolin_blog/article/details/9526203

2013-07-31

Android教你如何一分钟实现下拉刷新功能项目完整实例代码

此为示例代码,详解讲解请参考 http://blog.csdn.net/sinyu890807/article/details/9255575

2013-07-11

Android系统联系人全特效实现,字母表快速滚动

此为示例代码,详细讲解请参考 http://blog.csdn.net/sinyu890807/article/details/9050671

2013-06-12

Android系统联系人全特效实现,分组导航和挤压动画demo

此为示例代码,详细讲解请参考 http://blog.csdn.net/sinyu890807/article/details/9033553

2013-06-06

巧用Android网络通信技术,在网络上直接传输对象demo

此为示例代码,详细讲解请参考 http://blog.csdn.net/sinyu890807/article/details/8967080

2013-05-23

Android使用Fragment实现兼容手机和平板的程序

此为示例代码,详细讲解请参考 http://blog.csdn.net/sinyu890807/article/details/8744943

2013-05-13

Android使用Fragment实现兼容手机和平板的程序demo

此为示例代码,详细讲解请参考 http://blog.csdn.net/sinyu890807/article/details/8744943

2013-05-12

Android图片滚动,加入自动播放功能,使用自定义属性实现,霸气十足demo

此为示例代码,详细讲解请参考 http://blog.csdn.net/sinyu890807/article/details/8796877

2013-04-13

Android滑动菜单框架完全解析,加入点击未隐藏部分回到主界面的功能

此代码为之前 Android滑动菜单框架完全解析,教你如何一分钟实现滑动菜单特效demo 的扩展版,主要加入了在菜单界面点击未隐藏部分,可以回到主界面的功能。

2013-04-11

Android实现图片滚动控件,含页签功能demo

此为示例代码,详细讲解请参考 http://blog.csdn.net/sinyu890807/article/details/8769904

2013-04-07

Android滑动菜单框架完全解析,教你如何一分钟实现滑动菜单特效demo

此为示例代码,详细讲解请参考 http://blog.csdn.net/sinyu890807/article/details/8744400

2013-04-02

Android指纹认证Demo源码

此为文章示例代码,完整讲解请参考 https://blog.csdn.net/guolin_blog/article/details/81450114

2018-08-20

Android 8.0系统通知栏适配Demo

此为示例代码,详细文章请参考 https://blog.csdn.net/guolin_blog/article/details/79854070

2018-04-14

带进度的Glide图片加载源码

此为示例代码,文章讲解请参考 http://blog.csdn.net/guolin_blog/article/details/78357251

2017-11-05

glide-3.7.0.jar

Glide 3.7.0版本jar包

2017-03-15

Android端弹幕效果实现

本资源为示例代码,完整讲解请参考博文: http://blog.csdn.net/sinyu890807/article/details/51933728

2016-10-16

仿360手机助手秒装和智能安装功能源码

本资源为示例代码,完整讲解请参考博文: http://blog.csdn.net/guolin_blog/article/details/47803149

2015-12-13

瀑布流ListView源码

此为示例代码,代码详细解读请参考博文:http://blog.csdn.net/guolin_blog/article/details/46361889

2015-10-06

普通ListView源码

普通ListView源码,包含ListView的基本使用方式

2015-10-04

Android照片结合LruCache和DiskLruCache Demo源码程序

此为示例代码,如对资源内容有疑问,可以到以下博客地址中留言: http://blog.csdn.net/guolin_blog/article/details/34093441

2014-08-14

Android照片墙完整版Demo

此为示例代码,如对资源内容有疑问,可以到以下博客地址中留言: http://blog.csdn.net/guolin_blog/article/details/34093441

2014-08-11

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

TA关注的人

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