返回首页

文章精选

  • 为什么要使用ItemDecoration系列之不要添加view来做分割线

    首先,什么是ItemDecoration?来看看官网是如何解释的。 An ItemDecoration allows the application to add a special drawing and layout offset to specific item views from the adapter’s data set. This can be useful for drawing dividers between i

    17-06-22
  • 《Effective Java》可能在哪些方面影响了 Kotlin 的设计?

    在重读《Effective Java》时,我发现其中的很多内容对Kotlin来说已经用不着了,所以产生了一个想法,想探讨一下这本书是否影响了Kotlin的设计。

    17-06-22
  • Room Persistence Library(官网文档翻译)

    Room提供了一个 SQLite之上的抽象层,使得在充分利用 SQLite功能的前提下流畅的访问数据库。 Room 对于需要处理大量结构化数据的App来说,把这些数据做本地持久化会带来很大的好处。常见的用例是缓存重要数据块。这样当设备无法连网的时候,用户仍然可以浏览

    17-05-25
  • 【Android】RecyclerView:打造悬浮效果

    悬浮效果 先看个效果 这是一个 City 列表,每个 City 都有所属的 Province ,需要在滑动的时候,将对应的 Province 悬浮在顶部。悬浮顶部的Province需要根据列表的滑动而适当改变位置,实现“顶上去”的效果。 实现思路: 利用 RecyclerView.ItemDecoration

    17-06-15
  • 开源一个后台基于bmob云端的社交app

    该款APP是一个后台基于bmob后端云的社交APP,后台采用bmob云存储技术。界面采用了谷歌的matrial design设计,框架基于MD+Rxjava+retrofit+MVP架构。到目前为止,已经完成的功能模块有单聊,群聊,附近人搜索,开心时刻,天气预报,朋友圈发表和个人信息编辑

    17-06-12
  • [译]对design库中AppBarLayout嵌套滚动问题的修复

    如果你使用过 Material Design 组件 库(就是以前的design support library),特别是类似 AppBarLayout 这样的滚动组件,你很可能注意到了有时滑动会诡异的停止。上图是存在版本和修复后版本的对比。 可以看到,滚动手势在上滚的时候是连贯的,但是在v25.x

    17-06-11
  • 简单高效的实现Android App全局字体替换

    Android O推出了一项新的功能「 Fonts in XML 」,借助这项功能,我们能够像使用其他资源文件一样使用字体,比较方便地实现App全局字体的替换。 为了能够在API 14或者以上的设备上使用Fonts in XML特性,我们需要使用到Support Library 26。更多的内容可以参

    17-06-08
  • [译]20个学习Kotlin的优质资源

    Кotlin是一个运行在Java虚拟机上的现代编程语言。具有优雅的语法的同时,又能兼容现有的Java库。2017年的谷歌I/O大会上,Android团队宣布Kotlin成为了Android平台的官方编程语言。这使得Kotlin将成为顶级的编程语言之一。 为了帮助你开始你的Kotlin旅程,我

    17-06-05
  • 使用Lifecycle处理生命周期

    大多数Android Framework中的app组件都有自己的生命周期。这些生命周期由操作系统或者运行在你的进程中的框架代码所管理。它们是Android系统工作原理的核心,你必须遵守。否则就由可能会导致内存泄漏甚至崩溃。 假设我们有一个显示设备所出位置的activity。

    17-05-24
  • 像大牛一样写代码: 31个Android 开发者工具

    FlowUp 这是一个帮助你跟踪app整体性能的工具,深入分析关键的性能数据如FPS, 内存, CPU, 磁盘, 等等。FlowUp根据用户数量收费。 Stetho 由Facebook开发的一个强大的开源Androiddebug平台,Stetho让原生 Android app的debug跟使用Chrome的开发者工具debug we

    17-05-26
  • App开发架构指南(谷歌官方文档译文)

    这篇文章面向的是已经掌握app开发基本知识,想知道开发健壮的高质量app所需的最佳实践和架构的读者。 注: 本指南假设读者对Android Framework 已经很熟悉。如果你还是app开发的新手,请查看 Getting Started 系列教程,该教程涵盖了本指南的预备知识。 app

    17-05-23
  • 优雅地刷新RecyclerView

    还是那句话,RecyclerView的viewType增多,逻辑变复杂,几个月后,你确定还能理清思路吗?假设我们服务端是多个接口返回数据,你确定能正确刷新相应type吗?想一个RecyclerView高效快捷管理整个界面吗?你还在使用notifyDataSetChanged无脑刷新吗?你想单个viewType在lo

    17-05-22
  • Kotlin正式成为Android官方开发语言

    Kotlin早已是Android开发中的热门话题了,github上越来越多的项目是用Kotlin开发。但是这门语言一直处于很尴尬的境地,一方面自己不遗余力的挖掘自己在Android开发方面的作用,一方面却不是官方支持的语言,导致很多人实际持观望态度。 今天的I/O大会上谷歌

    17-05-18
  • 20多个可以提高你安卓开发技能的开源app

    学习的最佳方式就是阅读,对程序员来说也是如此。如果你想成为一个更优秀的程序员,你必须阅读更多的代码,就是这么简单。书籍,博客,论坛在某种程度上都是有益的,但是没有什么能替代功能完善、代码详细的开源项目。整个app的所有相关资源都直接呈现在你面前。

    17-02-14
  • 创建 Android 设置界面 (第一部分)

    几天前,我开始为我的Android app做设置界面。要不是在老设备上打开来看,我还以为一切正常呢。如果仅仅界面不是material design的倒是可以接受,问题是对话框完全毁了:Android的 internalpreferences 使用Android的 internalapp.AlertDialog,这些dialog和

    17-05-02
  • RxJava资源合集-学习RxJava,看这里就够了

    什么是RxJava? RxJava是响应式程序设计的一种实现。在响应式程序设计中,当数据到达的时候,消费者做出响应。响应式编程可以将事件传递给注册了的 observer。 我们知道RxJava是对于Android项目来说是一个重要的library,所以我们必须好好掌握。 而且我认为:

    17-05-05
  • 创建 Android 设置界面 (第二部分)

    在 第一部分 中我们创建了一个Settings界面并为之设置了主题,接下来我们将修复对话框布局和主题存在的问题。 点击EditTextPreference就会打开dialog。 因为从技术上说preference dialog其实就是v7.app.AlertDialog,我们可以在 Activity的theme 中用下面的

    17-05-03
  • CoordinatorLayout与滚动的处理

    这篇文章专门讲解和CoordinatorLayout相关的知识点,这也是Design Support Library中最重要与最难的部分。 概览 CoordinatorLayout 实现了多种Material Design中提

    15-07-17
  • codepath教程:浮动操作按钮详解

    这篇文章将讲解浮动操作按钮,从官方的和第三方的两方面讲解,同时还讲到了如何自定义CoordinatorLayout Behavior

    15-07-18
  • 为RecyclerView添加item的点击事件

    RecyclerView侧重的是布局的灵活性,虽说可以替代ListView但是连基本的点击事件都没有,这篇文章就来详细讲解如何为RecyclerView的item添加点击事件,顺便复习一下观察者模式。 其实在 这篇文章 中已经提到如何实现,但是里面有很多不规范的地方,而且没有完

    15-03-27
  • Realm(Java)的那些事

    本文同步发表于 TonnyL的简书 , TonnyL的博客 , 知乎专栏Tonny的咖啡馆-人·技术·生活 ,转载请注明作者和出处。 什么是Realm? 在Android平台上,有很多基于SQLite的ORM框架,例如 GreenDAO , OrmLite , SugarORM , LitePal 等等,对于写习惯了SQL语句的小

    17-04-06
  • 升级你的app以支持高长宽比的新旗舰

    Posted by Neto Marin, Developer Advocate, Google Play 为了呈现更好的视觉效果,许多安卓OEM厂商都开始采用超大屏幕。三星刚刚发布了自己的新旗舰 Samsung Galaxy S8 ,长宽比达到18.5:9。今年早些时候的全球移动大会上LG也亮相了 LG G6 ,屏幕长宽比达到

    17-04-05
  • 将 Kotlin 用于生产环境:你在犹豫什么?

    在 Android 的世界,Kotlin 看起来无处不在。现在很难找到一个关于Android的会议或者一篇博客不提及 Kotlin。我记得在去年的柏林 Droid 会议,我所了解的大多数人都才开始在生产环境中使用 Kotlin (我也在两个月后发布了第一个更新)。确实,Kotlin 对 Android 开发社区

    17-04-02
  • SpringAnimation详解-Android

    SpringAnimation 类是最近(25.3.0版本)才添加在支持库中的一个类,它主要是为了让实现弹性动画变得更加方便,其实facebook在很久以前的Rebound库就实现了这样的动画,而且效果非常好,不过现在有官方支持肯定是更好了。本文先来看看SpringAnimation的基本用法,然后再

    17-03-30
  • 10个你可能不知道的 Android Studio技巧

    这个视频放得非常快,所以尽量阅读下面的文字和gif图片。 写代码的时候过度依赖鼠标可能会遇到比低效率更严重的问题。这里的技巧帮助你写更少的代码,充分发挥键盘的功能,因此你可以避免发生这样的情况: Thanks Obama. 这里的绝大多数技巧都是IntelliJ的特

    16-04-24
  • 在 Android 上使用 VIPER 架构

    在Android中我一直觉得MVP架构用着不错,直到在一个iOS的项目中遇到了VIPER架构,这个架构用了8个月。当我回到Android时,我决定采用这种设计,虽然有人建议说在Android上使用iOS的架构不合理,但我还想在这个平台上实现VIPER。鉴于Android 和 iOS 框架之间的基本区别,

    17-03-29
  • 微信小程序、Facebook-RN、阿里-Weex 三者分析比较

    开文简介,本人是一名 iOS 开发者,对于前端方面的知识掌握的并不是很全面,所以接下来有些理解不到位的地方还望指出。 由于这两年移动开发的热潮有点冷淡,加上前端行业的火爆,所以从今年四月份开始看了一个月的 HTML+CSS+JS ,简单的做了一两个网页,接着

    17-03-28
  • RecyclerView的新机制:预取(Prefetch)

    英文原文: RecyclerView Prefetch 。 当我还是小孩的时候,妈妈企图治愈我顽固不化的拖延症,说如果你现在就打扫房间,就不必拖到以后。但是我从未信以为真。我觉得尽量拖延是最好的。首先,如果我现在就打扫,它还是会再次变脏,然后我还得再次重复那个恶

    17-02-14
  • Bottom Sheet使用教程

    什么是Bottom Sheet? Bottom Sheet是Design Support Library23.2 版本引入的一个类似于对话框的控件,可以暂且叫做底部弹出框吧,和dailog相比,它侵入性更小,更适合某些场景,比如列表菜单。Bottom Sheet中的内容默认是隐藏起来的,只显示很小一部分,可

    17-03-27
  • 一个能让你了解所有函数调用顺序的Android库!

    背景:当项目代码量很大的时候,或者你作为一名新人要快速掌握代码的时候,给函数打上log,来了解代码执行逻辑,这种方式会显然成本太大,要改动项目编译运行,NO!太耗时;或者你想debug的方式来给你想关注的几个函数,来了解代码执行逻辑,NO!因为你肯定

    17-03-27