作家
登录

安卓开发常用工具和第三方库汇总

作者: 来源: 2017-09-27 12:54:01 阅读 我要评论

有时你会想要一些更深刻的器械。Urban Airship 的推送通知特别专业,这是他们的重要偏向。他们发明,“人们只会看到通知的前 60 个字符”,我们都邑收到如许的通知,你只能看到前面几个字。就像,“你不会信赖这个…”,它被截断了。然后你点击它,你被带到一个随机的屏幕里,你甚至不知道推送通知的内容是什么。Urban Airship 很好,他们赞助你思虑如许的工作,给你更多的细微差别提示,思虑若何能更好地推出通知办事。

Kahuna 很受迎接,有很多人都在应用它,但我会强烈否决。他们的设法主意很棒。经由过程借助 AI 来帮你肯定哪种推送方法更合适,是发送电子邮件,照样发送短信或者是推送通知。AI 计算出最好的推送时光,并建议通知上需不须要添加花朵。这部分他们还没有实现。但他们如今会做些文字上的变更。他们试图让通知受人爱好,尽可能地推送最合适的通知,设法主意很酷,欲望它能很快实现。然则如今,实际实现中,他们碰到了很多问题,用户的通知被发送给缺点的用户。用户被归并在一路,视为一组。所以应用时请当心。有些人用的很好。但我被坑了。

更轻松

有很多巨大年夜的对象能使你的开辟更轻易些。

一个对象是 Butter Knife(@indVView)。它使你的代码更漂亮。你可以应用 @BindView 经由过程 ID 查找视图,而不必遍历所有的视图。Zelezny,是一个Android Studio 插件。把它放进 Layout 中,它会主动生成 BindViews 和 OnClicks。如不雅你以前一向是手敲代码,它会节俭点时光。最大年夜的限制是 annotation 的处理会破坏袈漩量编译。如不雅你有 Butter Knife,那么你可能会比没有 Butter Knife 时的增量编译慢些。对我小我而言,我爱好所有的 annotation 处理对象,船已航行。我已经接收了 annotation 处理器打破我的增量编译的实际。我据说有人建议将它们全部放在同一个模块中可以解决这个问题。这是独一的缺点,很多 annotation 处理都邑有这个问题。也许有一天这个问题会被修复。 JRebel 声称一些特定版本的增量编译已经修复了。除此之外,Butter Knife 是最好的选择。

推送通知

Dart & Henson,你有 intents ;不须要应用键值映射,它给你应当有的值。它做了点 annotation 的映射来展示 intents 的值是什么。我更爱好的别的一种懂得办法是你正在调用的 activity 的静态 intents 。如许,你可以传入你想要的参数,如许就解决了神秘的键值对的问题。它使得代码加倍慎密,如许可以防止缺点。

更艰苦(初期)

我们来谈一谈哪些库会闪开辟变得加倍艰苦,或者说开端的时刻更艰苦。但总的来说,这些都是好对象。

SQLBrite 是 SQLite 上一个常见的简单库;它为你供给了数据库的 reactive 接口。你可以监听你的用户。如不雅你的用户有任何更改,你会收到通知,你可以随即更新用户界面。这是一个异常小的库。和 SQL 兼容的很干净。

RxJava

RxJava,对于那些没有据说过的仁攀来说,这个库的设法主意是,以前的代码大年夜 A 点开端,到 B 点停止。但在 Android 世比赛,移动开辟世比赛,这一切就都不一样了。 *你大年夜 A 点开端。然后人们点击某些器械,所以你必须做些其余工作来响应。然后一个通知进来,你必须又做些工作。然后数据库请求出现了。Reactive 尽力使你的代码可以或许对你的应用法度榜样中的产生的工作做出反竽暌功,赞助你更好的组织它们,并且便好处动。

起先很难,因为它有一个进修曲线。如不雅你正在看代码,特别是对于没有接触过 RxJava 的仁攀来说,话苄很多不清跋扈的处所。最简单的就是收集。然则,如不雅你有几个标准的例子,你应用这些案例,并确保是最佳的做法,情况就会不一样了。当你开端拥有这些功能时,它们异常强大年夜,你可以将其应用于应用法度榜样中的任何处所,然则当你如许做的时刻,每当雇用新的开辟人员,你将不得不教会他们每个 activity 是怎么工作的,这须要很当心。

此外,它很轻易用错。即使是关于 RxJava 典范多会议都邑漏掉落一些最佳做法。例如,如不雅你不撤消订阅收集呼叫,那么你会被回调,这时可能会产生崩溃,因为屏幕已经不存在了。谨慎地应用它,总体上来说它照样很好的。

Kotlin

当我说当心应用非内建说话或者说新说话不平常的处所时,我想说的就是那些你能看到的不平常的处所。 Kotlin 生成了更整洁的代码。这有好处。使你的代码更轻易浏览,也会使没有意义的器械少一些,这是你须要的核心器械。它也隐蔽了指针的概念。

最大年夜的缺点是它会随机地破坏工作,如不雅有什么工作产生,你都邑困惑 Kotlin。这可能是 Kotlin 的错,可能不是,然则都邑花掉落开辟人员典范多时光,来弄清跋扈到底是不是 Kotlin 的错。你须要更新 Gradle 的构建,然而这依旧不奏效。这可能是 Kotlin 的错,也可能不是 Kotlin 的错,然则你都不得不从新检查 Kotlin。

相机

如不雅你曾经在 Android 中应用过 Camera,并且你采取的是原生的筹划,这并不猖狂,你会发明有摄像头 one API 和摄像头 two API,并且摄像头 two API 没有比摄像头 one API 更好,如不雅你同时支撑新旧设备,你必须应用摄像头 one API,除非你只计算在异常新的设备上正常运行。我的第一个建议是,如不雅你有应用相机的场景,构建一个 intent。让其他人的相机应用来解决你的问题,如不雅这不是你的核芥蒂景的话。

如不雅不是这种情况,有一个名为 Material Camera 的看维我以前 fork 过。你可以添加本身的外不雅。它赞助你创建相机。解决问题。然则当你按照本教程进行初次设置后,横向显示时,图片会倒置,你不得不在每个手机上都进行测试,因为他们会以不合的方法安装相机。还有很多界线案例要推敲。Material Camera 是巨大年夜的,它已经把这些情况都解决了。它也支撑视频。这是视频模式。你可以改变它膳绫擎的 UI,效不雅很好。再说一次,如不雅 Camera 是你异常核心的用例,那么你应当从新构建它,这只是个调和的筹划。

我应用的每个相机应用都有裁剪功能,这个功能很恐怖。我不知道是什么原因。你试图剪裁,忽然间你的视频被剪掉落亮闼殇部分。有一个很好的库叫做 “Android Crop”。它供给了一个异常简单的新的 activity 来完成剪裁。


  推荐阅读

  cnBeta推出三款新机器学习工具 帮助开发者打造AI应用

微软今天针对开辟者推出三款重要的新对象:Azure 机械进修实验办事、Azure 机械进修工作台以及 Azure 机械进修模型治理办事。此外,微软还针对那些想要借助 Visual Studio Code IDE、用 CNTK、TensorFlow、Theano、K>>>详细阅读


本文标题:安卓开发常用工具和第三方库汇总

地址:http://www.17bianji.com/lsqh/37607.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)