自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Veer的博客

拒绝再玩、向前直冲

  • 博客(50)
  • 资源 (18)
  • 收藏
  • 关注

原创 Android 仿今日头条频道管理(下)(GridView之间Item的移动和拖拽)

前言上篇博客我们说到了今日头条频道管理的操作交互体验,我也介绍了2个GridView之间Item的相互移动,详情请参考:Android 仿今日头条频道管理(上)(GridView之间Item的移动和拖拽)今天把相对比较复杂的gridView的拖拽也记录下,在开始之前我们事先要了解下Android的事件分发机制,网上这方面的资料也比较多。因为自定义控件大部分要用到事件分发机制的知识。实现

2016-01-09 16:07:22 6241 7

原创 Android 仿今日头条频道管理(上)(GridView之间Item的移动和拖拽)

前言经常逛今日头条、发现它的频道管理功能做的特别赞,交互体验非常好、如图:它是2个gridview组成、2个gridview之间的Item是可以相互更换的、而且我的频道的Item是可以拖拽进行排序。仔细观察、今日头条有些细节做的的非常好,当一个gridview1的item移动到另一个gridview2时、gridview1的item不会立即消失、而是有一个没有内容的背景框、等ite

2016-01-08 15:30:42 8180 5

原创 Android 使用模板生成Word文档,支持手机直接查看word

最近在项目工作中,碰到一个很棘手的需求,说是要在手机端根据模板生成word文档,而且不借助第三方的软件可以查看word文档,一开始听这个需求差不多蒙了,这要怎么做,为什么不把生成word文档这个工作放在后台呢,抱怨归抱怨,但是面对需求只能硬着头皮做了,经过各种拷问度娘和谷哥,终于找了一个比较好用的方法。特此跟他家分享。       Apache 公司推出的 Apache POI,我们来看下他的

2015-11-28 17:00:06 15102 34

原创 ThreadPoolExecutor参数图解

为什么使用ThreadPoolExecutor在android开发中经常会使用多线程异步来处理相关任务,而如果用传统的newThread来创建一个子线程进行处理,会造成一些严重的问题:1:在任务众多的情况下,系统要为每一个任务创建一个线程,而任务执行完毕后会销毁每一个线程,所以会造成线程频繁地创建与销毁。2:多个线程频繁地创建会占用大量的资源,并且在资源竞争的时候就容易出现问题,同时这么多的线程缺乏一个统一的管理,容易造成界面的卡顿。3:多个线程频繁地销毁,会频繁地调用GC机制,...

2020-06-30 15:15:57 1440 2

原创 Android图片缓存策略

前言在Android开发中,如果图片过多,而我们又没有对图片进行有效的缓存,就很容易导致OOM(Out Of Memory)错误。因此,图片的缓存是非常重要的,尤其是对图片非常多的应用。现在很多框架都做了很好的图片缓存处理。一直想写一个自己的图片缓存框架,之前一直用Glide、Fresco等一些主流的图片框架。这些框架对处理的处理都做的非常好,也查阅了这些框架的一些源码,整体思路是使用三级...

2018-12-11 15:35:09 2153

转载 Android获取设备唯一标识解决方案

关于Android设备唯一标识符号前言由于在开发中需要开发游客模式,在用户没有登录的情况下必须确保设备的唯一性,于是惯性思维想到的肯定是使用DevicesId 来作为设备的唯一标识,用以代替用户登录以后的唯一标识符。但是由于国内复杂的rom定制情况,以及用户权限禁止的情况。DevicesId 在使用中并不能百分百的货到到。所以本篇文章就是描述一下,我在开发中如何处理设备唯一标识符的。...

2018-10-18 10:16:28 2184 1

原创 Android跨进程通信Binder、Messenger、AIDL汇总

 前言提到的进程间通信(IPC:Inter-Process Communication),在Android系统中,一个进程是不能直接访问另一个进程的内存的,需要提供一些机制在不同的进程之间进行通信,Android官方推出了AIDL(Android Interface Definition Language),它是基于Binder机制的,具体Binder机制的东西就很多了,网上很多资料,我们就不...

2018-08-28 16:27:40 1027

转载 the android gradle plugin version is too old 解决方法

最近几天把android studio的版本升级到2.3的版本后,发现新建的项目编译不通过。提示什么错呢?如下图所示插件版本2.3.0- alpha2太老了??但是2.3版本也不老啊,因为IDE的版本也才2.3.那这个问题到底是什么引起的呢?我们先明白插件版本指的是什么。在android studio中,控制编译时采用gradle哪个版本的文件叫gradle-wrapper.pro...

2018-08-24 10:38:01 1375

原创 控制台Json日志解析处理

在开发中我们经常要在控制台中打印日志,来实时定位追踪问题,但是一般json数据不进行处理的话,都是扎堆在一起,很难一眼找到想要的数据,例如:当数据量一多的时候,简直是灾难,只能把数据copy出来,用解析工具来查看,那有没有什么方法能直接在控制台看到解析好的数据,增加开发效率,那么就需要我们最原始数据进行处理了。/** * json数据处理解析 * Created by Veer * date...

2018-07-06 14:12:26 1547 1

原创 Android主流框架RxJava+Retrofit+MVP

简介最近公司新创立一个项目,准备开始前期工作,搭建框架,正在想着要怎么搭建更好的框架,以便轻松应付后续需求。想着最近比较流行的RxJava+Retrofit+MVP框架,自己也准备写一个通用的前端项目框架,撸起袖子准备开干。RxJavaRxJava 在 GitHub 主页上的自我介绍是 "a library for composing asynchronous and event-based pr...

2018-07-05 13:51:02 5021 8

原创 Lottie的使用

一、简介  Lottie是Airbnb开源的一个面向IOS、Android、React Native的动画库,能分析Adobe After Effects导出的动画,并且能让原生App像使用静态素材一样使用这些动画,完美实现动画效果。  现在使用个平台的native代码实现一套复杂的动画是一件很困难并且很耗时的事,需要为不同尺寸的屏幕加载不同的素材资源,还需要写大量难维护的代码,而Lottie可以...

2018-05-10 15:50:40 571

转载 AndroidStudio创建gitignore忽略已经track的文件

1. 问题原本在新建工程时AS会自动生成.gitignore文件,忽略掉不需要进行track的文件,比如.idea文件夹、build文件夹等,但是我在一开始创建项目的时候没有意识到要忽略文件,把所有文件都track了,此时如果只添加.gitignore就不会生效。 即gitignore只对未track的文件生效,对已经track的文件不生效。对于已经track的文件,直接添加gitig

2017-07-19 17:41:46 1028

转载 Android:Activity 与 Fragment 通信 (99%) 完美解决方案

前言最近一直在想着能否有一种更好的方案来解决:Android中Activity与Fragment之间通信的问题,什么叫更好呢,就是能让Fragment的复用性高,性能还有好(不用反射),代码还要好维护,不需要为每对Activity和Fragment之间定义接口而发愁。先简单说下Javascript这门语言吧,或许有人就会问:咱们不是聊Android的java问题吗?怎么话题转到Ja

2017-02-16 11:26:37 2385

转载 阿里巴巴Java开发手册

一、编程规约(一)命名规约【强制】 代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束。反例:_name / __name / $Object / name_ / name$ / Object$【强制】 代码中的命名严禁使用拼音与英文混合的方式,更不允许直接使用中文的方式。说明:正确的英文拼写和语法可以让阅读者易于理解,避免歧

2017-02-13 13:47:30 3392

转载 通用Android应用架构:从建项目开始

1.项目结构现在的MVP模式越来越流行。就默认采用了。如果项目比较小的话:app——Application Activity Fragment Presenter等的顶级父类config——API,常量表等model——数据层entities——数据模型presenter——MVP的P

2017-02-08 17:20:40 432

转载 Android 消息处理机制(Looper、Handler、MessageQueue,Message)

Android 消息处理机制估计都被写烂了,但是依然还是要写一下,因为Android应用程序是通过消息来驱动的,Android某种意义上也可以说成是一个以消息驱动的系统,UI、事件、生命周期都和消息处理机制息息相关,并且消息处理机制在整个Android知识体系中也是尤其重要,在太多的源码分析的文章讲得比较繁琐,很多人对整个消息处理机制依然是懵懵懂懂,这篇文章通过一些问答的模式结合Android主线

2017-02-07 16:24:29 363

转载 Android App 沉浸式状态栏解决方案

伴随着 Android 5.0 发布的 Material Design,让 Android 应用告别了以前的工程师审美,迎来了全新的界面,灵动的交互,也让越来越多的 App 开始遵从 material design 设计原则,不再是以前拿着iOS设计稿,做着Android开发。本文就其中的沉浸式状态栏这一特性,描述其兼容到4.4的实现,以及一些使用中的小细节。前言在4.4之前状态栏

2017-02-06 13:39:47 995

转载 50个安卓开发者应该熟悉的Android Studio技巧和资源

本文列举出一些可以提高整体效率的Android Studio技巧和资源。显然有太多太多这方面的东西,但是为了文章的简洁性,我把它限制在50个以内,希望你能喜欢!视觉效果1. Android Logcat的Material颜色主题。要改变Android Studio的Logcat你需要这样做:进入Preferences (Windows上是Settings

2016-12-06 11:13:38 721

转载 Android APP终极瘦身指南

指南条例第1条:使用一套资源这是最基本的一条规则,但非常重要。对于绝大对数APP来说,只需要取一套设计图就足够了。鉴于现在分辨率的趋势,建议取720p的资源,放到xhdpi目录。相对于多套资源,只使用720P的一套资源,在视觉上差别不大,很多大公司的产品也是如此,但却能显著的减少资源占用大小,顺便也能减轻设计师的出图工作量了。注意,这里不是说把不是xhdpi的目录都删除,而是强

2016-12-02 16:22:59 394

转载 Java 方法锁、对象锁、类锁

首先介绍一下对象锁(也叫方法锁)与类锁有那些不同。下文中使用对象锁称呼代替方法锁。  对于对象锁,是针对一个对象的,它只在该对象的某个内存位置声明一个标志位标识该对象是否拥有锁,所以它只会锁住当前的对象。一般一个对象锁是对一个非静态成员变量进行syncronized修饰,或者对一个非静态方法进行syncronized修饰。对于对象锁,不同对象访问同一个被syncronized修饰的方法的时

2016-11-29 14:38:30 10408

转载 RxJava 详解

前言我从去年开始使用 RxJava ,到现在一年多了。今年加入了 Flipboard 后,看到 Flipboard 的 Android 项目也在使用 RxJava ,并且使用的场景越来越多 。而最近这几个月,我也发现国内越来越多的人开始提及 RxJava 。有人说『RxJava 真是太好用了』,有人说『RxJava 真是太难用了』,另外更多的人表示:我真的百度了也谷歌了,但我还是想问: R

2016-10-21 16:46:47 591

转载 Android 进程保活招式大全

目前市面上的应用,貌似除了微信和手Q都会比较担心被用户或者系统(厂商)杀死问题。本文对 Android 进程拉活进行一个总结。Android 进程拉活包括两个层面:A. 提供进程优先级,降低进程被杀死的概率B. 在进程被杀死后,进行拉活本文下面就从这两个方面做一下总结。1. 进程的优先级Android 系统将尽量长时间地保持应用进程,但为了新建进程或

2016-10-21 16:41:59 425

原创 Android自动化打包部署及配置文档

一、需求说明:因诸多因素影响以及条件的限制,当前我们APP的Android端的打包过是手动通过开发工具打包的;这样产生的问题是: 一、Android端的APK的产出得依赖开发人员,如果开发人员不在公司或者电脑旁,测试等部门的同事要打包测试,那么测试部门就没得相对应的包用; 二、因为是手动打出来的包,对Android端的开发人员的专业技能、开发经验、对我们的项

2016-10-20 13:31:19 3173

转载 Android 命名规范

刚接触Android的时候,命名都是按照拼音来,所以有的时候想看懂命名的那个控件什么是什么用的,就要读一遍甚至好几遍才知道,这样的话,在代码的审查和修改过程中就会浪费不少不必要的时间。如果就是我一个人开发,一个人维护的话还好,可是如果一个项目是团队分工合作,这样让你的同事去看你的代码就更加吃力了,因为大家之间的编程方式不一样,所以,在开发过程中,命名规范统一尤为重要,最好是团队中统一好大家命名方法

2016-08-24 18:09:02 299

转载 Android 编程下 Touch 事件的分发和消费机制

Android 中与 Touch 事件相关的方法包括:dispatchTouchEvent(MotionEvent ev)、onInterceptTouchEvent(MotionEvent ev)、onTouchEvent(MotionEvent ev);能够响应这些方法的控件包括:ViewGroup 及其子类、Activity。方法与控件的对应关系如下表所示:Tou

2016-08-23 15:31:01 360

原创 Android 部分内容设置颜色、字体、超链接、图片

//android TextView、EditText对部分内容设置颜色、字体、超链接、图片; //这里是以一个TextView为例子,EditText的设置方法和TextView一样 //TextView对象 TextView txtInfo = new TextView(this); //文本内容 SpannableString ss = new

2016-07-28 20:31:47 352

转载 线程池----ThreadPoolExecutor机制

ThreadPoolExecutor机制 一、概述 1、ThreadPoolExecutor作为java.util.concurrent包对外提供基础实现,以内部线程池的形式对外提供管理任务执行,线程调度,线程池管理等等服务; 2、Executors方法提供的线程服务,都是通过参数设置来实现不同的线程池机制。 3、先来了解其线程池管理的机制,有助于正确使用,避免错误使用导致严重故障

2016-07-05 15:34:50 984

原创 Android studio gradle构建工程的时候很慢经常报错解决方案

我们在使用Android studio开发项目中,随着开发的进行,工程会越来越大,经常会遇到这样的问题报错:Error:Execution failed for task ':Hairy:transformClassesWithDexForDebug'.> com.android.build.api.transform.TransformException: com.android.ide.

2016-06-30 14:51:49 1248

原创 ReactNative安卓首屏白屏优化

前言公司现有app中部分模块使用reactnative开发,之前使用的都是webview来加载H5页面,在实施的过程中,reactnative良好的兼容性,极佳的加载、动画性能,提升了我们的开发、测试效率,提升了用户体验。但是,在android中,当点击某个rn模块的入口按钮,弹出rn的activity到rn的页面展现出来的过程中,会有很明显的白屏现象,不同的机型不同(cpu好的白屏时间短

2016-06-20 16:23:37 2425

原创 Android 图片填充动画

前言最近在项目中,开发下拉刷新列表时,要做一个动画,下拉的时候慢慢填充一个动画,做到一个满血复活的效果(设计师的解释,你懂得--),然后自己写了一个自定义的动画实现此效果。代码package com.example.loading.myloading;import android.content.Context;import android.graphics.Bi

2016-04-27 10:08:39 1485

转载 Socket 通信原理(Android客户端和服务器以TCP&&UDP方式互通)

一、Socket通信简介 Android与服务器的通信方式主要有两种,一是Http通信,一是Socket通信。两者的最大差异在于,http连接使用的是“请求—响应方式”,即在请求时建立连接通道,当客户端向服务器发送请求后,服务器端才能向客户端返回数据。而Socket通信则是在双方建立起连接后就可以直接进行数据的传输,在连接时可实现信息的主动推送,而不需要每次由客户端想服务器发送请求。 那么

2016-03-20 16:54:00 722

原创 Android Service大总结

前言Service一个老生常谈的话题,面试中面试官也经常面试到,说明是一个非常重要的知识点。之前了解的很透彻的、可是过一段时间就忘了、所以一直想写一篇博客记录总结下。一个老练的Android程序员如果连Service都没听说过的话,那确实也太逊了。Service作为Android四大组件之一,在每一个应用程序中都扮演着非常重要的角色。它主要用于在后台处理一些耗时的逻辑,或者去执行某些需要长期运

2016-03-08 17:08:14 1427 1

转载 彻底明白Android中AIDL及其使用

1、为什么要有AIDL?无论学什么东西,最先得弄明白为什么要有这个东西,不要说存在即是合理,存在肯定合理,但是你还是没有明白。对于AIDL有一些人的浅显概念就是,AIDL可以跨进程访问其他应用程序,和其他应用程序通讯,那我告诉你,很多技术都可以访问,如广播(应用A在AndroidManifest.xml中注册指定Action的广播)应用B发送指定Action的广播,A就能收到信息,这样也能看成

2016-02-25 16:40:18 2109

转载 Android系统架构的详细解析(总结)

Android 是Google开发的基于Linux平台的开源手机操作系统。它包括操作系统、用户界面和应用程序 —— 移动电话工作所需的全部软件,而且不存在任何以往阻碍移动产业创新的专有权障碍。Android采用WebKit浏览器引擎,具备触摸屏、高级图形显示和上网功能,用户能够在手机上查看电子邮件、搜索网址和观看视频节目等,比iPhone等其他手机更强调搜索功能,界面更强大,可以说是一种融入全部W

2016-02-02 16:51:11 697

转载 产品经理常用的那些图

图形相比文字更加直观,在产品设计中频繁被运用。原型图、信息结构图、泳道图、用例图等是产品经理在日常工作中经常使用的梳理思维和进行表达的工具,并且结合小喵自己使用的情况,推荐大家几款实用的绘制工具。1. 流程图流程图是对过程、算法、流程的一种图像表示。应对灯泡不亮的简单流程图,图片来自维基百科在产品设计中,流程图就是通过一系列逻辑关系(条件逻辑、先后顺序、因果关联、输入输

2016-02-02 14:59:48 2352

原创 Android 文件缓存方法

前言我们经常遇到从网络获取图片,为了使图片查看流畅,我们肯定要使用缓存,大部分我们会使用内存缓存,但是android内存缓存毕竟是有限的,这样的话,我们必须使用文件来缓存部分图片。思路当我们把一张图片从网络下载成功以后,这个图片会被加入内存缓存和文件缓存,内存缓存来说请参考Android内存溢出大总结,对于文件缓存来说,这张图片将被以url的哈希值加cach后缀名的形式存储在S

2016-02-01 17:48:35 1782

原创 Android 内存溢出大总结

前言最近遇到了Android 内存溢出的问题,自己也研究了许久,想必这是大部分Android开发者所遇到的问题,参考了一些大神的博客,自己想把这一块的知识做个大总结,加深一下自己的理解,顺便做一个记录,方便自己以后查看。Android 内存的意义        其实我们在用安卓手机的时候不用太在意剩余内存,android上的应用是java,当然需要虚拟机,而android上的应

2016-02-01 15:24:22 2178

转载 技术人员怎样转型成为产品经理?

一个优秀的技术人员,通常已经具备了产品经理所需要的基本素质:「抽象思维能力」,「逻辑推理能力」,以及「数据分析能力」,这是一个很好的起点。但是仅仅有好的起点是远远不够的,技术人员在思考产品的时候,很容易遇到一些误区,如果陷在误区里面出不来,那么会变成一个很糟糕的产品经理。下面我们看看技术人员和产品经理之间需要跨越的误区:优秀的技术人员做产品设计,总是假设用户和自己一样的聪明

2016-01-28 15:51:37 955

转载 产品的版本迭代机制是这样的

一款互联网产品的版本迭代不是在最开始就规划好的,也不应该规划好,甚至不用做很长远的规划,因为你的长远规划真的只是停留在规划。一款新产品推出市场,死了或者火了的处理方法比较简单,可如果是不愠不火呢?迭代,该怎么让产品火起来?一、产品的迭代的唯一依据————目标用户产生的数据新产品上线,无论获取用户的方式是什么,是烧钱还是烧钱还是烧钱,一定要获取第一批种子用户。烧钱也不是乱烧的,得烧对地方

2016-01-28 15:46:23 2495

转载 Android Binder机制浅析

摘要Binder是android中一个很重要且很复杂的概念,它在系统的整体运作中发挥着极其重要的作用,不过本文并不打算从深层次分析Binder机制,有两点原因:1是目前网上已经有2篇很好的文章了,2是对Binder机制进行深入底层乃至驱动的分析这一过程相当困难且相当耗时,因此并不适合重复造轮子。本文的角度是对Android的Binder机制从整体和概念上进行分析,能够让大家很快明白到底什么是B

2016-01-25 17:53:19 439

周会分享之数学之美.pptx

数学之美,生活中处处存在数学之美。 我国著名数学家华罗庚说过,“就数学本身而言,是壮丽多彩、千姿百态、引人入胜的……认为数学枯燥乏味的人,只是看到了数学的严谨性,而没有体会出数学的内在美”

2020-07-24

Android跨进程通信Binder、Messenger、AIDL

Android跨进程通信Binder、Messenger、AIDL汇总,代码包含服务端和客户端。一站式解决。

2018-08-28

Android主流框架RxJava+Retrofit+MVP

Android主流框架RxJava+Retrofit+MVP,封装了很多东西,拿来就可使用。适用各种主流APP项目

2018-07-05

阿里巴巴java开发手册

阿里巴巴集团的java开发手册、以及规范

2017-02-13

Android图片填充动画

Android 图片填充动画,可用于下拉刷新动画

2016-04-27

Android Service大总结Demo

Android Service大总结Demo 包括跨进程之间的通信。详情请参考博客

2016-03-08

今日头条产品分析PPT

自己做的一个PPT ,有关今日头条的产品分析、花了点心思。

2016-03-04

浅谈用户体验PPT

自己做的一个PPT,有关于用户体验的、自己发了点心思。

2016-03-04

Android事件分发机制总结Demo

Android事件分发总结Demo ,直观的体验事件分发原理,详情见博客:http://blog.csdn.net/u011916937

2016-01-21

Android 仿今日头条频道管理 (全)(GridView的Item移动、拖拽)

Android 仿今日头条项目的频道管理,GridView的移动和拖拽、超强的交互体验 、详情见博客:http://blog.csdn.net/u011916937

2016-01-09

Android 防今日头条频道管理(GridView的Item移动、拖拽)

Android 防今日头条频道管理功能、实现GridView之间的Item的移动、效果超赞、后续带来Item拖拽的功能。详情见博客:http://blog.csdn.net/u011916937

2016-01-08

Android 上推+推动门效果代码

Android 上推+推动门效果 代码可运行Android studio 博客地址:http://blog.csdn.net/u011916937

2016-01-04

android 创建任意层树形结构开发Demo

Android创建任意层次结构开发Demo ,直接拿来用、详情见我的博客:http://blog.csdn.net/u011916937

2015-12-29

Android 项目Tab标签页面大汇总(frgament viewpage tablayout)

android项目Tab标签页大汇总,包括Fragmeng、Fragment+ViewPage、Tablayout主流的三种方式,代码直接使用。博客介绍:http://blog.csdn.net/u011916937

2015-12-19

Android 使用模板生成Word文档,支持手机直接查看word

Android 使用模板生成Word文档,支持手机直接查看word,很强大、直接拿来用

2015-11-28

Android蓝牙连接打印机进行打印

android 通过蓝牙连接打印机,进行打印,亲测成功

2015-11-26

最全的android图片加密

Android 图片加密解密,包括国际标准的AES加密和混入字节加密,非常实用

2015-11-26

你想要Android数据库操作精华(安全、并发、单例等)

自己写的android数据库操作Demo,使用的是Android Studio开发,包括数据库框架、数据库的加密、并发,单例模式操作数据库,绝对是你想要的Demo。

2015-11-19

空空如也

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

TA关注的人

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