自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(67)
  • 资源 (13)
  • 收藏
  • 关注

原创 基于 Android 13 的 Activity 启动流程分析

在 《不得不说的 Android Binder 机制与 AIDL》这篇文章中我们了解了通过如何通过 Binder 与 AIDL 进行跨进程通信,在另一篇文章 《反思 Android 消息机制的设计与实现》深入探讨了 Handler 消息机制的实现原理。这两篇文章,尤其是通过 Binder 与 AIDL 跨进程通信这块内容是理解本篇文章的基础,如果现在还不了解的同学建议先去阅读这两篇文章。在平时的开发中,启动一个新的 Activity 只需要在当前 Activity 中调用。

2023-03-18 22:11:03 636 1

原创 Android 架构思想与 MVVM 框架封装

关于Android项目架构也是一个老生常谈的话题了,网上关于Android架构的文章不胜枚举,但是通过Google检索关键字,首页的热门文章多数是对于MVC、MVP及MVVM等架构的概念介绍,概念性的文章对于不了解Android架构的同学来说并不一定能起到很好的帮助。本篇文章其实源自笔者在公司内部的技术分享,稍作修改后作为文章发布出来。文章内容涉及从

2022-09-25 16:00:50 3428 6

原创 反思 Android 消息机制的设计与实现

上篇文章介绍了 Android 中的 Binder 机制。Binder 在 Android 系统中占有着举足轻重的地位,它是 Android 系统中跨进程通信最重要的方式。而另外一个重要的且能与Binder相提并论的角色便是本文要分析的 Handler。Binder 支撑起了 Android 系统进程间的通信,而 Handler 支撑起的则是进程内线程间的通信。同时,Android 应用程序的运行皆依靠 Handler 的消息机制驱动,这其中就包括触摸事件的分发、View的绘制流程、屏幕的刷新机制以及Act

2022-06-19 16:16:25 513

原创 浅析Java 中的动态代理

在之前的一篇文章《静态代理这么用?聊一聊ViewPagerIndicator重构的一些经验》中详细的介绍了 java 中的静态代理,并且使用静态代理对IndicatorView进行了重构。静态代理的优点不必多说,它可以让代码具有扩展性,也可以让代码解耦。但在现实开发中,静态代理有时候也存在很多弊端,列举如下:当接口需要增加、删除、修改方法时,被代理类与代理类都需要修改,不易维护。由于代理类要实现与被代理类一致的接口,当有多个类需要被代理时,会存在以下问题:如果让代理类实现所有被代理类的接口,这样会

2021-08-22 11:51:55 259

原创 不得不说的Android Binder机制与AIDL

说起Android的进程间通信,想必大家都会不约而同的想起Android中的Binder机制。而提起Binder,想必也有不少同学会想起初学Android时被Binder和AIDL支配的恐惧感。但是作为一个Android开发者,Binder是我们必须掌握的知识。因为它是构架整个Android大厦的钢筋和混凝土,连接了Android各个系统服务和上层应用。只有了解了Binder机制才能更加深入的理解Android开发和Android Framework。这也是为什么无论是《Android开发艺术探索》还是《深

2021-08-07 17:24:29 689 1

原创 用BVP一比一还原自如客APP裸眼3D效果(Android原生)

前几天,自如大前端开源了一个裸眼3D效果的Banner轮播图的实现方案。看着非常有意思,于是趁着空闲时间结合我的开源库BannerViewPager码了一个自如裸眼3D效果的demo。demo基本实现了自如APP的Banner效果。关于实现原理,自如客APP裸眼3D效果的实现这篇文章已经写得很清楚了,本篇文章就不再赘述了,这里主要看一下代码实现。一、监听传感器的ViewSensorLayout裸眼3D效果的核心其实就是SensorLayout的实现,这个View通过监听传感器来计算View的位移,然后

2021-08-02 22:37:35 1146 1

原创 手撕专有钉钉Android面试题完全指南

众所周知,在这个内卷化的年代,Android面试题的难度早已今非昔比。大厂的面试除了重视基础外,也更加注重面试者自身的知识广度和深度。作为一个Android开发者,不仅要打好自身基础,更重要的是要建立起自己的知识体系。本篇文章是笔者花费近一年时间总结收集的Android面试题。主要涵盖两块内容:Java基础部分和Android部分,另外还有不太完善的计算机网络专题和算法专题。首先,我承认,这篇文章有蹭《专有钉钉前端面试指南》热度的嫌疑,但是文章内容绝对是干货。毕竟为什么只允许前端有那么好的面试总结,我An

2021-07-26 22:23:49 285

原创 Java并发系列番外篇:ThreadLocal原理其实很简单

多线程并发是Java语言中非常重要的一块内容,同时,也是Java基础的一个难点。说它重要是因为多线程是日常开发中频繁用到的知识,说它难是因为多线程并发涉及到的知识点非常之多,想要完全掌握Java的并发相关知识并非易事。也正因此,Java并发成了Java面试中最高频的知识点之一。本系列文章将从Java内存模型、volatile关键字、synchronized关键字、ReetrantLock、Atomic并发类以及线程池等方面来系统的认识Java的并发知识。通过本系列文章的学习你将深入理解volatile关键字

2021-07-19 00:23:36 182 1

原创 Java并发系列终结篇:彻底搞懂Java线程池的工作原理

多线程并发是Java语言中非常重要的一块内容,同时,也是Java基础的一个难点。说它重要是因为多线程是日常开发中频繁用到的知识,说它难是因为多线程并发涉及到的知识点非常之多,想要完全掌握Java的并发相关知识并非易事。也正因此,Java并发成了Java面试中最高频的知识点之一。本系列文章将从Java内存模型、volatile关键字、synchronized关键字、ReetrantLock、Atomic并发类以及线程池等方面来系统的认识Java的并发知识。通过本系列文章的学习你将深入理解volatile关键字

2021-07-10 17:05:53 321 1

原创 深入理解Java线程的等待与唤醒机制(二)

本文已参与好文召集令活动,点击查看:后端、大前端双赛道投稿,2万元奖池等你挑战!多线程并发是Java语言中非常重要的一块内容,同时,也是Java基础的一个难点。说它重要是因为多线程是日常开发中频繁用到的知识,说它难是因为多线程并发涉及到的知识点非常之多,想要完全掌握Java的并发相关知识并非易事。也正因此,Java并发成了Java面试中最高频的知识点之一。本系列文章将从Java内存模型、volatile关键字、synchronized关键字、ReetrantLock、Atomic并发类以及线程池等方面来系

2021-07-03 19:15:43 314 2

原创 深入理解Java线程的等待与唤醒机制(一)

多线程并发是Java语言中非常重要的一块内容,同时,也是Java基础的一个难点。说它重要是因为多线程是日常开发中频繁用到的知识,说它难是因为多线程并发涉及到的知识点非常之多,想要完全掌握Java的并发相关知识并非易事。也正因此,Java并发成了Java面试中最高频的知识点之一。本系列文章将从Java内存模型、volatile关键字、synchronized关键字、ReetrantLock、Atomic并发类以及线程池等方面来系统的认识Java的并发知识。通过本系列文章的学习你将深入理解volatile关键字

2021-07-02 01:12:02 339

原创 这一次,彻底搞懂Java并发包中的Atomic原子类

多线程并发是Java语言中非常重要的一块内容,同时,也是Java基础的一个难点。说它重要是因为多线程是日常开发中频繁用到的知识,说它难是因为多线程并发涉及到的知识点非常之多,想要完全掌握Java的并发相关知识并非易事。也正因此,Java并发成了Java面试中最高频的知识点之一。本系列文章将从Java内存模型、volatile关键字、synchronized关键字、ReetrantLock、Atomic并发类以及线程池等方面来系统的认识Java的并发知识。通过本系列文章的学习你将深入理解volatile关键字

2021-06-26 15:33:42 469

原创 这一次,彻底搞懂Java中的ReentranLock实现原理

多线程并发是Java语言中非常重要的一块内容,同时,也是Java基础的一个难点。说它重要是因为多线程是日常开发中频繁用到的知识,说它难是因为多线程并发涉及到的知识点非常之多,想要完全掌握Java的并发相关知识并非易事。也正因此,Java并发成了Java面试中最高频的知识点之一。本系列文章将从Java内存模型、volatile关键字、synchronized关键字、ReetrantLock、Atomic并发类以及线程池等方面来系统的认识Java的并发知识。通过本系列文章的学习你将深入理解volatile关键字

2021-06-19 23:20:04 1181 1

原创 这一次,彻底搞懂Java中的synchronized关键字

多线程并发是Java语言中非常重要的一块内容,同时,也是Java基础的一个难点。说它重要是因为多线程是日常开发中频繁用到的知识,说它难是因为多线程并发涉及到的知识点非常之多,想要完全掌握Java的并发相关知识并非易事。也正因此,Java并发成了Java面试中最高频的知识点之一。本系列文章将从Java内存模型、volatile关键字、synchronized关键字、ReetrantLock、Atomic并发类以及线程池等方面来系统的认识Java的并发知识。通过本系列文章的学习你将深入理解volatile关键字

2021-06-14 17:21:44 1594 1

原创 这一次,彻底搞懂SparseArray实现原理

最近在整理SparseArray这一知识点的时候,发现网上大多数SparseArray原理分析的文章都存在很多问题(可以说很多作者并没有读懂SparseArray的源码),也正因此,才有了这篇SparseArray原理的文章。我们知道,SparseArray与ArrayMap是Android中高效存储K-V的数据结构,也是是Android面试中的常客,弄懂它们的实现原理是很有必要的,本篇文章就以SparseArray的源码为例进行深入分析。一、SparseArray的类结构SparseArray可以翻译

2021-06-13 17:06:18 1023 5

原创 这一次,彻底搞懂Java内存模型与volatile关键字

多线程并发是Java语言中非常重要的一块内容,同时,也是Java基础的一个难点。说它重要是因为多线程是日常开发中频繁用到的知识,说它难是因为多线程并发涉及到的知识点非常之多,想要完全掌握Java的并发相关知识并非易事。也正因此,Java并发成了Java面试中最高频的知识点之一。本系列文章将从Java内存模型、volatile关键字、synchronized关键字、ReetrantLock、Atomic并发类以及线程池等方面来系统的认识Java的并发知识。通过本系列文章的学习你将深入理解volatile关键字

2021-05-30 00:04:35 207

原创 Java进阶--Java中的泛型详解

Java泛型是在JDK1.5中引进来的一个概念。泛型意为泛化的参数类型,英文为**Generics **,翻译过来其实就是通用类型的意思。泛型在平时开发中经常用到,例如常用的集合类、Class类等都是JDK给我们提供的泛型类,更多的时候我们还会使用自定义泛型。可见,泛型在Java体系中还是一个很重要的知识。那么,本篇文章我们就来系统的学习一下Java的泛型。一、为什么要引入泛型上边已经提到,泛型是在JDK 1.5引进来的一个概念。我们知道,现在声明一个List集合是需要指定List的泛型的,指定了Lis

2021-01-16 22:12:15 833 1

原创 Java进阶--深入理解Java的反射机制

Java

2021-01-14 23:53:35 519 1

原创 这可能是ViewPager2滑动冲突最全处理方案

自去年12月份ViewPager2正式版发布以后,ViewPager2已经开始逐渐替代旧版本的ViewPager。许多开发者也已经在项目中使用了ViewPager2。BannerViewPager作为一个封装ViewPager的轮播图库在第一时间迁移到了ViewPager2,并在2020年4月份发布了ViewPager2版本的BVP 3.0。相比ViewPager,ViewPager2的功能不可谓不强大,但ViewPager2却也有不少的问题。其中最大的一个问题就是滑动冲突。我们知道,两个横向滑动的View

2020-12-29 07:55:30 5982

原创 跟ViewHolder说再见!实现一个无限轮播图究竟有多简单?

去年8月份,我在Github开源了一个无限循环的轮播图库–BannerViewPager(以下简称BVP)。时至今日,一年多的时间过去了,BVP在大家的支持下已经在GitHub上收获了1.9k的Star。前段时间,我将BVP迁移到了Gitee,也很有幸受到了Gitee官方的认可,并得到了Gitee官方的推荐,短时间内在Gitee上收获了近120个Star。当然,能够却得这么大的成绩离不开大家的支持。另一方面也少不了我对BVP的悉心维护。BVP最初的目标是做一个全网最好用的轮播图库,让大家用尽可能少的代码实

2020-12-27 20:09:26 363

原创 Java进阶--探索Java虚拟机的类加载机制

我们知道Java语言是一门可以跨平台执行的程序语言。之所以能实现跨平台这一特性,都归根于Java虚拟机。Java虚拟机通过运行Java字节码屏蔽了系统平台的差异。在初学Java的时候相信大家都使用过javac的命令去编译Java文件,通过javac命令会编译成一个.class的字节码文件。Java虚拟机所能识别的就是字节码文件。在Java程序执行之前,虚拟机必须要将执行程序所需要的类库字节码以及程序代码的字节码先加载到虚拟机。那么,今天我们就来深入了解一下JVM加载字节码的这个过程。...

2020-12-25 00:45:24 455

原创 ButterKnife被弃用,ViewBinding才是findView的未来?

最近Android Studio更新到了4.1版本,发现项目中使用ButterKnife注解id的代码出现了警告,警告信息如下:Resource IDs will be non-final in Android Gradle Plugin version 5.0, avoid using them as annotation attributes从警告信息中可以看到在Gradle 5.0的插件中Resource 的Id值将不会再是final类型,因此应该避免在注解属性中使用Id。这意味着当我们把Gr

2020-11-29 01:09:14 5584 1

原创 面试官:哈希表都不知道,你是怎么看懂HashMap的?

HashMap是Java面试中的必问考点之一,网上关于HashMap实现原理的文章数不胜数。但是在翻阅了大部分HashMap相关的文章之后,发现大多数文章都是对HashMap源码的分析,丝毫没有提到哈希表的概念。这就导致了很多人只记住了HashMap的原理,却不知哈希表为何物的奇特现象。很多情况下,面试官可能并不会直接问HashMap是如何实现的,而是抛出一个质问三连:...

2020-09-25 01:34:29 1309 3

原创 Java进阶--Java垃圾回收机制全面解析

提起Java的垃圾回收机制大家应该都不陌生。它不仅是面试的常客,也是Java体系中相当重要的一块知识。深入理解Java的GC机制,有助于我们在开发中提高程序的性能。本篇文章将对JVM的垃圾回收机制进行深入分析,同时还会带大家认识众多垃圾回收器的特性。一、GC机制概述在《温故知新–JVM运行时内存区域详解》这篇文章中我们对JVM的运行时内存区域进行了详细的分析。我们知道对象的创建是由JVM完成的,在对象创建的时候JVM会在Java堆中开辟一块空间用来存储这个对象。而当对象“死亡”的时候,同样是由JVM来处

2020-09-19 23:51:18 4638 1

原创 Java进阶--深入理解Java中的字符串(二)

上篇文章我们深入分析了String的一些特性,在对String字符串拼接的分析中,我们用StringBuilder做了对比,从中认识到了StringBuilder在字符串操作中所表现出来的优秀性能。而提到StringBuilder又不得不提StringBuffer。本篇文章我们就来深入的认识一下StringBuilder和StringBuffer。......

2020-09-12 04:31:10 168

原创 Java进阶--深入理解Java中的字符串(一)

初学Java时我们已经知道Java中可以分为两大数据类型,分别为基本数据类型和引用数据类型。而在这两大数据类型中有一个特殊的数据类型String,String属于引用数据类型,但又有区别于其它的引用数据类型。可以说它是数据类型中的一朵奇葩。那么,本篇文章我们就来深入的认识一下Java中的字符串。一、String的内存分配方式我们知道,实例化一个字符串可以通过两种方法来实现,第一种最常用的是通过字面量赋值的方式来实例化字符串,另一种是通过构造方法的方式来实例化字符串。代码如下: String str1=

2020-09-08 02:08:20 478 1

原创 Java进阶--Java运行时内存区域详解

Java内存分配是Java基础中非常重要的一部分内容,深入理解JVM的内存分配机制将有助于我们解决开发中遇到的很多问题。同时,内存分配这一块也是面试常客。笔者作为面试官也问过不少内存分配的问题,但令笔者惊讶的是不少三五年经验的面试者对于这块内容的回答也是含糊其辞,显然没有完全搞明白。那么本节内容我们就来系统的回顾一下Java中的内存分配机制。JVM内存分配概述首先,我们应该明白一点,JVM并不是单一的存在,在Java二十多年的发展史中曾经涌现出了许多优秀的虚拟机,如大家耳熟能详的HotSpot虚拟机就是

2020-09-04 03:08:15 1351

原创 学不动也要学!探究Fragmen延迟加载的前世今生

上周在[《学不动也要学!深入了解ViewPager2》](https://juejin.im/post/5df4aabe6fb9a0161104c8eb)一篇文章的留言中,大家普遍对于Fragment懒加载的问题比较关心。其实,对于Fragment懒加载问题的处理由来已久,网上不乏相关的优秀文章。但是,由于Fragment生命周期的原因使得懒加载问题的处理并不是那么的优雅。显然,Google也意识到了问题所在。因此,在Androidx的库中对于Fragment的生命周期进行了深度优化,使得我们更容易的去..

2020-01-02 17:31:50 636 1

原创 学不动也要学!深入了解ViewPager2

就在上个月20号(2019年11月20号),期待已久的ViewPager2 1.0.0正式版终于发布了!不知道你是否已经蠢蠢欲动着手去改造你项目的ViewPager了?什么?你还不知道什么是ViewPager2?那么请你马上系好安全带,本篇文章将带你一览ViewPager2的风采。一、ViewPager2的新特性在今年的2月9日,谷歌官方悄然发布了一个ViewPager2 的新库,从名字就可以......

2019-12-14 16:47:19 6477 2

原创 干货满满,整理给程序员的十五款开发利器

一、文档篇1.PDF神器–Easy PDF2.在线文档编辑器–腾讯文档3.笔记与文档知识库–语雀4.JSON处理工具–Bejson二、图片篇1.GIF神器–ezgif2.图片压缩神器–TinyPNG3.在线作图–ProcessOn4.Android .9阴影图生成器–Android Shadow Generator5.炫酷动画–LottieFiles6.业界大佬–PhotoS...

2019-12-05 00:27:23 497

原创 静态代理这么用?聊一聊ViewPagerIndicator重构的一些经验

很高兴又和大家见面了,本篇文章是《BannerViewPager系列》的第三篇。就在不久前BannerViewPager发布了2.5.0版本,在这个版本中针对Indicator部分的代码进行了重构。本篇文章带大家一起来了解下本次重构Indicator中用到的设计思想,顺便回顾及加深认识一下静态代理模式。如果你还不了解BannerViewPage可以先阅读前两篇文章:《打造一个丝滑般自动轮播无限循...

2019-11-24 12:05:21 427

原创 这可能是全网最好用的Banner轮播库

自上篇文章《打造一个丝滑般自动轮播无限循环Android库》发布之后BannerViewPager又迎来了众多功能更新(还不了解BannerViewPager的同学可以戳上边链接查看)。现在的BannerViewPager已经具有非常丰富的API接口,同时可以支持市面上百分之九十以上的样式。还不了解BannerViewPager的同学可以先下载Apk体验。demo apk存放在github上,下载...

2019-11-15 23:19:10 2074

原创 RecyclerView/ListView嵌套CheckBox选中状态错乱解决方案

在讨论这个问题之前应该先了解ListView的复用机制 ListView复用的原理:ListView中的每一个Item显示都需要Adapter调用一次getView的方法,这个方法会传入一个convertView的参数,返回的View就是这个Item显示的View。如果当Item的数量足够大,再为每一个Item都创建一个View对象,必将占用很多内存,创建View对象(mInflater.inf...

2019-09-22 17:51:31 10554 6

原创 基于Arouter的路由实现方案

这本是一篇应该写在去年的文章,但仅仅因为...懒,这篇文章在草稿箱里静静的躺了一年多,被无限期推迟到了现在。最近刚好完成了公司项目的路由改造,借此机会来对这篇文章做一个了结。# 一、为什么要在项目中引入路由?在开始之前我们先来思考一下这个问题。为什么要在项目中引入路由?相信大家的答案可能会有所不同,但是应该也不外乎以下几点:...

2019-09-18 01:33:29 1094 2

原创 BannerViewPager源码剖析

产品的需求千变万化,你永远也猜不到下一步产品会给你提一个什么样的需求。因此对于一个比较人性化的Banner库来说,它也应该支持开发者去自定义任意的Item页面布局。BannerViewPager就是本着这样的思路来做的。那么究竟其内部是如何实现的呢?

2019-09-08 15:06:16 1734

原创 打造一个丝滑般自动轮播无限循环Android库

最近公司项目在升级AndroidX,由于项目中用到的一些比较老的库都已停止更新维护,因此需要将这些库替换掉,其中就包括自动轮播的Banner库。恰逢笔者在之前写过一个轮播图,因此就在此基础上重构,打造出了一个全新的支持多种样式的轮播库---[BannerViewPager](https://github.com/zhpanvip/BannerViewPager/tree/master)。[BannerViewPager](https://github.com/zhpanvip/BannerViewPager

2019-09-01 22:14:13 4407 1

原创 手撕黄油刀--探究ButterKnife实现原理

上篇文章我们提到属性动画中由一个setInterpolator(TimeInterpolator value)的方法,这个方法是为动画设置一个插值器,可以去控制动画的速率,那么本篇文章就承接属性动画继续探究属性动画插值器用法。插值器的用法非常简单,系统给我们提供了setInterpolator(TimeInterpolator value)的方法,我们只需要传入一个插值器就可以了,我们来看一个......

2019-08-26 10:02:12 739

原创 Java进阶--编译时注解处理器(APT)详解

上篇文章我们使用注解+反射实现了一个仿ButterKnife功能的示例。考虑到反射是在运行时完成的,多少会影响程序性能。因此,ButterKnife本身并非基于注解+反射来实现的,而是用Annotation Processor在编译时处理注解的。Annotation Processor是javac的一个工具,它用来在编译时扫描和处理注解。 一、了解Annotation Processor 自定......

2019-08-24 03:18:44 31710 14

原创 Android动画那些事儿---属性动画(Property Animation)

上篇文章详细讲解了视图动画,也提到了视图动画存在的先天不足,即补间动画不具有交互性。动画改变的只是显示效果,其响应事件却依然还在原来的位置。在Android3.0之后引入了属性动画,...

2019-08-19 15:48:01 382

原创 Android动画那些事儿---视图动画(View Animation)

在Android系统中,谷歌提供了大量的动画Api来满足开发者产品中各式各样的动画需求。从Android 2.0时期的View动画到Android3.0时期的属性动画,再到Android5.0之后引入的转场动画以及后来为了能够让开发者快捷的实现弹性动画在support25中引入的SpringAnimation等等,各式各样的动画框架层出不穷。尤其对于初学者来说,见到炫酷的动画特效时直呼牛批,让自己...

2019-07-20 04:01:55 392

ViewPager2Sample.7z

ViewPager2 Sample 详情请参考文章 https://blog.csdn.net/qq_20521573/article/details/103484026

2019-12-14

WidgetDemo.zip

Androiod 桌面Widget开发的一个的示例

2019-09-03

ExpandableListView

Item可以展开的ListView,很详细。 详情参看http://blog.csdn.net/qq_20521573/article/details/52665196

2016-09-26

ListView中嵌套CheckBox

下载积分被CSDN设置了50积分,非本人所为。没有积分的可以参看这篇文章。文章中代码基本都贴出来了。https://blog.csdn.net/qq_20521573/article/details/52073472

2016-09-25

CoordinatorLayout

http://blog.csdn.net/qq_20521573/article/details/52566994

2016-09-18

Android中的Toolbar详解

关于如何使用Toolbar请参看博客:http://blog.csdn.net/qq_20521573/article/details/52073472

2016-07-30

接口回调实现简易购物车功能

重点是接口回调的应用,不是购物车实现。下载前请看清楚说明。 详情参看博客:http://blog.csdn.net/qq_20521573/article/details/52054774

2016-07-28

接口回调实现简易购物城功能

重点是接口回调的应用,不是购物车实现。下载前请看清楚说明。 详情参看博客:http://blog.csdn.net/qq_20521573/article/details/52054774

2016-07-28

ViewPager实现图片自动轮播和无限循环(完美流畅)

详情请参看博客http://blog.csdn.net/qq_20521573/article/details/52037929

2016-07-26

ViewPager实现图片自动轮播无限循环(完美流畅版)

详情请参看博客http://blog.csdn.net/qq_20521573/article/details/52037929

2016-07-26

面向对象思想实现AsyncTask类的复用

用面向对象思想实现AsyncTask类的复用

2016-07-25

解析json实现listview,listView优化、子控件点击事件等实现

该实例实现了请求网络数据并解析Json适配listView,并对listview进行优化、图片缓存、和子控件的点击事件的实现。

2016-07-24

android省市区三级联动

使用PickerView控件实现省市区三级联动的效果

2016-07-15

空空如也

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

TA关注的人

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