[第26期]Android周报

文章/教程

  1. Android Studio 使用 Gradle 打包 Jar
    使用 AS 打包 Jar 并不是很方便,本文给出了一个使用 Gradle 自动打包 Jar 并混淆的解决方案。
  2. 一个优秀的 Android 应用从建项目开始
    本文介绍了开始一个新的 Android 项目可以遵循的一些基本规则,有一个好的开始,后面开发就会更顺利。
  3. 探究 android:largeHeap
    本文介绍了 Android 4.0 对 Application 引入属性 android:largeHeap 是怎么回事,有什么作用以及使用的注意事项。
  4. Android 平台免 Root 无侵入 AOP 框架 Dexposed 使用详解
    阿里巴巴无线事业部开源的 Android 平台下的无侵入运行期 AOP 框架 Dexposed,这里有很多陌生的概念。通过这篇文章,基本上就能知道这个框架可以用来干啥和怎么用。
  5. 谈谈 Android Material Design 中的 Tint
    Tint(着色)机制给 App 开发带来很多可能和便利,不用那么多的图片资源了。本文介绍了 Tint 的原理,以及怎么实现可以支持 Tint 背景的自定义 View。
  6. [译]使用 O-LLVM 和 NDK 对 Android 应用进行混淆
    之前都只知道 Java 字节码的混淆,原来 NDK Native 语言(C/C++)语言编译结果也可以混淆。把信息敏感的部分放到 Native 层,再混淆一下,就能大大提高信息的安全性。本文就介绍了怎么样使用 O-LLVM 对 Native 代码进行混淆。
  7. 一步一步教你150行代码实现简书滑动返回效果
    本文演示了怎么用少量代码实现侧滑的效果,主要是利用工具类 ViewDragHelper 来实现。
  8. Android DiskLruCache 源码解析 硬盘缓存的绝佳方案
    本文详解了 DiskLruCache 的工作原理和源码,这个类的设计非常优秀,可以学到不少东西。

源代码/库

  1. Device Year Class
    Facebook 出的一个工具库,用来判断你的机器是哪个年代的旗舰机,也就是判断机器的性能的。
  2. FloatingView
    能显示一个能够浮动的 View 在屏幕上的库。
  3. WaveSwipeRefreshLayout
    来自上面同一家公司,一个非常炫的下拉刷新,能下来一滴水出来。
  4. BeerSwipeRefreshLayout
    还是来自这个公司,有一个下拉刷新,下拉过程中给你倒一杯啤酒。
  5. Nice Spinner
    重新实现了 Android 的 Spinner 控件,遵循 Material Design 设计。
  6. Material Code input
    一个 MD 风格输入密码的控件。
  7. Blurry
    能够生成自动模糊效果的库。
  8. BlurDialogFragment
    接上面,一个自动模糊背景的 Dialog,效果很赞。
  9. RoboBinding
    Android 支持了 Data Binding,MVVM 框架就来啦。

工具

  1. SDK Manager Plugin
    Jake 大神的一个管理 Android SDK 的 Gradle 插件。如果在使用 Gradle 构建项目的时候,如果发现需要的 SDK、API Level、Support 库没有的话,就会自动给你下载。

您可以点击订阅本周刊 RSS,也可以关注此周刊主页,同时也可以点击邮件订阅。也欢迎投稿到这里:race604@gmail.com

Read more

Android 上的低功耗蓝牙实践

这是我在 Droidcon Beijing 2016 和 GDG Devfest 2016 上做的分享,以下是正文: Slide 01 我今天分享的主题是 Android 上低功耗蓝牙的实践。这个主题比较小众。我在过去的一年多的时间里,主要是在做低功耗蓝牙相关的开发。接触过程中发现,BLE 的开发和通常的 Android APP 的开发有点不一样,这里需要访问硬件资源,而且涉及到一些协议相关的内容,而且这方面的资料也比较少。今天我从 Android 开发者的角度,来分享一下低功耗蓝牙开发实践。 Slide 02 今天分享的内容,主要包含如下几个部分:首先对蓝牙和低功耗蓝牙做一个简单的介绍;然后介绍 Android 上对低功耗蓝牙的支持;再介绍一下在 Android 平台上可以开发哪些低功耗蓝牙应用;然后是,开发过程中,可以帮助我们调试的工具;最后,总结一下所谓的 “最佳实践”,低功耗蓝牙开发的一些小经验。 Slide

By Race604

React Native 触摸事件处理详解

触控是移动设备的核心功能,也移动应用交互的基础,Android 和 iOS 各自都有完善的触摸事件处理机制。React Native(以下简称 RN)提供了一套统一的处理方式,能够方便的处理界面中组件的触摸事件、用户手势等。本文尝试介绍 RN 中触摸事件处理。 1. RN 基本触摸组件 RN 的组件除了 Text,其他组件默认是不支持点击事件,也不能响应基本触摸事件,所以 RN 中提供了几个直接处理响应事件的组件,基本上能够满大部分的点击处理需求TouchableHighlight, TouchableNativeFeedback, TouchableOpacity 和 TouchableWithoutFeedback。因为这几个组件的功能和使用方法基本类似,只是 Touch 的反馈效果不一样,所以一般我们用 Touchable** 代替。Touchable** 有如下几个回调方法: * onPressIn:点击开始; * onPressOut:点击结束或者离开; * onPress:单击事件回调; * onLongPress:长按事件回调。 它们的基本使用方法如下,

By Race604

React Native 中 ScrollView 性能探究

1 基本使用 ScrollView 是 React Native(后面简称:RN) 中最常见的组件之一。理解 ScrollView 的原理,有利于写出高性能的 RN 应用。 ScrollView 的基本使用也非常简单,如下: <ScrollView> <Child1 /> <Child2 /> ... </ScrollView> 它和 View 组件一样,可以包含一个或者多个子组件。对子组件的布局可以是垂直或者水平的,通过属性 horizontal=true/false 来控制。甚至还默认支持“下拉”刷新操作。另外还有一个特别赞的特性,超出屏幕的 View 会自动被移除,从而节省资源和提高绘制效率。我们来看如下一个例子: class

By Race604

30 天入门 Android 开发, Google 与你一起圆梦

经常会有朋友让我推荐 Android 开发入门的教程或者视频,我一直是推荐看官方的教程。大部分人或者觉得比较迷茫,或者觉得坚持不下去。这次推荐这个《30 天入门 Android 开发》是 Google 亲自发起的免费教学,以学习小组方式,大家可以一起学习和交流。一个好的开始,是成功的一半。让 Google 工程师带领你一起进入多彩的 Android 开发大门。点击这里 报名。 Android 设备已经随处可见,你想尝试一下在 Android 设备上的开发和创新吗?快来跟随 Google 的步伐,一起学习 Android 入门课吧! Google Study Jams 活动介绍 Study Jams 是一个学习 Google 在线课程的活动。该活动由学员自主发起课程学习小组,带领小组成员入门 Android 开发,最终将

By Race604