当前标签 / 开源框架 / 总共4篇

Android 日志记录轻量级框架 Timber

前言

Log 日志在 Android 项目开发中的作用非常重要,但项目越做越大,开发者会面临很多问题,比如管理各种不同的 Log,不同版本控制是否输入 Log 等。Timber 是一个轻量级的第三方库,能够帮助开发者更好的使用 Android Log。

面临问题

  1. 项目使用 Log 规范不统一,例如:关于 okhttp 的实现使用了 Logging Interceptor 输出 log,关于 rxjava 的实现使用了 onError,其他使用了 Android Log 机制。
  2. 项目开发时,为了方便调试,需要输出 Log,但发布后,Log 中包含很多项目相关的信息,如果全部暴露会有安全隐患,但完全删除也不利于发生问题后的查看调试,因此需要一个开关,关闭开关则不能输出 log,打开开关则可以输出 log。

Timber 介绍

Timeber 的使用主要通过添加 Tree 实例,添加 Tree 实例可以通过方法 Timber.plant 完成。实例化 Tree 需要尽量早,推荐在项目 ApplicationonCreate() 方法中完成。其中,DebugTree 自动实例化,是 Timber 中已经实现了 tree 的类,可直接拿来用,并在使用他的类中以类名为其 TAG,但是其他的 Tree 不会自动实例化,需要进行手动实现扩展 Timber.Tree 实现。

阅读更多

一款让你爱不释手的 Fragment 管理框架

前言

最近在项目中用到了一个 Fragment 管理框架,简直是一个牛逼,这个介绍给大家,这款框架让你爱上使用 Fragment,可以让你的 Fragment 像使用 Activity 一样方便管理。使用它绝对可以让你的开发效率大幅度提升,如果再结合 ConstraintLayout 来开发界面的过程简直让你爽的不要不要的。

项目地址:https://github.com/YoKeyword/Fragmentation

演示APK下载:https://www.pgyer.com/fragmentation

特性

  1. 悬浮球/摇一摇实时查看 Fragment 的栈视图,降低开发难度。
  2. 内部队列机制 解决 Fragment 多点触控、事务高频次提交异常等问题。
  3. 增加启动模式、startForResult 等类 Activity 方法。
  4. 类 Android 事件分发机制的 Fragment BACK 键机制:onBackPressedSupport().
  5. 提供 onSupportVisible()、懒加载 onLazyInitView() 等生命周期方法,简化嵌套 Fragment 的开发过程。
  6. 提供 Fragment 转场动画 系列解决方案,动态改变动画。
  7. 提供 Activity 作用域的 EventBus 辅助类,Fragment 通信更简单、独立(需要使用 EventBusActivityScope 库)。
  8. 支持 SwipeBack 滑动边缘退出(需要使用 Fragmentation_SwipeBack 库)。

阅读更多

使用 Butterknife 绑定 Android 中的 View 对象

Android ButterKnife 库是一个视图注入库,它使用注解将视图注入 android activity/fragment。例如,@BindView 批注通过自动类型转换视图元素来替代使用 findViewById() 方法。

不仅仅是视图绑定,butterknife 还提供了许多其他有用的选项,比如绑定字符串、调光、绘图、单击事件等等。我们将简要介绍本文中提供的每个组件。

添加 ButterKnife 依赖

您要做的第一件事是,通过在项目的 app/build.gradle 文件中添加以下依赖项,在项目中添加 ButterKnife。添加完成后,同步你的项目,你就可以开始了。

dependencies {
    ...
 
    // butter knife
    compile 'com.jakewharton:butterknife:8.8.1'
    annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'
}

阅读更多

使用开源框架 Dexter 轻松实现 Android 动态权限申请

我们都知道 Android Marshmallow 引入了运行时权限,允许用户在运行时允许或拒绝任何权限。实现运行时权限是一个冗长乏味的过程,开发人员需要编写大量代码才能获得单个权限。

在本文中,我们将简化使用 Dexter 库添加运行时权限的过程。使用这个库,权限可以在几分钟内实现。下载示例 APK

这是一篇关于 Dexter 的介绍性文章,介绍了该框架所提供的基本特性。Dexter 还提供了其他一些功能,比如与 SnackBar 一起使用、不同类型的监听器、错误处理等等。你可以在 Dexter 的 GitHub主页 页面找到更多信息。

阅读更多