2016 Top 10 Android Library

java Library.java 用java编写的图书馆管理程序,还是很不错的,大家可以看看啊 立即下载

过去的 2016 年,开源社区异常活跃,很多个人与公司争相开源自己的项目,让人眼花缭乱,然而有些项目只是昙花一现,有些项目却持久创造价值,为开发者提供了极大的便利,这些终究由时间来判断。今天,我就来整理一篇,我个人认为的 2016 年对 Android 开发有巨大帮助的,甚至改变了 Android 开发方式的开源库,但是,仅限个人认为,不具有任何权威性。

1. RxJava

地址:https://github.com/ReactiveX/RxJava

2016 年 Android 界最火的莫过于 RxJava 了,如果你还不知道 RxJava,你所在公司,或者你所在的项目还没有使用 RxJava,那真的是有点 out 了,RxJava 不仅大大简化了代码,甚至可以说改变了我们的开发方式。

RxJava 是一种函数式、响应式的异步操作库,它让你的代码更加简洁,真正的让你的代码写到爽!由于 RxJava 用过的都说好,基于此,GitHub 上衍生了一堆比如 RxAndroid、RxBus、RxPermission 等之类的开源库,足以说明它的影响力。

关于 RxJava 的文章网上一大堆,它的使用方法与好处我就不多说了,请自行去搜索了解,总之,身为 Android 开发者,到现在你还不知道 RxJava,简直了!

2. Retrofit

地址:https://github.com/square/retrofit

如果有人问我,Android 界最好用的网络请求库是什么?在之前可能会有人回答 android-async-http、Volley、OkHttp(准确说,OkHttp 是一个 http 请求客户端) 之类的,但是 16 年过后,我会告诉你 Retrofit 是最好用的网络请求库。

Retrofit 完全 RESTful 风格的 api 网络请求库,解耦更彻底,源码设计超多的设计模式,值得大家学习,另外扩展性非常好,支持各种配置来满足你的需求,最最重要的是,如果你的项目使用了 RxJava,那么 Retrofit 可以完美结合,我只能说 Prefect!再次验证了那句话:Square 出品,必属精品!

3. EventBus

地址:https://github.com/greenrobot/EventBus

试想这么一个场景,在 A 页面打开 B 页面,然后 B 页面打开了 C 页面,C 页面又打开了 D 页面,而且还需要传递参数,在 D 页面修改了一些信息,然后这些信息更新之后,A、B、C 页面很可能都需要对应的进行数据更新,碰到这种需求该怎么处理?

有人说用 startActivityForResult(),你可以试下,有多么难处理,还有人想到用广播,这个当然可以,因为广播是全局的,主要进行注册都可以通知到每一个页面,但是我很不喜欢用广播,每次用广播都要走那一套流程,很麻烦,而且很重。

而如果你知道 Eventbus,那么一切都非常的简单。

EventBus 是一个事件管理平台,以事件驱动的方式来简化事件传递逻辑,可以把它想象成轻量级的 BroadcastReceiver,不过,EventBus 并不是 16 年才开始进入大众视野的,很早就开源了,只是这个库太实用了,时至今日,它仍然很火,使用起来非常方便。

值得注意的是:EventBus 固然好用,但是不要过度使用,因为一旦你的代码大量使用 EventBus,会致使代码可读性稍差,而且出了问题不太好定位。所以建议只在特定的场景使用,切莫贪杯!

4. Glide、Fresco

图片加载可能跟网络请求一样,基本是所有 App 开发必备的功能,选择一款成熟稳定的图片加载库重要性不言而喻,目前主流的图片加载有 Picasso、Glide、Fresco,Glide 是 Google 员工基于 Picasso 基础上进行开发的,所以自然各方面比 Picasso 更有优势,而且支持 Gif,所以推荐大家优先选择 Glide 库,官方地址:

https://github.com/bumptech/glide

如果你的项目需要大量使用图片,比如是类似 Instagram 一类的图片社交 App ,那么推荐使用 Fresco。Fresco 是 Facebook 作品,关于内存的占用优化更好,但是同时包也更大,门槛也更高,初级工程师不建议使用。官方地址:

https://github.com/facebook/fresco

这两款图片加载库,基本算是在 16 年使用最多,被认可最高的两个图片加载库了。

5. LeakCanary

地址:https://github.com/square/leakcanary

开发者最关心的除了完成功能外,其次就是会不会造成内存泄露了,其实检测内存泄露在 Java 领域有很多种方法与工具,但是针对 Android 都不够方便,而良心公司 Square 开源了一款针对 Android 平台的内存泄露检测工具 LeakCanary,集成简单,使用方便,平时测试的过程中就自动记录了内存泄露的位置,甚至帮你定位到代码级别,强烈推荐。

6. ButterKnife

地址:https://github.com/JakeWharton/butterknife

我想应该没有人没听过这个库了吧?ButterKnife 是 Android 之神 JakeWharton 的大作,已经开源了很长时间,然而在 2016 年它的使用热度依然不减,它可以让你避免无休止的 findViewById() 代码,具体用法我就不多说了,使用起来比较简单。

7. Realm

地址:https://realm.io/

说到 Realm 不得不提到一个 ORM 的概念。何为 ORM 呢?ORM 是 Object Relation Mapping 的缩写,翻译过来就是对象关系映射。这是相对于数据库的,我们知道 Android 中使用的数据库是 SQLite,而且 Android SDK 自带操作数据库的接口,而实际我们在使用的过程往往需要把查询的数据转换到一个 Java Object,也就是所谓的 Model,比如一般是这样:

public User selectWithId(int id) {
    User user = null;
    Cursor cursor = db.rawQuery("select * from users where id = ?", new String[]{id});
    if (cursor != null && cursor.moveToFirst()) {
        int age = cursor.getInt(cursor.getColumnIndex("age"));
        String userName = cursor.getString(cursor.getColumnIndex("user_name"));
        ...
        user = new User(age, userName, ...);
        cursor.close();
    }
    return user;
}
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

操作起来是不是很麻烦?而且可读性超差,而有了 ORM 我们写代码可能会是类似这样:

查询数据是这样:

public User getUserById(int id) {
    return RealmResults<User> pups = realm.where(User.class)
                               .lessThan("id", 2)
                               .findAll();
}
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5

是不是非常方便?代码写起来更像是面向对象,而不是一个个的裸写 SQL 了,这就是所谓的 ORM。

而 Android 界的 ORM 框架有很多,比如 GreenDao、SugarORM、ActiveAndroid 等等,但是我推荐大家的 ORM 框架以上都不是,是叫做 Realm。

Realm 是一种面向移动端的新型轻量数据库,而且是开源的,跟 SQLite 完全不一样,性能上秒杀 SQLite,支持 Java、Android、iOS 各平台,我们在实际项目中采用过,体验下来各方面都很不错,所以推荐大家尝试下 Realm。

8. Dagger 2

地址:https://github.com/google/dagger

依赖注入的概念估计大家都听过,不理解的不妨搜索了解下,Android 领域比较著名的依赖注入库莫过于 Dagger 了,基于注解,使用起来异常方便。

Dagger 起初是 Square 开源的,后来 Google 在此技术上进行了改进与优化,去除了反射,编译时进行依赖注入,性能上有大幅提升,取名 Dagger 2,Square 之前开源的 Dagger 已不建议使用。其实之前大家对 Dagger 的关注程度没有那么高,一般都是属于中、高级工程师才会关注使用,但是 16 年 Android 的架构被提上日程,各种 MVP、MVVM、Clean 架构等讨论的较多,而 Dagger 作为承载这些架构重要的一环被越来越多的开发者使用,所以 16 年我们看到 Dagger 的身影越来越多,所以,Dagger 被我列为 16 年还算是比较火,比较实用的 Top 10 Android Library。

9. android-architecture

地址:https://github.com/googlesamples/android-architecture

上面说了,16 年 Android 架构被越来越多的开发者关注,国内外关于架构的探讨比较活跃,大家熟知的 MVC、MVP、MVVM、Clean 等,就在大家争执哪个更好,Android 开发到底该怎样架构的时候,Google 开源了一个 Android 架构的官方指导,涉及 mvp、mvp-loaders、databinding、mvp-clean、mvp-dagger、mvp-contentproviders、mvp-rxjava 等,分别在各自指定的分支下,有非常大的参考意义,可以算是 Android 界的一大步。

10. awesome-android-ui

地址:https://github.com/wasabeef/awesome-android-ui

Android 开发中除了我们以上用到的各种实用库之外,我们往往还会涉及到各种 UI 效果的实现,对于移动开发,界面开发其中是很重要的一环,而 16 年针对 Android 开发有人开源整理了这么一个库,里面网罗了所有你见过的、没见过的各种 UI 效果,涉及 Material、Layout、Button、List、ViewPager、Dialog、Menu、Parallax、Progress 等等,而且有相对应的截图、gif 展示,以后应对设计师各种效果的时候有很大的参考帮助作用。

以上就是我总结的,我个人认为的,在 2016 年的 Android 开发中,比较实用的、对你的开发有很大帮助的一些 Android Library,除了对你们的开发效率有提升之外,还能够了解其原理,阅读其优秀源码,参考其代码设计,是绝佳的一份学习资料,希望每个人在 2017 年都能在技术上取得很大进步!


 转载自:http://blog.youkuaiyun.com/googdev/article/details/54580884









JavaLibrary:Java库 主要功能 对象⇒JSON转换--converter.JSON.java n元⇔n元转换--converter.RadixConverter.java Base64编码--converter.Base64.java 加密--security.MyEncryptionStandard.java 使用字典比较字符串--lang.StringComparator.java 套接字通信--net * Portscan --net.PortScanner.java 伪随机数生成--math.XorShiftVariable.java 计时器--util.Counter.java 与数组相关的--util.ArrayUtility.java 与日期相关的--util.DateUtility.java 字符串操作--util.StringUtility.java 类似的搜索--util.SearchE 立即下载

相关推荐

java library.zip

c3p0连接mysql5,使用的jar库

评价最高影片JAVAlibrary_视频 | 手游大神,动画导演,机圈新贵,极客怎么评价愤怒的小鸟2?...

谁能想到,迄今为止口碑最好的「游戏改编电影」竟然来自一个手机游戏IP?!《愤怒的小鸟2》是有史以来评价最好的游戏改编电影。——Screencrush.com《愤怒的小鸟2》凭什么能在打分平台上获得游戏改编电影最高分?——Gamespace.com83%的烂番茄开画指数,《愤怒的小鸟2》力压「皮卡丘」「古墓丽影」「最终幻想」「生化危机」等一众全球顶级游戏IP,成为影史上最成功的游戏改编...

weixin_39922394的博客 7234

java,DVD&Library

Java简单代码,包含DVD借出和图书馆借书代码。适合初级人员参考学习。

让你最震撼的电影

1、 《教父》The Godfather 1972年 8.9 科波拉黑帮经典《教父》的首部,派拉蒙公司最成功的影片之一,坐稳IMDB头把交椅应属众望所归。马龙·白兰度的表演极具个人魅力。2、 《肖申克的救赎》The Shawshank Redemption 1994年 8.9 又名《刺激1995》,由汤姆.汉克斯,摩根.弗里曼主演。 著名的监狱电影,许多以监狱为背景的影片都受到本片的影响。包括本人甚爱的《越狱》。3、 《辛德勒的名单》Schindler's List 1993年 8.8 斯皮尔伯格在《大白鲨

软件工程 plus 人工智能 4740

BioJava(Java Library)指南

Biojava: One bioinformatics java programming library

Windows/Mac/Linux三系统保姆级教程:用llama.cpp将safetensors模型转gguf格式(附常见错误解决)

本文提供Windows、Mac和Linux系统下使用llama.cpp将safetensors模型转换为gguf格式的详细教程,涵盖环境配置、转换原理及常见错误解决方案。通过跨平台兼容性处理,帮助开发者高效完成模型格式转换,优化边缘计算性能。

weixin_29227425的博客 270

观影指南(使用java语言模拟实现观影指南. 实现添加电影,查看电影列表,分类查看电影列表,显示人气最高的电影)

实现思路 添加实体类 MMovie(电影) 属性:Name(电影名称) Type(类型) Donny(人气) 创建观影指南类 MMovieManager(观影指南管理类) 方法:初始化电影数据、添加 、显示全部、根据类别显示、显示人气最高的电影信息 在这里遇到一个坑,代码中用到了多个Scanner流,当你执行完输入任务后关闭任意一个,再次执行到输入语句的时候会出现一个NoSuchEle...

weixin_44540088的博客 2万+

迪文DGUSII串口屏中文显示实战:手把手教你制作16x16点阵字库

本文提供了一份迪文DGUSII串口屏16x16点阵中文字库制作的完整实战指南。从显示原理、字体选择与参数设置,到使用FontLib Make工具生成字库文件,再到部署、调用及存储空间优化,手把手教你解决中文显示难题,确保界面文字既美观又稳定。

weixin_29190573的博客 154

评价最高影片JAVAlibrary_《鼠胆英雄》:影片烂不烂,观众说了算

作为德云社的粉丝,很客观的评价:德云社系列的大电影,基本上都不算太出彩,被列为“烂片”也是无可非议,毕竟,一群搞相声的人,硬生生将相声里的梗搬进去电影里,难免会有点不合适。但在许多网友眼里,只要是德云社系列的电影,就一定是烂片,这样的观点已经深深植入的他们的脑海里,以至于,当一部有郭德纲,或者是岳云鹏主演的电影,都会被列入“烂片”的行列,无论网友有没有看过这部电影,都一定会先打上“烂片”的标签,然...

weixin_39862716的博客 9293

USRP N210与MATLAB连接实战:从驱动安装到信号接收

本文详细介绍了USRP N210与MATLAB连接的完整流程,涵盖驱动安装、网络配置、支持包安装及信号接收实战。重点解决了安装过程中的常见错误和硬件连接问题,并通过MATLAB代码示例展示了如何配置接收器、处理信号数据,帮助用户快速实现从设备对接到信号分析的全过程。

blue的专栏 819

Proteus 8.17安装部署全指南:避坑、汉化与STM32库配置

Proteus是一款广泛用于单片机仿真与电路设计的EDA工具,其核心价值在于支持嵌入式系统原型验证与教学实践。Proteus 8.17版本重构了许可证机制(LIC Engine)、依赖环境(VC++ 2019/NET 4.8)及路径加载逻辑,导致传统安装方法失效。掌握正确安装部署流程,是保障原理图绘制、VSM仿真(如51/STM32/ESP32)及外设波形观测(OLED、SPI、ADC)稳定运行的前提。本文聚焦Windows平台下零失败安装路径选择、权限配置、汉化实施与高频器件(如STM32F103)元件库

weixin_33377602的博客 402

评价最高影片JAVAlibrary_三大“百亿影帝”联袂主演,一部比肩《战狼》的王炸影片即将诞生...

在华语电影近百年发展史当中,《战狼2》是一部不得不提的电影,吴京是一位不得不提的艺人,因为《战狼2》开创了华语动作大片的时代,让国产电影首次走出国门,走向世界,因为居功至伟,该片的导演兼主演吴京也因此一夜成名。在《战狼》系列影片热映之前,尽管吴京已经在华语影坛摸爬滚打了数十年之久,但是他仍然一事无成,被迫在港片当中饰演一些武功高强的反派角色,在香港影坛碰壁之后,吴京痛下决心,毅然决然地返回大陆,从...

weixin_39611031的博客 9825

手把手教你设计STM32的JTAG电路:从原理图到PCB布局(含JLINK连接详解)

本文详细介绍了STM32的JTAG电路设计全流程,从核心原理、接口规范到PCB布局布线技巧,特别包含JLINK调试器的连接与配置方法。通过信号滤波、上拉配置和防反接保护等关键设计要点,帮助开发者构建稳定可靠的JTAG调试环境,提升嵌入式开发效率。

weixin_29159441的博客 388

2016 Android Top 10 Library

阅读本文大概需要 10.24 分钟。过去的 2016 年,开源社区异常活跃,很多个人与公司争相开源自己的项目,让人眼花缭乱,然而有些项目只是昙花一现,有些项目却持久创造价...

stormzhang的专栏 604

GEE APP:基于Sentinel-1 SAR数据的洪水检测与制图系统:利用GEE平台实现洪涝区域提取、面积统计及矢量栅格化导出

本文介绍了一个基于Google Earth Engine平台的Sentinel-1 SAR洪水监测应用,通过自动化流程实现洪水淹没区域的精准检测与分析。系统采用Refined Lee滤波降噪和Otsu自适应阈值算法,结合SRTM地形数据消除干扰,可自动计算淹没面积并生成可视化结果。该工具提供用户友好的交互界面,支持多格式数据导出,适用于灾害应急响应、环境监测和城市规划等领域,具有云平台处理、算法鲁棒性强和操作简便等技术优势。

此星光明博客 327

【数据分析八步法】将模糊需求转化为可验证的分析问题

国内访问Huggingface官方源常遇网络问题,可通过切换国内镜像提升下载速度。三种配置方式:1)设置HF_ENDPOINT环境变量;2)在from_pretrained中直接指定镜像参数;3)修改本地Huggingface配置文件。常用镜像包括hf-mirror.com、阿里云ModelScope和清华镜像源。注意镜像同步延迟、私有模型限制,建议配合huggingface-cli工具使用,必要时取消代理设置。合理配置镜像源可显著改善Huggingface生态使用体验。

Mr数据杨 858

2016 TOP 10 ANDROID LIBRARY

原文地址:http://stormzhang.com/2017/01/16/top-10-android-library-of-2016/原文来自帅B张!关注他有一年多了,学习很多,也希望各位学习Android的朋友关注他,感谢他一年以来的指导,在此贴下他的公众号: RxJava 地址:https://github.com/ReactiveX/RxJava2016 年 Android 界最火的莫过于

我想吃碗牛肉面 482

ANSYS Fluent:湍流模型理论与应用

雷诺平均方程(RANS,Reynolds-Averaged Navier-Stokes equations)是湍流建模中最常用的方法。它通过将Navier-Stokes方程中的瞬时速度分解为平均速度和脉动速度,然后对这些方程进行时间平均,从而简化了湍流的计算。RANS方法的关键在于湍流闭合问题的解决,即如何准确地表示脉动速度的统计量。雷诺应力模型(RSM)是一种更高级的湍流模型,它通过求解六个雷诺应力方程来描述湍流的各向异性。RSM模型能够更准确地预测复杂的湍流流动,如旋转流和分离流,但计算成本较高。

kkchenjj的博客 2946
上一篇: Android 6.0 - 动态权限管理的解决方案
下一篇: kotlin基本语法
僤尐僤
博客等级 码龄14年 10粉丝 38原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值