- 博客(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 1285
原创 深入理解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 3632
原创 【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 322
原创 vim新手入门
初识vim Vim编辑器无处不在,速度快,从来不会崩溃。并且,它能做任何事情!vim这种神一样工具,相信你早有耳闻,看到各路大神娴熟、高效的编辑,羡慕的不要不要的。但其学习曲线陡峭,入门门槛高,挡住了大部分兴趣爱好者;以我自己为例,早就想搞vim了,但直到最近几个月才算真正践行了。本文主要分享下怎么轻松上手vim。 入门必备技能vimtutor最好的入门文档。看一遍也就30分钟左右,最好跟
2017-12-13 17:58:50 392
原创 Java单例模式
本文记录几种Java中的单例模式实现,侧重点为,常用、线程安全。这方面的文章很多,这里权当记录存档,方便查阅。简单的线程安全实现public class Singleton { private static Singleton instance = new Singleton(); private Singleton() { } public static Singleton
2017-10-30 23:19:23 281
原创 ISwipeRefreshLayout
ISwipeRefreshLayout是基于SwipeRefreshLayout源码基础上修改,便于使用自定义loading样式的下拉刷新组件。为什么写这个组件?原生的SwipeRefreshLayout好归好,但它不能自定义动画效果,只能简单改下color、alpha等,往往实际开发中都是自家的loading效果。所以就有了ISwipeRefreshLayout。这里贴一个现在项目使用的load
2017-08-09 01:14:42 434
原创 FrameAnimDrawable
本文介绍一个解决安卓帧动画OOM的组件。— FrameAnimDrawable。和AnimationDrawable的关系?AnimationDrawable 系统实现帧动画的Drawable,使用简单,但内存消耗大,动画帧一多就容易出现卡顿甚至OOM。FrameAnimDrawable 实现动态加载,一次只加载当前动画帧,用完即释放,内存消耗少,降低卡顿和OOM发生的概率。FrameAni
2017-08-06 22:13:27 445
原创 迷茫焦虑都走开
不一样的尘都!说明基础专业技术多维度狭义技能多维度广义建立个人品牌Finally说明 本文阅读对象是工作几年后的程序员,尤其是安卓开发者哈,文章内容偏向学习计划/方向和分享。如有不当之处,欢迎批评指正。基础 基础有多重要就不用多说了吧Java 推荐两本书:《Java编程思想》、《Effective Java》Android 首推Google官方教程、《第一行代码》、《安卓开发
2017-05-19 09:27:10 444
原创 android socket 通信实战
android socket client 实现socket 简介创建连接接收消息发送消息断开连接进度灰色保活IPC自定义权限广播重试机制进程异常恢复
2017-04-28 01:27:55 812
原创 Android mvp模式
本文主要说一下MVP模式在Android中的实战应用。文章后面会附上demo代码,以供学习交流。写在前面的话安卓中常见的有MVC、MVP、MVVM三种模式;我的理解,MVC已经过时了,MVP正在大范围使用,MVVM还没普及。建议如果对后两个不熟悉的同学,先从MVP入手,它相对简单易理解。优缺点 模块职责划分明显,层次清晰。方便单元测试。这是使用MVP模式很重要的原因之一。
2016-12-27 21:43:23 888
原创 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 460
原创 基于Jenkins+git+gradle+pgyer的android持续集成
主要步骤如下: 1. jenkins 安装配置 2.打包环境配置 3.系统配置及插件管理 4.新建项目、build打包 5.上传蒲公英平台 6.发送邮件通知jenkins 安装配置 Jenkins简介Jenkins 是一个开源项目,提供了一种易于使用的持续集成系统,使开发者从繁杂的集成中解脱出来,专注于更为重要的业务逻辑实现上。同时 Jenkins 能实施监控集成中存在的错误,提供详细
2016-03-07 16:30:19 2050 4
转载 PageAdapter不能刷新问题
在一个 Android 应用中,我使用 FragmentPagerAdapter 来处理多 Fragment 页面的横向滑动。不过我碰到了一个问题,即当 Fragment 对应的数据集发生改变时,我希望能够通过调用 mAdapter.notifyDataSetChanged() 来触发 Fragment 页面使用新的数据调整或重新生成其内容,可是当我调用 notifyDataSetChange
2015-11-07 01:27:15 922
转载 Andorid消息处理机制
首先需要介绍几个非常重要的角色:Looper、Handler、HandlerThread、MessageQueue、MessageLooper帮助一个线程维护一个消息队列,每一个线程都可以拥有一个Looper对象。Handler负责把消息放入线程的消息队列中以及分发消息。HandlerThread本身是一个Thread,并且内部封装了一个Looper对象,所以不用我们去关心Looper
2015-07-22 15:44:06 656
原创 使用系统下载管理类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 31672 5
原创 自定义ViewFlipper 实现滚动效果
最近不忙,自定义view实现了类似百度手机助手,首页评论滚动效果。看效果:gif做的不好,其效果就是:几个viewitem不停的向上滚动,新加入item有个淡入的效果。说下实现思路:自定义view继承至LinearLayout,控制item数量及其动画效果,实现item复用,传入数据即可,使用方便。代码:/** * Jiantao.Yang * * @desc
2015-02-08 09:53:32 2086
原创 获取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 7527
原创 android 多线程下载 显示进度 速度
功能要求:从网络下载一APK应用,显示下载速度、进度,并安装应用。运行效果图:工程结构图:很简单,就一个activity,一个更新UI的线程,一个下载线程加个文件处理类主要代码: /** *多线程下载,UI更新类 *@author young * */public class MultiThreadDownload extends Thread{
2012-12-25 16:22:07 12028 6
Java程序员修炼之道-完整目录-高清版.pdf
2019-07-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人