八大排序算法Java实现

2017-09-28
阅读 8 分钟
5.8k
概述 常见的八大排序算法,它们之间的关系如下: 直接插入排序 希尔排序 简单选择排序 堆排序 冒泡排序 快速排序 归并排序 基数排序 直接插入排序 基本思想 经常碰到这样一类排序问题:把新的数据插入到已经排好的数据列中。 将第一个数和第二个数排序,然后构成一个有序序列将第三个数插入进去,构成一个新的有序序列。...

扔物线:给 Android 开发者的 RxJava 详解

2017-09-26
阅读 31 分钟
7.5k
我从去年开始使用 RxJava ,到现在一年多了。今年加入了 Flipboard 后,看到 Flipboard 的 Android 项目也在使用 RxJava ,并且使用的场景越来越多 。而最近这几个月,我也发现国内越来越多的人开始提及 RxJava 。有人说『RxJava 真是太好用了』,有人说『RxJava 真是太难用了』,另外更多的人表示:我真的百度了也谷歌...

IPC机制之AIDL

2017-09-26
阅读 14 分钟
1.5k
AIDL是一个缩写,全称是Android Interface Definition Language,也就是Android接口定义语言。是的,首先我们知道的第一点就是:AIDL是一种语言。既然是一种语言,那么相应的就很自然的衍生出了一些问题:

GreenDao深入

2017-09-26
阅读 7 分钟
3.6k
大家好,在上一篇文章中,我主要介绍了GreenDao3.0的最基本的用法,当然也是最常用的用法,如果你的项目里没有特别复杂的多表关联需求的话,我相信那篇文章的知识点已经足够使用了。但是,如果你是一个求知欲特别强的人或者手上有要在本地创建复杂的数据库需求的话,我相信认真读完本篇文章,你一定会有所收获。

GreenDao入门

2017-09-26
阅读 7 分钟
4.3k
弄明白greenDao之前我们应该先了解什么是ORM(Object Relation Mapping 即 对象关系映射),说白了就是将面向对象编程语言里的对象与数据库关联起来的一种技术,而greenDao就是实现这种技术之一,所以说greenDao其实就是一种将java object 与SQLite Database关联起来的桥梁,它们之间的关系 如下图所示;

Android存储方式之文件流

2017-09-26
阅读 4 分钟
3.6k
内部存储是指将应用程序中的数据以文件方式存储到设备的内部存储空间中(该文件位于 data/data/<packagename>/ 目录下)。

Android存储方式之SharedPreference

2017-09-26
阅读 7 分钟
3.4k
SharedPreferences是Android平台上一个轻量级数据存储方式,用来保存应用的一些常用配置,比如Activity状态,Activity暂停时,将此activity的状态保到SharedPereferences中;当Activity重载,系统回调方法 onSaveInstanceState时,再从SharedPreferences中将值取出。

Android存储方式之SQLite

2017-09-26
阅读 18 分钟
4.6k
前言 SQLite数据库操作在Android开发中非常常用 今天我将带大家全面了解关于SQLite数据库的操作(增、删、查、改) 目录 1. SQLite数据库介绍 SQLite是Android内置的一个小型、关系型、属于文本型的数据库。 {代码...} Android中,通过SQLiteOpenHelper类来实现对SQLite数据库的操作。 2. SQLiteOpenHelper类介绍 定义:...

Android网络编程11之源码解析Retrofit

2017-09-25
阅读 11 分钟
1.7k
前言最近文章的产出确实很少,因为我正在写一本Android进阶书籍,两头很难兼顾,但是每个月也得至少发一篇博客。上一篇我们介绍了Retrofit的使用方法,这一篇我们照例来学习Retrofit的源码。

Android网络编程10之Retrofit2后篇[请求参数]

2017-09-25
阅读 6 分钟
3k
在上一篇[Android网络编程(九)Retrofit2前篇[基本使用]]([链接]中我们了解了Retrofit的最基本的GET方式访问网络的写法以及请求参数的简单介绍。这一篇我们来详细的了解Retrofit的请求参数。

Android网络编程之9Retrofit2前篇[基本使用]

2017-09-25
阅读 6 分钟
2k
Retrofit是Square公司开发的一款针对Android网络请求的框架,Retrofit2底层基于OkHttp实现的,而OkHttp现在已经得到Google官方认可,不了解OKHttp的请查看本系列的前作。

Android网络编程8之源码解析OkHttp中篇[复用连接池]

2017-09-25
阅读 9 分钟
2.1k
1.引子 在了解OkHttp的复用连接池之前,我们首先要了解几个概念。 TCP三次握手 通常我们进行HTTP连接网络的时候我们会进行TCP的三次握手,然后传输数据,然后再释放连接。 TCP三次握手的过程为: 第一次握手:建立连接。客户端发送连接请求报文段,将SYN位置为1,Sequence Number为x;然后,客户端进入SYN_SEND状态,等...

Android网络编程7之源码解析OkHttp前篇[请求网络]

2017-09-25
阅读 14 分钟
1.9k
学会了OkHttp3的用法后,我们当然有必要来了解下OkHttp3的源码,当然现在网上的文章很多,我仍旧希望我这一系列文章篇是最简洁易懂的。

Android网络编程6之OkHttp3用法全解析

2017-09-25
阅读 7 分钟
2.5k
上一篇介绍了OkHttp2.x的用法,这一篇文章我们来对照OkHttp2.x版本来看看,OkHttp3使用起来有那些变化。当然,看这篇文章前建议看一下前一篇文章Android网络编程(五)OkHttp2.x用法全解析。

Android网络编程5之OkHttp2.x用法全解析

2017-09-25
阅读 10 分钟
2.2k
讲完了Volley,我们接下来看看目前比较火的网络框架OkHttp, 它处理了很多网络疑难杂症:会从很多常用的连接问题中自动恢复。如果您的服务器配置了多个IP地址,当第一个IP连接失败的时候,OkHttp会自动尝试下一个IP,此外OkHttp还处理了代理服务器问题和SSL握手失败问题。

Android网络编程4之从源码解析Volley

2017-09-25
阅读 13 分钟
1.6k
从上图可以看到Volley分为三个线程,分别是主线程、缓存调度线程、和网络调度线程,首先请求会加入缓存队列,如果发现可以找到相应的缓存结果就直接读取缓存并解析,然后回调给主线程;如果在缓存中没有找到结果,则将这条请求加入到网络队列中,然后发送HTTP请求,解析响应并写入缓存,并回调给主线程。

Android网络编程3之Volley用法全解析

2017-09-25
阅读 8 分钟
1.6k
在2013年Google I/O大会上推出了一个新的网络通信框架Volley。Volley既可以访问网络取得数据,也可以加载图片,并且在性能方面也进行了大幅度的调整,它的设计目标就是非常适合去进行数据量不大,但通信频繁的网络操作,而对于大数据量的网络操作,比如说下载文件等,Volley的表现就会非常糟糕。在使用Volley前请下载Vol...

Android网络编程2HttpUrlConnection和HttpClient

2017-09-25
阅读 8 分钟
2k
上一篇我们了解了HTTP协议原理,这一篇我们来讲讲Apache的HttpClient和Java的HttpURLConnection,这两种都是我们平常请求网络会用到的。无论我们是自己封装的网络请求类还是第三方的网络请求框架都离不开这两个类库。

Android网络编程1Http协议原理

2017-09-25
阅读 6 分钟
1.6k
这篇文章是这个系列的开篇,作为移动开发者,开发的应用不免会对网络进行访问,虽然现在已经有很多的开源库帮助我们可以轻而易举的访问网络,但是我们仍要去了解网络访问的原理,这也是一个优秀开发人员所必备的知识点。这篇文章我们就先来了解一下HTTP协议原理。

Android网络编程之Socket

2017-09-25
阅读 14 分钟
6.1k
前言 Socket的使用在 Android网络编程中非常重要 今天我将带大家全面了解 Socket 及 其使用方法 目录 1.网络基础 1.1 计算机网络分层 计算机网络分为五层:物理层、数据链路层、网络层、运输层、应用层 其中: 网络层:负责根据IP找到目的地址的主机 运输层:通过端口把数据传到目的主机的目的进程,来实现进程与进程之...

Android常用架构之MVP

2017-09-25
阅读 12 分钟
2.6k
MVC由Model、View、Control组成。Model数据模型,提供数据View视图模型,提供视图展示Control控制器,负责控制Model和View通信

Android性能优化之内存优化

2017-09-25
阅读 13 分钟
3.6k
智能手机发展到今天已经有十几个年头,手机的软硬件都已经发生了翻天覆地的变化,特别是Android阵营,从一开始的一两百M到今天动辄4G,6G内存。然而大部分的开发者观看下自己的异常上报系统,还是会发现各种内存问题仍然层出不穷,各种OOM为crash率贡献不少。Android开发发展到今天也是已经比较成熟,各种新框架,新技术...

图片加载框架之Fresco

2017-09-25
阅读 4 分钟
2.8k
Fresco是FaceBook退出了一个Android开源图片管理框架,它提供了图片下载、渐进式加载、内存管理等功能,很大程度上把程序员从繁琐的图片管理工作中解放了出来,官网地址,Fresco API。

图片加载库之Glide和Picasso对比

2017-09-25
阅读 6 分钟
3.1k
在泰国举行的谷歌开发者论坛上,谷歌为我们介绍了一个名叫 Glide 的图片加载库,作者是bumptech。这个库被广泛的运用在google的开源项目中,包括2014年google I/O大会上发布的官方app。 它的成功让我非常感兴趣。我花了一整晚的时间把玩,决定分享一些自己的经验。在开始之前我想说,Glide和Picasso有90%的相似度,准确...

图片加载框架之UIL

2017-09-25
阅读 28 分钟
3.1k
Android Universal Image Loader 是一个强大的、可高度定制的图片缓存,本文简称为UIL。简单的说 UIL 就做了一件事——获取图片并显示在相应的控件上。

Android开发经验实战总结

2017-09-25
阅读 8 分钟
2.8k
以前一直想写一篇总结 Android 开发经验的文章,估计当时的我还达不到某种水平,所以思路跟不上,下笔又捉襟见肘。近日,思路较为明朗,于是重新操起键盘开始码字一番。先声明一下哈,本人不是大厂的程序猿。去年毕业前,就一直在当前创业小团队从事自己热爱的打码事业至今。下面总结是建立在我当前的技术水平和认知上写...

图片加载框架之Glide

2017-09-24
阅读 5 分钟
4k
前言 上文已经对当今Android主流的图片加载库进行了全面介绍 & 对比 {代码...} 今天我们来学习一下其中一个Android主流的图片加载库的使用 - Glide * 目录 * 1. 简介 介绍:Glide,是Android中一个图片加载开源库 {代码...} 主要作用:实现图片加载 2. 功能特点 2.1 功能列表 从上面可以看出,Glide不仅实现了图片异...

XML解析

2017-09-24
阅读 10 分钟
2.6k
目录 定义 XML(extensible Markup Language) ,是一种数据标记语言 & 传输格式 作用 对数据进行标记(结构化数据) 对数据进行存储 对数据进行传输 与html的区别:html用于显示信息;xml用于存储&传输信息 XML特点 标签可进行自定义 {代码...} 自我描述性 {代码...} 可拓展性 {代码...} 可跨平台数据传输 {代码...

EventBus源码解析

2017-09-24
阅读 18 分钟
1.7k
前面一篇文章讲解了EventBus的使用,但是作为开发人员,不能只停留在仅仅会用的层面上,我们还需要弄清楚它的内部实现原理。所以本篇博文将分析EventBus的源码,看看究竟它是如何实现“发布/订阅”功能的。

EventBus使用方法详解

2017-09-24
阅读 11 分钟
5.3k
前言:EventBus出来已经有一段时间了,github上面也有很多开源项目中使用了EventBus。所以抽空学习顺便整理了一下。目前EventBus最新版本是3.0,所以本文是基于EventBus3.0的。