自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

JianTao_Yang的专栏

点滴成长

  • 博客(20)
  • 资源 (7)
  • 收藏
  • 关注

原创 Android Jetpack 架构组件最佳实践

Android Jetpack介绍Android Jetpack 是一套组件、工具和指导,可以帮助您快速构建出色的 Android 应用。Google在17年的I/O大会上推出了架构组件(Architecture Component)。随后在18年I/O大会上发布了 Android Jetpack,Jetpack 是Android开发组件工具集,旨在帮助我们轻松构建更稳定、更健壮、以及...

2019-05-08 00:00:38 1297

原创 深入理解Glide

Glide是一个快速高效的Android图片加载库,注重于平滑的滚动。Glide提供了易用的API,高性能、可扩展的图片解码管道(decode pipeline),以及自动的资源池技术。目前,Glide的最新版本为4.2.0,本文是基于4.1.1这个版本来分析的,同属4.x,变化不大。基本用法多数情况下,使用Glide加载图片非常简单,一行代码足矣:Glide.with(fragment)

2017-10-30 23:01:36 3637

原创 【DSAA】Longest Palindromic Substring

最近刷LeetCode遇到一个比较有意思的题目(Longest Palindromic Substring),求一个字符串的最大回文子串。题目本身并不难,但需要理清思路才好理解,借此文记录下。题目Given a string s, find the longest palindromic substring in s. You may assume that the maximum l

2018-01-05 10:18:38 329

原创 vim新手入门

初识vim Vim编辑器无处不在,速度快,从来不会崩溃。并且,它能做任何事情!vim这种神一样工具,相信你早有耳闻,看到各路大神娴熟、高效的编辑,羡慕的不要不要的。但其学习曲线陡峭,入门门槛高,挡住了大部分兴趣爱好者;以我自己为例,早就想搞vim了,但直到最近几个月才算真正践行了。本文主要分享下怎么轻松上手vim。 入门必备技能vimtutor最好的入门文档。看一遍也就30分钟左右,最好跟

2017-12-13 17:58:50 394

原创 Java单例模式

本文记录几种Java中的单例模式实现,侧重点为,常用、线程安全。这方面的文章很多,这里权当记录存档,方便查阅。简单的线程安全实现public class Singleton { private static Singleton instance = new Singleton(); private Singleton() { } public static Singleton

2017-10-30 23:19:23 282

原创 ISwipeRefreshLayout

ISwipeRefreshLayout是基于SwipeRefreshLayout源码基础上修改,便于使用自定义loading样式的下拉刷新组件。为什么写这个组件?原生的SwipeRefreshLayout好归好,但它不能自定义动画效果,只能简单改下color、alpha等,往往实际开发中都是自家的loading效果。所以就有了ISwipeRefreshLayout。这里贴一个现在项目使用的load

2017-08-09 01:14:42 438

原创 FrameAnimDrawable

本文介绍一个解决安卓帧动画OOM的组件。— FrameAnimDrawable。和AnimationDrawable的关系?AnimationDrawable 系统实现帧动画的Drawable,使用简单,但内存消耗大,动画帧一多就容易出现卡顿甚至OOM。FrameAnimDrawable 实现动态加载,一次只加载当前动画帧,用完即释放,内存消耗少,降低卡顿和OOM发生的概率。FrameAni

2017-08-06 22:13:27 448

原创 迷茫焦虑都走开

不一样的尘都!说明基础专业技术多维度狭义技能多维度广义建立个人品牌Finally说明 本文阅读对象是工作几年后的程序员,尤其是安卓开发者哈,文章内容偏向学习计划/方向和分享。如有不当之处,欢迎批评指正。基础 基础有多重要就不用多说了吧Java 推荐两本书:《Java编程思想》、《Effective Java》Android 首推Google官方教程、《第一行代码》、《安卓开发

2017-05-19 09:27:10 445

原创 android socket 通信实战

android socket client 实现socket 简介创建连接接收消息发送消息断开连接进度灰色保活IPC自定义权限广播重试机制进程异常恢复

2017-04-28 01:27:55 815

原创 Android mvp模式

本文主要说一下MVP模式在Android中的实战应用。文章后面会附上demo代码,以供学习交流。写在前面的话安卓中常见的有MVC、MVP、MVVM三种模式;我的理解,MVC已经过时了,MVP正在大范围使用,MVVM还没普及。建议如果对后两个不熟悉的同学,先从MVP入手,它相对简单易理解。优缺点 模块职责划分明显,层次清晰。方便单元测试。这是使用MVP模式很重要的原因之一。

2016-12-27 21:43:23 890

原创 Java 小知识

本文记录一些开发过程中遇到的知识点,用的时候便于查询。double计算精度问题(使用BigDecimal)上代码// 参数double d1 = 4.015; double d2 = 1000;private static void testDoubleMultiply(double d1, double d2) { double result1= d1*d2;

2016-11-15 17:10:18 461

原创 基于Jenkins+git+gradle+pgyer的android持续集成

主要步骤如下: 1. jenkins 安装配置 2.打包环境配置 3.系统配置及插件管理 4.新建项目、build打包 5.上传蒲公英平台 6.发送邮件通知jenkins 安装配置 Jenkins简介Jenkins 是一个开源项目,提供了一种易于使用的持续集成系统,使开发者从繁杂的集成中解脱出来,专注于更为重要的业务逻辑实现上。同时 Jenkins 能实施监控集成中存在的错误,提供详细

2016-03-07 16:30:19 2052 4

转载 PageAdapter不能刷新问题

在一个 Android 应用中,我使用 FragmentPagerAdapter 来处理多 Fragment 页面的横向滑动。不过我碰到了一个问题,即当 Fragment 对应的数据集发生改变时,我希望能够通过调用 mAdapter.notifyDataSetChanged() 来触发 Fragment 页面使用新的数据调整或重新生成其内容,可是当我调用 notifyDataSetChange

2015-11-07 01:27:15 925

转载 Andorid消息处理机制

首先需要介绍几个非常重要的角色:Looper、Handler、HandlerThread、MessageQueue、MessageLooper帮助一个线程维护一个消息队列,每一个线程都可以拥有一个Looper对象。Handler负责把消息放入线程的消息队列中以及分发消息。HandlerThread本身是一个Thread,并且内部封装了一个Looper对象,所以不用我们去关心Looper

2015-07-22 15:44:06 657

原创 使用系统下载管理类DownloadManager

import java.io.File;import java.util.HashMap;import android.annotation.TargetApi;import android.app.DownloadManager;import android.app.DownloadManager.Query;import android.app.DownloadManager.R

2015-07-02 15:19:41 990

原创 Android ImageCropper 矩形 圆形 裁剪框

支持圆形裁剪框,裁剪后生成圆形图案。代码基于开源项目修改,github上项目链接:https://github.com/shengge/android-crop还是贴下效果图:  说一下圆形裁剪实现部分:1.UI方面,自定义CircleHighlightView继承至HighlightView(原有的矩形裁剪框实现),直接看draw方法实现@Override

2015-02-08 15:30:52 31684 5

原创 自定义ViewFlipper 实现滚动效果

最近不忙,自定义view实现了类似百度手机助手,首页评论滚动效果。看效果:gif做的不好,其效果就是:几个viewitem不停的向上滚动,新加入item有个淡入的效果。说下实现思路:自定义view继承至LinearLayout,控制item数量及其动画效果,实现item复用,传入数据即可,使用方便。代码:/** * Jiantao.Yang * * @desc

2015-02-08 09:53:32 2090

原创 说说对HashMap的理解

理解 HashMap

2015-01-15 17:35:34 1716

原创 获取GPU信息 --createWindowSurface EGL_BAD_NATIVE_WINDOW -- failed: EGL_BAD_MATCH

之前网上有很多关于获取GPU信息的帖子,大部分手机都可以获取到,但部分奇葩就不行了。package com.example.gpuinfo;import javax.microedition.khronos.egl.EGLConfig;import javax.microedition.khronos.opengles.GL10;import android.app.Activit

2013-10-29 14:27:53 7533

原创 android 多线程下载 显示进度 速度

功能要求:从网络下载一APK应用,显示下载速度、进度,并安装应用。运行效果图:工程结构图:很简单,就一个activity,一个更新UI的线程,一个下载线程加个文件处理类主要代码: /** *多线程下载,UI更新类 *@author young * */public class MultiThreadDownload extends Thread{

2012-12-25 16:22:07 12036 6

Java程序员修炼之道-完整目录-高清版.pdf

好书,推荐下载。 所以你看,它就是一种典型的『标记式注解』,仅被编译器可知,编译器在对 java 文件进行编译成字节码的过程中,一旦检测到某个方法上被修饰了该注解,就会去匹对父类中是否具有一个同样方法签名的函数,如果不是,自然不能通过编译。

2019-07-24

Android imageUtil 裁剪

Android imageUtil 裁剪 基于第三方开源修改,希望对您有帮助。

2015-02-08

Android 自定义ViewFlipper 滚动效果

Android 自定义ViewFlipper 滚动效果 仿百度手机助手 首页评论滚动动画

2015-02-08

ImageCropper android裁剪

android图片裁剪lib;裁剪框支持矩形、圆形。

2015-02-01

android 多线程下载demo

android多线程分段下载apk,子线程更新UI,下载完后跳转至应用安装界面。

2012-12-24

android 线程 下载 APK 显示进度 下载速度

一个线程下载资源 一个线程更新UI 从网络下载一个APK 并弹出安装界面

2012-12-20

android 键值添加

在android2.2系统中新增一个遥控器按键的方法。

2012-12-06

空空如也

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

TA关注的人

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