自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

一片枫叶的专栏

让坚持成为一种习惯。

原创 Android产品研发系列

本个系列的文章主要是讲解android产品研发过程中一些需要注意的技术技巧与实践。其主要面对产品研发,对App稳定性,友好型,兼容性要求较高的App

2016-06-12 19:51:13 11933 14

原创 Github项目解析系列

Github项目解析系列主要解析的是平时开发过程中遇到的小项目小例子,自己总结的一些研发技巧与实践,以及一些Github中流行的项目等

2016-03-23 20:42:40 3429 2

原创 Android tips知识点系列

Android tips系列主要是一些android中小问题,小知识点的总结与归纳,下面是这些tips的文章列表,不定时更新ing...

2016-03-20 17:27:46 3779 0

原创 Android源码解析系列

知乎上看了一篇非常不错的博文:<a href="http://zhuanlan.zhihu.com/kaede/20563936">有没有必要阅读ANDROID源码</a> 看完之后痛定思过,平时所学往往是知其然然不知其所以然,所以为了更好的深入andr...

2016-02-19 10:33:42 26109 7

转载 太用力的人跑不远

写在前面:有阶段的自己,会用蛮力去学习一些东西,就是这东西不管是否适合目前自己的知识体系, 觉得学了之后会更牛逼就去学,但是这样的东西往往学了记不住。 学习的过程越用力反而显得越吃力, 太吃力的事情,自然就无法有恒心, 这就是很多人会觉得自己做事总是无法持之以恒的原因。努力不应该是某种需要被时常觉...

2015-08-04 11:14:59 4517 8

原创 Android标准的选择图片操作

打开相机一般来说有两种方式,一种是自己初始化相机,调用Camera组件,相对来说这种比较复杂,需要做的工作也比较多,还有一种是调用相机的隐式Intent打开相机,打开相机选择图片这种需求其实调用隐式Intent就可以了,没必要自己初始化camera对象...

2016-11-08 20:02:36 2431 1

翻译 Kotlin(二)-->基础语法

关于kotlin的基础语法相关知识点...

2016-11-04 10:14:11 5516 0

原创 Kotlin(一)-->Android Studio配置Kotlin开发环境

新的产品开发中Android端已经完全使用Kotlin作为开发语言了,目前为止还没有发现什么不适的地方。所以今天我们将讲解一下如何在Android Studio中配置Kotlin开发环境,算是为Kotlin讲解一下入门知识,后续会慢慢更新kotlin相关知识...

2016-10-27 09:44:27 35283 11

原创 Github项目解析(十四)-->快速实现自定义地图聚合操作

本文我将讲解一下我最近实现的高德地图Marker的聚合功能。在项目开发中需要使用到地图Marker的聚合功能,但是高德地图并没有实现对Marker的聚合功能,所以需要自己实现其聚合功能...

2016-10-21 09:02:57 7977 7

原创 Android tips(十四)-->解决AppBarLayout滑动不畅的问题

最近在开发的App中需要实现Toolbar与顶部内容区域级联滚动的效果,一开始就想到了Android 5.0 中新添加的AppBarLayout控件,其正好是实现这个效果的,所以马上就使用这个组件实现了一个类似的效果,但是实现过程中发现AppBarLayout滑动时不流畅...

2016-10-17 18:39:47 17243 7

原创 Android产品研发(二十五)-->MVC/MVVM/MVP简单理解

本文我们将讲解Android开发中常常涉及到的MVC/MVP/MVVM等模式的基本概念。许多童鞋对Android开发中涉及到的MVC、MVP、MVVM这三种模式不是太清楚,我认为无论是MVC、MVP亦或者是MVVM都是一种代码组织方式,通过这种代码组织方式能够让代码更有层次感,各个层次主要负责各自...

2016-10-15 16:02:02 3669 1

原创 Android tips(十三)-->Android开发过程中使用Lambda表达式

新的Java8 API中提供了不少新的特性,其中就有Lambda表达式。而本文我们将主要介绍一下在Android开发过程中如何使用Lambda表达式,这里主要是为我们后续介绍RxAndroid、RxJava相关知识做铺垫的...

2016-10-08 09:11:50 2360 0

原创 Android tips(十二)-->Android开发中使用矢量图

本文我们将介绍一些关于Android矢量图的相关知识点。最新的项目中要求以矢量图替代传统的.png资源文件,所以特意学习了一下Android中的矢量图相关概念,不得不说矢量图还是一个比较好的适配方案。Android从Android5.0开始引入了对矢量图的支持,但是其并不支持svg这种矢量图片格式...

2016-10-02 09:40:32 5422 3

原创 Android产品研发(二十四)-->内存泄露场景与检测

本文我们将讲解一下关于Android开发过程中常见的内存泄露场景与检测方案。Android系统为每个应用程序分配的内存是有限的,当一个应用中产生的内存泄漏的情况比较多时,这就会导致应用所需要的内存超过这个系统分配的内存限额,进而造成了内存溢出而导致应用崩溃。在实际的开发过程中我们由于对程序代码的不...

2016-09-29 09:19:27 4517 2

原创 Github项目解析(十三)-->使用Kotlin实现UC头条ViewPager左右滑动效果

本文我们将介绍一个使用kotlin实现的仿照UC头条ViewPager的左右滑动效果。这个项目是为了学习kotlin的使用以及基本语法,在实现的过程中主要需要注意的有两点:一个是UC头条在滑动过程中的遮盖动画效果,一个是跨多个Tab点击屏蔽多个页面滑动效果

2016-09-26 09:18:45 3195 7

原创 Android tips(十一)-->android开发者需要了解的chrome插件

本文主要是总结了android开发者常用的一些chrome插件,相信有了这些插件的话你的开发效率会大大的提升

2016-09-22 11:06:35 2376 0

原创 Github项目解析(十二)-->一个简单的多行文本显示控件

本文我们将讲解一个使用的多行文本显示控件,在实际开发过程中我们时常会遇到这种需求:有两个TextView控件分行显示,当第一个TextView的内容过多一行显示不下时,我们需要将第二个TextView在第一个TextView的第二行末尾显示,当第二个TextView第二行也显示不下时,第一个Tex...

2016-09-20 19:10:48 3700 1

原创 近期参加的各大公司面试总结

最近一段时间一直在找工作,所以参加了不少公司的面试,下面是各个公司的面试总结...

2016-09-11 22:22:05 5800 2

原创 Github项目解析(十一)-->一个简单,强大的自定义广告活动弹窗

本文我们将讲解一个简单,强大的广告活动弹窗控件。不少App在打开的时候需要弹出一个广告活动弹窗,点击广告活动弹窗中的图片就会跳转到一个H5页面,加载显示具体的活动内容等,为了方便大家的操作,我将其做成了一个标准控件:android-adDialog。需要说明的是,虽然其名称为android-adD...

2016-08-07 22:31:15 9513 42

原创 Android tips(十)-->允许模拟位置在Android M下的坑

本文我们将讲解允许模拟位置在Android M下的坑。做地图类应用的同学应该都知道为了避免软件模拟位置影响正常流程的进行我们一般都会判断用户手机是否打开了模拟位置设置,若打开了则终止用户流程,提醒用户关闭模拟位置设置。在android系统的开发者选项中有一个模拟位置的选项,其作用是允许用户通过代码...

2016-08-02 22:26:15 19856 3

原创 Android tips(九)-->Android录屏与转化gif图

今天正好就讲讲android的录屏与转化gif操作。整个Android系统的录制与转化GIF图是分为两个部分,录制过程与转化过程,下面就详细的介绍一下这两个部分的具体过程

2016-07-31 18:13:10 5377 4

原创 Github项目解析(十)-->几行代码快速集成二维码扫描库

本文将讲解一下我最近写的一个快速集成二维码扫描库,这里需要说明的是其核心的实现扫描的功能,是通过调用ZXing库实现的。内部App中使用到了二维码扫描功能,但是网上找了一些关于二维码扫描的例子,只是我在集成的时候发现通过android studio集成zxing二维码库不是特别方便,由于我就有了将...

2016-07-27 18:07:56 43639 230

原创 Android tips(八)-->Android Studio打包apk,aar,jar包

文本我们将讲解android studio打包apk,aar,jar包的相关知识。apk包就是android系统的安装包,这里没什么好说的,aar包是android中独有的类库包,而jar包是java中特有的类库包,在具体的介绍打包之前,我们先来aar包和jar包的区别

2016-07-24 19:53:55 30445 13

原创 Android产品研发(二十三)-->Android中保存静态秘钥实践

本文我们将讲解一个android产品研发中可能会碰到的一个问题:如何在App中保存静态秘钥以及保证其安全性。许多的移动app需要在app端保存一些静态字符串常量,其可能是静态秘钥、第三方appId等。在保存这些字符串常量的时候就涉及到了如何保证秘钥的安全性问题。如何保证在App中静态秘钥唯一且正确...

2016-07-21 22:37:44 10890 8

原创 Android产品研发(二十二)-->Android实用调试技巧

本文我们将讲解android中的调试技巧。程序调试,是将编制的程序投入实际运行前,用手工或编译程序等方法进行测试,修正语法错误和逻辑错误的过程。这是保证计算机信息系统正确性的必不可少的步骤。在android开发过程中熟练的使用调试技巧是一个很重要的方面。android的调试技巧包括熟练使用andr...

2016-07-18 22:55:19 7080 2

原创 Android产品研发(二十一)-->Android中的UI优化

本文我们将讲解一下android UI优化方面的知识。android系统的优化分为好多方面:比如性能优化,UI优化,资源文件优化等等,这里我们先暂时讲解android UI优化方面的知识点

2016-07-16 21:54:02 8332 2

原创 Android产品研发(二十)-->代码Review

本文我们将讲解android中的代码Review。良好的产品开发迭代过程中,代码Review是一个必不可少的步骤,通过代码Review能够提高产品质量,增强团队成员之间的沟通,提高开发效率。所以团队开发活动中定时进行代码Review就显得很有必要了

2016-07-14 21:14:33 8866 2

原创 Android产品研发(十九)-->Android studio中的单元测试

本文我们将讲解如何在android studio中进行单元测试,其可以很方便的为我们提供功能性测试,所以如果项目中有用到测试数据的时候,可以先进行单元测试,如果可以正常输出数据了,然后再到UI中执行,这样会提高一些工作效率

2016-07-11 21:42:37 17124 7

原创 Github项目解析(九)-->实现Activity跳转动画的五种方式

文本中我们将讲解activity切换动画相关的知识点,这里的切换动画指的是是activity跳转时的动画效果。这里总结了一下,有五种方式实现activity切换时实现动画效果。下面我将依次介绍一下每种实现activity切换动画效果的实现方式

2016-07-08 23:15:36 49644 18

原创 Android产品研发(十八)-->webview问题集锦

本文中我们将介绍一下android中webview在使用过程中会遇到的一些问题。这些问题主要是webview在使用过程中我已经趟过的坑,希望通过这篇文章的介绍能够帮助大家更好的使用webview

2016-07-06 21:26:57 7450 2

原创 Android产品研发(十七)-->Hybrid开发

本文将介绍android中hybrid开发相关的知识点。hybrid开发实际上是混合开发的意思,这里的混合是H5开发与Native开发混合的意思。下面的文章中我们将逐个介绍一下hybrid开发的概念、hybrid开发的优势、android中如何实现hybrid开发、简单的hybrid开发的例子,以...

2016-07-04 21:47:27 18231 6

原创 Android产品研发(十六)-->开发者选项

本文主要介绍Android开发中常常涉及到但又不是被人重视知识点:开发者选项。主要涉及到如何打开开发者模式,开发者选项中有哪些操作菜单以及各自的作用,如何清除手机数据,清除手机数据具体清除那些数据等等

2016-07-02 21:35:12 15048 3

原创 Android产品研发(十五)-->内存对象序列化

本文将讲解android中数据传输中需要了解的数据序列化方面的知识,我们知道android开发过程中不同Activity之间传输数据可以通过Intent对象的put**方法传递,对于java的八大基本数据类型(char int float double long short boolean byt...

2016-06-30 22:32:21 9805 3

原创 Android产品研发(十四)-->App升级与更新

本文将讲解app的升级与更新。一般而言用户使用App的时候升级提醒有两种方式获得: - 一种是通过App Store获取 - 一种是打开应用之后提醒用户更新升级 而更新操作一般是在用户点击了升级按钮之后开始执行的,这里的升级操作也分为两种形式: - 一般升级 - 强制升级

2016-06-28 21:58:01 28388 11

原创 Github项目解析(八)-->Activity启动过程中获取组件宽高的五种方式

本文中我将介绍一下android中Activity启动时获取组件宽高的N种方式。我们知道,有时候我们需要在Activity启动的时候获取某一组件的宽或者是高用于动态的更改UI布局文件,但是这时候我们直接通过getWidth和getHeight方法获取是有问题的。

2016-06-26 21:53:37 6900 10

原创 Github项目解析(七)-->防止按钮重复点击

本文中我们介绍我自己封装的一个小的工具类库:按钮点击事件类库,该类库可以防止按钮重复点击,可以判断网络状态,可以判断用户登录状态,以及自定义验证条件等等。其实现的核心原理就是通过自定义实现自身的OnClickListener类,并重写其中的onClick方法,在onClick方法中执行相应的判断逻...

2016-06-23 21:57:38 11309 10

原创 Android产品研发(十三)-->App轮询操作

本文将讲解app端的轮训请求服务,一般而言我们经常将轮训操作用于请求服务器。比如某一个页面我们有定时任务需要时时的从服务器获取更新信息并显示,比如当长连接断掉之后我们可能需要启动轮训请求作为长连接的补充等,所以这时候就用到了轮训服务

2016-06-21 22:00:46 24354 13

原创 Github项目解析(六)-->自定义实现ButterKnife框架

目前在  <a href="http://www.uucars.com/">友友用车</a>  项目中使用到了ButterKnife框架,这是一个通过注解的方式简化程序员代码量,自动映射xml布局文件与对象关系的框...

2016-06-20 10:58:18 7861 5

原创 Github项目解析(五)-->Android日志框架

转载请标明出处:一片枫叶的专栏 本文主要讲解的是自己实现一个简单的android日志框架,可以在android studio控制台中输入日志信息,其简单的使用方式:L.v("..."); L.d("..."); L.i("..."); L...

2016-06-18 23:39:15 11890 16

原创 Android产品研发(十二)-->App长连接实现

本文中我们将讲解一下App的长连接实现。一般而言长连接已经是App的标配了,推送功能的实现基础就是长连接,当然了我们也可以通过轮训操作实现推送功能,但是轮训一般及时性比较差,而且网络消耗与电量销毁比较多,因此一般推送功能都是通过长连接实现的

2016-06-17 18:47:58 48633 33

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