• 使用 CoordinatorLayout 打造一个炫酷的详情页

    Posted by : lon.y@qq.com on 2017年7月4日

    开发中如果能恰当的使用material design的一些设计,不仅能让你的APP更炫酷,最重要的是开发起来easy多了。这里介绍下material design里一个很重要的控件:CoordinatorLayout,以及配合其子view的一些用法。 我们在创建Activity的时候,有一个Activity模板叫Scrolling Activity,它实现的就是简单的可折叠工具栏,我们在创建Activity的时候选择此模板,然后并不需要添加任何代码,跑起来

    阅读全文...

  • 我的 Android 开发者之路以及我在其中学到了什么

    Posted by : lon.y@qq.com on 2017年7月4日

    大家都说所有的关系都需要经历两年、七年甚至十年的磨砺。我忘了是谁说的这句话,但肯定有人在几年前这么跟我说过。 下周是我来悉尼两周年,所以我想现在正是我写这篇文章的好时候。 去年五月份参加 I/O 年会的时候,我遇到了亚斯曼女士,她十分漂亮。她向我询问我是如何成长为一名安卓开发者的,当我说完我的经历时,她认为我应该写个博客记下来。所以亚斯曼,如你所愿,虽然迟了点,但好过没做。;) 故事的开始 如果有件事我可能希望你知道,那就是我发现自己有选择困难症。你最好的

    阅读全文...

  • 尽可能的构建一个拓展性比”较好”的项目,会让你后期迭代好受点

    Posted by : lon.y@qq.com on 2017年7月4日

    这礼拜基本都在忙自己项目上的事,然后之后会“重新整理”后把这部分的功能开源出来,这里@下队友 NeglectedByBoss 本周还是没有停更收纳库,继续安利:https://github.com/ddwhan0123/Useful-Open-Source-Android (把疑难杂症给拆出去了,还剩资料,工具类和自定义控件的细分工作) 本文简单模拟一个读书的业务流程,来谈一下代码拓展性的问题。 建立模型 首先我们得 建立书的对象 public class

    阅读全文...

  • Android Scroll详解(一):基础知识

    Posted by : lon.y@qq.com on 2017年7月4日

    在前边的文章中,我们已经对Android触摸事件处理有了大致的了解,并且详细探讨了MotionEvent的相关用法。对之前文章中的知识还不是很了解的同学,请阅读《Android MotionEvent详解》 今天,我们就来探讨一下Android中界面滚动效果的相关机制,本篇文章主要讲解一下滚动相关的知识点,之后的文章会涉及实际的代码和原理。希望大家阅读完这篇文章之后,能够了解或者掌握一下知识: Android 视图的组成部分 mScrollX和mScrol

    阅读全文...

  • Android 之 GPU过度绘制与图形渲染优化

    Posted by : lon.y@qq.com on 2017年7月4日

    前言 本文主要对过度绘制和图形渲染做一个概念性的描述。 同时以案例方式列出一些简单适用的优化措施。 如果你已对过度绘制有过一些了解,那么你应该明白,仅是简单的层级优化对过度绘制的改善是很小的。所以,这时候你可以参考这篇文章: 优化Android过度绘制 另外如果你还想知道更多关于View优化原理,可以参考 Google 发布的 Android 性能优化典范 概念 GPU过度绘制 是指在一个像素点上绘制多次(超过一次)。举一个简单的例子:显示一个什么都没有做

    阅读全文...

  • Glide 不能说的秘密

    Posted by : lon.y@qq.com on 2017年7月4日

    Glide简介 An image loading and caching library for Android focused on smooth scrolling 一个专注于流畅滑动的图片加载和缓存库 优势 其实现在,图片加载和缓存的库已经超级多了,Glide是目前谷歌官方推荐的加载库,它有一个比较牛的特点就是支持GIF格式的图片播放,目前的人气也超级高!!另外还可以设置渐变的加载效果,控制相关缓存策略等!以下就围绕这些做一些具体的介绍! 引入库 r

    阅读全文...

  • Android 网络编程(7): 源码解析OkHttp前篇[请求网络]

    Posted by : lon.y@qq.com on 2017年7月4日

    Android网络编程(1):HTTP协议原理 Android网络编程(2):HttpClient与HttpURLConnection Android网络编程(3):Volley用法全解析 Android网络编程(4):从源码解析volley Android网络编程(5):OkHttp2.x用法全解析 Android网络编程(6):OkHttp3用法全解析 前言 学会了OkHttp3的用法后,我们当然有必要来了解下OkHttp3的源码,当然现在网上的文章很

    阅读全文...

  • Android GC机制实践调研

    Posted by : lon.y@qq.com on 2017年7月4日

    众所周知,java GC 是影响Android应用性能的主要因素之一。完全交给系统管理的GC往往不尽如人意,而开发者却也毫无办法,只能对着GC迎合啊迎合,想着办法把GC哄开心了呗~ 网上也不乏众多的android 内存优化文章,成为开发者的编码守则。但不管怎么遵守,内存管理依然像一个黑盒子一样,反正我是写着不踏实。就比如下面这几种情况: System.gc(),真的是随叫随到? 软引用弱引用的错误使用 你觉得内存释放了,它就真的释放了么? 幸得Androi

    阅读全文...

  • Android 自定义View 跳动的水果和文字

    Posted by : lon.y@qq.com on 2017年7月4日

    开头 这是自定义View和动画的第二篇,第一篇是Android drawPath 实现QQ拖拽泡泡,主要介绍了drawPath 绘制二次贝塞尔曲线的过程。(idea来自同事的新需求!) 话不多说,还是先上效果图吧!(今天手贱升级了Genymotion,就成这个傻逼样子了!) 效果图 全局配置 根据效果图,再来说说实现的基本过程。上面的Bitmap 的动画就是使用了属性动画ObjectAnimator,而下面的那个跳动的文字,主要就是使用了drawTextO

    阅读全文...

  • 从零开始的 Android新项目(10 ): React Native …

    Posted by : lon.y@qq.com on 2017年7月4日

    本系列: 从零开始的 Android 新项目(1):架构搭建篇 从零开始的 Android 新项目(2):Gradle 篇 从零开始的 Android 新项目(3):谁告诉你MVP和MVVM是互斥的 从零开始的 Android 新项目(4):Dagger2 篇 从零开始的 Android 新项目(5):Repository 层(上) 从零开始的 Android 新项目(6):Repository 层(下) 从零开始的 Android 新项目(7):Data

    阅读全文...