Java开发者应当知道的7个最佳Android开发库

OttoLittlet 8年前
   <p>这篇博客介绍了java开发者</p>    <p>至少应该知道的7个android库。android开发人员看这篇博客也会有所启发,看看是不是有一些你可能不知道的库。</p>    <p>Android 和 Java有非常相似的 API 。它们相似到前段时间甲骨文因为专利问题起诉了谷歌,不过我们在这里不讨论这些问题。自然,能够开发两个平台上都适用的架构和库是Android 和 Java相似的一个优点。这样开发人员就能够创建两个平台上通用的库和工具。</p>    <p>我们从一个在Android界最有名的库开始介绍。</p>    <h3>Dagger</h3>    <p>Dagger 是一个不带附属项目的轻量级依赖注入库。它是安卓系统上最有名最被广泛使用的依赖注入库。对于 Java 和 Android 它都是简单且快速的。有两部分:Dagger库(100kb)和Dagger 编译器。</p>    <p>Dagger 库包含了所有必要的逻辑和注释。它还使用标准 javax.inject 注解,让你的代码在不同依赖注入框架之间(例如 Spring 和 Guice)具有可移植性。 Dagger 是最简单和最轻便的 DI 框架之一。它不包含那些较大型框架通常带的花哨特征,它很快并且能能够完成它的工作。如果你想用简单、不带其它东西的依赖性注入框架,Dagger是绝对值得考虑的。</p>    <p>Dagger 由Apache License2.0授权许可,Square 和 Google 率领开发,这里可以获取资源: <a href="/misc/goto?guid=4958860111330644982" rel="nofollow,noindex">http://square.github.io/dagger/</a> 。</p>    <h3>LeakCanary</h3>    <p>你知道吗?煤矿工人在下矿时通常会带一着一只金丝雀,如果煤气泄漏严重的话金丝雀会先死,这样工人就能够依据此信号离开。 LeakCanary 的原理跟这个很像,只不过不是用来检测煤气泄漏,而是为 Android 和 Java 检测内存泄漏。它通过在你的代码中加入几行 Java 代码能够很容易的检测出导致内存泄漏的对象。这个库免费易用。跟 Dagger 类似, LeakCanary 也是由 Square率领开发的。</p>    <p>同样的, LeakCanary 由 Apache License2.0授权许可,这里能获得资源: <a href="/misc/goto?guid=4958874766191309432" rel="nofollow,noindex">https://github.com/square/leakcanary</a> 。</p>    <h3>ZXing</h3>    <p>条形码和二维码码已经成为机器可识别数据世界的基本标配。 ZXing 已经出来有段时间了。Zxing 最初是用Java语言编写的,它能够读取、创建很多不同平台上的条形码,现如今它已经被转换为不同的语言。这个库开发出来已经有一段时间并且具有良好的用户基础。现在你的智能手机上的二维码解析器有可能就用的这个库。它运作良好且有良好的历史记录。</p>    <p>ZXing 由 Sean Oven, Daniel Switkin, ZXing 团队开发, Apache License 2.0 授权许可,在这里能找到资源: <a href="/misc/goto?guid=4958860114047209235" rel="nofollow,noindex">https://github.com/zxing/zxing</a></p>    <h3>Retrofit</h3>    <p>这是由Square开发的另一个库!这些人非常擅长写 Android 库对不对! Retrofit能够让你的 REST API 变成 Java 接口。它对于 Android 和 Java 都是类型安全的REST客户端。使用Retrofit ,你用纯Java代码就能很好的跟几乎任何 RESTful API进行通信。就像 Android 库通常的特点:轻量级且易用。</p>    <p>Retrofit 是由 Square 率领开发的,由 Apache License 2.0 授权许可。这里能看到更多相关信息: <a href="/misc/goto?guid=4958837204152834453" rel="nofollow,noindex">http://square.github.io/retrofit/</a></p>    <h3>Libphonenumber</h3>    <p>在需要解析和格式化电话号码时,开发人员</p>    <p>找不到多少又好又免费的解决方法。 幸运的是,Google团队退出了一个叫做 Libphonenumber 的库。这个库可以算是解析、验证和格式化电话号码中最好最全面的库。虽然它的名字有点饶舌,但是它的功能相当棒!</p>    <p>这是个非常简单且容易使用的 API 并且已经转换成了其他能够脱离Java虚拟机的语言,像 C# 和 PHP。 Libphonenumber  由  Google  率领开发,由 Apache License 2.0 授权许可。如果要下载,请看这里:</p>    <p><a href="/misc/goto?guid=4959655489960125358" rel="nofollow,noindex">https://github.com/googlei18n/libphonenumber</a></p>    <h3>Tape</h3>    <p>现在要介绍的是 Square 的另一个库。 Tape 仅仅是队列处理的类集合。它处理不稳定环境中的数据流和数据下载非常棒。Tape 能够代替你手动编写队列处理的大量工作。如果一些处理失败了, Tape 会自动再次执行命令或操作。同样的,所有中间结果都会被自动缓存,这个特点非常实用。</p>    <p>Square的这些善良的人也同样为这个库取得了 Apache License 2.0 的授权许可。这里能找到库的资源:https://github.com/square/tape</p>    <h3>Jitpack.io</h3>    <p>Jitpack.io 是由 Streametry 公司的团队开发的库。它能够在情况下off the hook情况下编译项目然后发布到 Maven 库中。很酷对不对?它能够省下构造依赖的时间和麻烦。当用项目依赖于Maven时这是发布任何Github项目最简单的方法。</p>    <p>这里可以找到Jitpack资源: <a href="/misc/goto?guid=4959673783128884380" rel="nofollow,noindex">http://jitpack.io/</a> . Jitpack 使用自定义的使用许可。</p>    <h2>结论</h2>    <p>从上面的几个例子可以看出,大多数可用的新 Android 库和工具</p>    <p>表明我们需要能在不稳定环境中运行的轻量级且简单的库,这样才有可能满足每个人需要。Android 和 Java 之间也存在一些区别,代码通常在 Android 和 Java 之间相互转换, 如果你能够写出两者通用的代码,何乐而不为呢?</p>    <p> </p>    <p>来自: <a href="/misc/goto?guid=4959673783216532439" rel="nofollow">http://android.jobbole.com/83268/</a></p>    <p> </p>