阅读本文大概需要 4 分钟。

有读者问我说「张哥,我现在在公司做项目,一开始都是自己写,做起来很累,后来接触了开源社区才知道原来有那么多好用的开源项目,大大的提升了我的工作效率,能不能推荐一些实用的开源项目给我?」

我觉得这个问题特别好,如今的软件开发追求快速,尤其互联网领域的创业公司,比别人慢半拍很可能就错失了巨大的机会,而且也没有额外的资源去面面俱到,需要把所有的资源聚焦在核心的业务上,所以现在越来越多的公司专注提供单一领域的解决方案,如推送、分享、登录、支付、客服等功能都有专门的公司提供服务,甚至主机都不需要自己买,直接租用云主机就可以了。

对于公司开发内部来说,使用开源库能极大的提高自己的开发效率,不重复发明轮子,而且在各个技术领域也都已经有一些成熟的轮子了,只是开源项目确实太多,对于一些经验不是特别丰富的开发人员来说很难分辨该用哪个,那么从今天开始我将不定期的来给大家推荐一些实用的开源项目,让你可以放心的直接在工作中采用,提升你们工作效率的同时也可以抽时间学习下这些项目的优秀设计,这也是提升你们技能的一个有效的手段!

1

Android Log

我们在学习开发的第一件事应该就接触了 Log ,也就是 Android 开发中用来调试的日志,我们一般是这样使用:

Log.d(TAG,"hello");


效果一般如下:

可以看到很乱,而且输出 json 格式的话也没有格式化,也没法快速定位到 Log 的位置,那么今天就给大家推荐一款非常好用的 Log 工具,也是我们团队在用的。

2

Logger

用 GitHub 的原话介绍就是:「Simple, pretty and powerful logger for android」。

废话不多说,我们直接看下它的示例截图:

是不是很酷炫?那么下面稍微说下他的具体用法。

3

依赖

4

基本用法

使用起来很简单,以下是最基本的用法:

Logger.d("test");

Logger.d("test%d", "3");   // String.format

效果如下:

可以看到包含了三个主要部分,默认直接显示了当前所在的线程,所在的类,调用方法,甚至直接给你指明调用位置的行数,而且直接点击跳转到日志具体位置,最后是该日志的输出。

输出json格式的日志:

Logger.json(YOUR_JSON_DATA);


对应的输出xml格式:

Logger.xml(YOUR_XML_DATA);


以上我们所有用法我们可以看到其实没有给 Log 加 TAG, 那是因为可以统一给所有日志打上标签:

Logger.init(YOUR_TAG);


如果想单独为某个日志打上不一样的标签:

Logger.t("mytag").d("hello");


当然还有更多的用法与配置,比如外层方法数量,自定义Log Tool,显示/隐藏线程信息等,具体大家可以自行实践研究下。

GitHub地址:https://github.com/orhanobut/logger

5

更多

除了基本用法之外,你还可以结合你们自己的业务做些封装,使你们的调试更方便些。比如为了调试网络方便,我就使用了 Logger 在我们的网络层做了一点封装,大大提升了我们调试网络的效率,调试网络再也不用走代理了,直接在 LogCat 上就可以看到具体的api、header、params、response等信息,上张图你们感受下:

看完别犹豫了,赶紧在项目中立即使用起来吧!


终于,有眼光独到的合作商肯找我了,简直感动的快哭了,从本周开始以后文章底部会固定放野狗的 banner ,这名字霸气吧?最近野狗举办了一个技术沙龙,感兴趣的不妨点击阅读原文报名活动。

推荐阅读:

我面试到底问什么?

从0开始学习 GitHub 系列之「向GitHub 提交代码」

Android开源项目推荐之「最好用的Log」相关推荐

  1. 众多Android 开源项目推荐,给力工作给力学习

    http://terryblog.blog.51cto.com/1764499/547777 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.h ...

  2. Github实用Android开源项目推荐(一)

    1.Android平台上拍照/录像,图片/视频选择,编辑和压缩的一站式解决方案. Github链接: https://github.com/sucese/phoenix 2.Android 标题栏框架 ...

  3. 众多Android 开源项目推荐

    转载自:http://terryblog.blog.51cto.com/1764499/547777 不确定都是好的. FBReaderJ  FBReaderJ用于Android平台的电子书阅读器,它 ...

  4. Android 开源项目推荐

    FBReaderJ  FBReaderJ用于Android平台的电子书阅读器,它支持多种电子书籍格式包括:oeb.ePub和fb2.此外还支持直接读取zip.tar和gzip等压缩文档. 项目地址: ...

  5. Github实用Android开源项目推荐(三)

    1.一个帮您快速实现跑马灯效果的library Github链接:https://github.com/gongwen/MarqueeViewLibrary 2.Android 图片选择.预览.九宫格 ...

  6. 阿里淘系优质开源项目推荐(下)

    开源推动着互联网技术的发展.多年来,阿里巴巴淘系技术一直积极拥抱开源事业,无论是开源软件的应用.回馈以至自研技术的开源都非常活跃,近两年我们更是开源了MNN.飞冰ICE.3D-FUTURE & ...

  7. Android开源项目集合(不断更新)

    Android开源项目集合(不断更新) 女神节快乐~~~ 休息片刻23 PlayAndroid advanced-java FFmpegAndroidCameraEncoder ScaleRuler ...

  8. Android开源项目分类汇总-转载

    太长了,还是转载吧... 今天在看博客的时候,无意中发现了@Trinea在GitHub上的一个项目Android开源项目分类汇总,由于类容太多了,我没有一个个完整地看完,但是里面介绍的开源项目都非常有 ...

  9. Android开源项目分类汇总[转]

    Android开源项目分类汇总 如果你也对开源实现库的实现原理感兴趣,欢迎 Star 和 Fork Android优秀开源项目实现原理解析 欢迎加入 QQ 交流群:383537512(入群理由需要填写 ...

  10. android 测试工具,Android开源项目第四篇:开发及测试工具篇

    本文为那些不错的Android开源项目第四篇--开发工具篇,**主要介绍Android开发工具和测试工具相关的开源项目**. Android开源项目系列汇总已完成,包括: 1.Buck faceboo ...

最新文章

  1. xp路由器播放服务器无响应,xp系统连不上路由器的原因及解决方法
  2. Log4Net组件的应用详解
  3. h.264 scanning process for transform coefficients
  4. spring 中单利模式的理解
  5. 如果在iTerm2中复制命令特别卡,就跟慢动作似的,怎么办?
  6. wifi p2p连接 linux,Wi-Fi p2p ap 共存
  7. 新年春节海报素材精品,再也不怕老板催稿!
  8. matlab2c使用c++实现matlab函数系列教程-binostat函数
  9. IT专用英语词汇1500词
  10. Mac 终端命令自动补齐的办法
  11. SPI通信协议详解(一)
  12. Office server webs app 集成(JAVA)
  13. 风花雪月·《基层风云·1》·四
  14. steam for linux 安装目录,我该如何安装Steam?
  15. 【网页特效】12 个炫酷背景特效库
  16. 星加坡php开发_新加坡樟宜机场新地标-星耀樟宜 | 贝诺Benoy
  17. 医学影像配准 NCC Loss
  18. 机器学习 | 一个基于机器学习的简单小实践:波斯顿房价预测分析
  19. PostgreSQL高可用集群
  20. win10能联网但右下角出现小地球,无Internet连接解决方法

热门文章

  1. jdbc_连接数据库
  2. HTML之一天学会html(常用标签+网页架构)
  3. TOJ3649欧拉回路
  4. inDesign 教程,如何在表格中添加和重新排序图像?
  5. 14 英寸与 16 英寸 MacBook Pro 应该购买哪一款,M1 Pro 还是 M1 Max Mac?
  6. 手机界的革命-云手机(华为云)
  7. c#简易学生信息管理系统
  8. 一线互联网企业负载均衡和应用优化基础
  9. tomcat7简单优化
  10. 【emWin】例程十:bmp图片显示