自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 资源 (3)
  • 收藏
  • 关注

原创 Android NDK开发之从环境搭建到Demo级十步流

说到NDK,相信大家都不陌生,它是Google为便于Android开发提供的一种原生开发集:Native Development Kit,而且也是一个包含API、构建工具、交叉编译、调试器、文档示例等一系列的工具集,可以帮助开发者快速开发C(或C++)的动态库。

2017-04-26 16:16:28 23785 4

原创 Android 网络框架之Retrofit2使用详解及从源码中解析原理

就目前来说Retrofit2使用的已相当的广泛,那么我们先来了解下两个问题:1 . 什么是Retrofit?Retrofit是针对于Android/Java的、基于okHttp的、一种轻量级且安全的、并使用注解方式的网络请求框架。2 . 我们为什么要使用Retrofit,它有哪些优势?首先,Retrofit使用注解方式,大大简化了我们的URL拼写形式,而且注解含义一目了然,简单易懂;其次,Retro

2016-05-26 16:32:19 32115 9

原创 Android 设计模式实战之关于封装计费代码库的策略模式详谈

一直以来都饱受公司APP客户端关于各种计费点的折磨。一段时间内,同一应用或不同应用间接入多家的计费模式,然后需要在不同的计费间来回的跳转,大大的增加了出错的几率,甚至有时候出现计费点错乱的现象,基于这种困扰,一直以来都想封装一套统一实现计费策略的代码库,最近正好有一套APP要实现微信,支付宝支付等计费,那么正好可以利用这个机会来实现一整套的计费点代码库。

2017-06-26 15:04:45 604

原创 Android 图片加载框架Glide4.0源码完全解析(二)

上一篇博文写的是Android 图片加载框架Glide4.0源码完全解析(一),主要分析了Glide4.0源码中的with方法和load方法。这篇是讲Glide源码中into方法的实现原理,可以说with和load方法只是做了前期的初始化配置工作,而真正意义上的图片加载就是在into方法中实现的,所以该方法的复杂程度是可以想象的,还是依照我之前的写作习惯,一步步的分析,不留下任何的盲点给大家带来困惑,那么下面就开始吧

2017-06-19 09:38:39 3529 3

原创 Android 图片加载框架Glide4.0源码完全解析(一)

上一篇博文写的是Picasso基本使用和源码完全解析,Picasso的源码阅读起来还是很顺畅的,然后就想到Glide框架,网上大家也都推荐使用这个框架用来加载图片,正好我目前的写作目标也是分析当前一些流行的框架源码,那就也来解析下Glide的源码吧,而且有了Picasso源码的分析相信很快就搞定Glide的,结果也就悲剧了,深陷其中无法自拔了,Glide的源码远非Picasso能比,阅读起来

2017-06-14 12:41:47 2834

原创 Android 图片加载框架Picasso基本使用和源码完全解析

说到Picasso,相信Android开发人员绝不陌生,它是Square公司开发的一款图片加载神器。使用过它的coder绝对是爱不释手:对它本身而言,轻量安全,有效加载图片并防止OOM;对我们开发者来说,简单方便,一行代码搞定图片加载。因此它备受Android开发人员的钟爱,那么今天我们就从源码的角度完完全全的解析下它的工作原理。

2017-05-31 10:02:31 4958 3

原创 Android NDK开发之C调用Java及原生代码断点调试(二)

上一篇中,我们主要学习了Java调用本地方法,并列举了两大特殊实例来例证我们的论据,还没学习的伙伴必须先去阅读下,本次的学习是直接在上一篇的基础上进行了。点击:Android NDK开发之从Java与C互调中详解JNI使用(一)本篇我们主要学习如何从C源码中调用Java代码,以及使用gradle-experimental来调试原生代码。

2017-05-11 11:43:07 1225

原创 Android NDK开发之从Java与C互调中详解JNI使用(一)

JNI:Java Native Interface 也就是java本地接口,它是一个协议,这个协议用来沟通java代码和本地代码(c/c++)。通过这个协议,Java类的某些方法可以使用原生实现,同时让它们可以像普通的Java方法一样被调用和使用,而原生方法也可以使用Java对象,调用和使用Java方法。也就是说,使用JNI这种协议可以实现:java代码调用c/c++代码,而c/c++代码也可以调用java代码。

2017-05-05 09:01:37 1704

原创 2016点滴生活:收获与展望

时光流逝,白驹过隙,转眼一年又即将过去,这一年存在了不少感动,赢得了许多欢乐。有遇到困难,有经受考验,有解决问题,有成功上线,不管经历如何这一年终究是走到了尽头,且不会再有。

2016-12-26 16:30:04 3410 7

原创 Android6.0运行时权限管理

自从Android6.0发布以来,在权限上做出了很大的变动,不再是之前的只要在manifest设置就可以任意获取权限,而是更加的注重用户的隐私和体验,不会再强迫用户因拒绝不该拥有的权限而导致的无法安装的事情,也不会再不征求用户授权的情况下,就可以任意的访问用户隐私,而且即使在授权之后也可以及时的更改权限。这就是6.0版本做出的更拥护和注重用户的一大体现。

2016-12-19 12:47:15 1875 1

原创 React Native之异常集中营(持续更新...)

这篇博文将会聚集在我学习React Native中遇到的所有问题,一方面是作为记录,另一方面也给正在或是将要学习React Native的同学提供参考,少走一些弯路,多一点信心,持久学习。

2016-12-13 09:46:31 2441

原创 React Native环境配置之Windows版本搭建

学习H5 Web开发怎么和安卓原生开发共存呢,React Native直接解决了这个问题:在运用H5开发的同时,还可以有效调用android原生态开发,直接两者兼具,既保留了android原生开发也运用了H5 web开发。成本与效率共存。

2016-12-10 22:07:48 8349

原创 Android 源码解析之AsyncTask

AsyncTask相信大家都不陌生,它是为了简化异步请求、更新UI操作而诞生的。使用它不仅可以完成我们的网络耗时操作,而且还可以在完成耗时操作后直接的更新我们所需要的UI组件。这使得它在android开发中成为炙手可热的网络请求工具类。

2016-11-17 16:58:14 870

原创 Android 5.X新特性之为RecyclerView添加下拉刷新和上拉加载及SwipeRefreshLayout实现原理

当今移动开发中,为了追求更好的用户体验,绝大多数的app都涵盖列表的刷新和加载功能,而今天我们的主题就是学习为RecyclerView添加下拉刷新和上拉加载功能。并包涵了SwipeRefreshLayout支持下拉刷新的实现原理。

2016-05-12 16:16:11 6893 4

原创 Android 5.X新特性之为RecyclerView添加HeaderView和FooterView

针对RecyclerView的头部和底部,官方并没有给我们提供像listView一样可以直接通过addHeaderView()/addFooterView()的方法,所以只能靠我们自己去实现了,那怎么实现呢?我们一步一步的来分析。

2016-05-09 18:27:06 4460

原创 Android 5.X新特性之RecyclerView基本解析及无限复用

说到RecyclerView,相信大家都不陌生,它是我们经典级ListView的升级版,升级后的RecyclerView展现了极大的灵活性。同时内部直接封装了ViewHolder,不用我们自己定义ViewHolder就能实现item的回收和复用功能。当然它肯定不止这些好处,比如我们可以自定义分割线,可以更加方便的实现列表的布局方式等等。

2016-05-04 09:34:09 9750 5

原创 Android自定义控件之继承ViewGroup创建新容器(四)

在学习新内容之前,我们先来弄清楚两个问题:1 . 什么是ViewGroup?ViewGroup是一种容器。它包含零个或以上的View及子View。2 . ViewGroup有什么作用?ViewGroup内部可以用来存放多个View控件,并且根据自身的测量模式,来测量View子控件

2016-04-23 17:32:46 10107 4

原创 Android项目开发实战之使用Fragment和FragmentTabHost搭建底部菜单(一)

该博文主要是以一个完整的项目作为实战,以项目的进展作为向导,分析每个功能的实现,以及针对这个功能的我思我想,当然博主也是个小菜鸟,真实的意图是想通过这个小项目来记录自己的学习过程,并且,恳求各位大神,在每个功能实现的过程中,请在评论中贡献您的想法,或是觉得我所使用的方法或逻辑并不是恰当的、最好的,那么请把想法写进评论中,既作为您对该功能实现的看法,也可以提供我思路,给我们一起提升的机会。

2016-04-21 11:13:07 2547

原创 自定义控件之创建可以复用的组合控件(三)

今天我们打算学习下另外一种自定义控件,就是创建可重复使用的组合控件,那么问题来了:- **什么是可重复使用?**就是在应用中,可以在多个地方共同使用一套代码。这样不仅能减少我们的工作量,而且还能保持应用风格的一致,这种应用最多最直接的体现就是统一风格样式的标题栏。- **那什么又是组合控件呢?** 组合控件,顾名思义就是多个控件组合在一起,相互协作共同完成某些特定的功能。

2016-04-19 18:17:21 6570 2

原创 自定义控件之直接继承View创建全新视图(二)

自定义控件我们上一节探讨了一种最简单的自定义是直接继承View的子类,实现控件的不同UI视图展示及功能的拓展,在学习新知识前可以温习下之前所学知识-自定义控件之对现有控件拓展(一)。ok,在回顾了之前所学的知识之后,现在我们来学习稍微复杂点的自定义控件:今天我们实现一个直接继承于View的全新控件。大家都知道音乐播放器吧,在点击一首歌进行播放时,通常会有一块区域用于显示音频条,我们今天就来学习下,播

2016-04-18 14:28:31 4532 2

原创 自定义控件之对现有控件拓展(一)

android自定义控件对我来说,一直以来感觉很难,不敢去碰,虽然官方提供了很多的UI控件,但有时候看见其他应用做出来的控件相当的漂亮,心里痒痒的,期望自己也能做出类似牛叉的控件,再加上想进入中级程序猿自定义View是必备的本领,好吧,为了前途,狠狠心,陷进去吧。android自定义控件分为两类,一类是继承View,一类是继承ViewGroup。由于直接继承ViewGroup是在子View的基础上进

2016-04-15 19:08:19 3733 2

android ndk开发互调示例demo

android ndk开发互调示例demo:包括java代码调用C,及C调用java。

2017-10-31

recyclerView万能复用添加Header/FooterView及上拉加载下拉刷新源码

recyclerView万能复用添加Header/FooterView及上拉加载下拉刷新源码

2016-05-13

recyclerView复用添加头尾及上下刷新源码

recyclerView万能复用,添加headerView和FooterView 及下拉刷新,下拉加载源码,可以直接添加到工程里面就可以了,记得加上所属的依赖。

2016-05-13

空空如也

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

TA关注的人

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