7 jiantaocd

尚未进行身份认证

点滴成长 厚积薄发

等级
TA的排名 12w+

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

【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

vim新手入门

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

2017-12-13 17:58:50

Java单例模式

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

2017-10-30 23:19:23

深入理解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

ISwipeRefreshLayout

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

2017-08-09 01:14:42

FrameAnimDrawable

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

2017-08-06 22:13:27

迷茫焦虑都走开

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

2017-05-19 09:27:10

android socket 通信实战

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

2017-04-28 01:27:55

Android mvp模式

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

2016-12-27 21:43:23

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

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

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

2016-03-07 16:30:19

PageAdapter不能刷新问题

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

2015-11-07 01:27:15

Andorid消息处理机制

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

2015-07-22 15:44:06

使用系统下载管理类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

Android ImageCropper 矩形 圆形 裁剪框

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

2015-02-08 15:30:52

自定义ViewFlipper 实现滚动效果

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

2015-02-08 09:53:32

说说对HashMap的理解

理解 HashMap

2015-01-15 17:35:34

获取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

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

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

2012-12-25 16:22:07
勋章 我的勋章
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。