如何利用github学习项目_Github几个非常值得学习的项目

点击上方的终端研发部,右上角选择“设为星标

每日早9点半,技术文章准时送上

公众号后台回复“学习”,获取作者独家秘制精品资料

292ca5a7fb874f86eefa5cd8909e4659.png

往期文章

记五月的一个Android面试经

今日头条屏幕适配方案落地研究

APK瘦身-是时候给App进行减负了

漫画:App 防止 Fiddler 抓包小技巧!

浅谈final、finally、finalize有什么不同?

292ca5a7fb874f86eefa5cd8909e4659.png

来源:luhua

原文链接:http://www.php100.com/9/577.html

前言

分享 2019 年 5 月 GitHub 上比较流行的 9 个和 Android 开发相关的开源项目,非常值得学习和收藏,包括Kotlin 的 linter、mock 库、对话框、日历、矢量绘图组件,依赖注入框架,内存泄露检测库等。

首先几个不错的Kotlin相关的git项目

1、阅读精选Kotlin版

RsKotlin2.0版本是基于Kotlin开发的一个Android学习的App,API主要来源是wanandroid,同时也包含部分豆瓣API和知乎日报API。App遵循MD风格,也加入了Lottie的动效,想学习Kotlin的童鞋可以参考。

8e90f827c6085097840e1d4eed931e23.png36ca4798f1ed34a2a5137589ab784f9e.png

GitHub 仓库地址:https://github.com/LeeeYou/RsKotlin/

2、kotlin-android-starter

一个Kotlin工具项目,内含不同效果,很值得去学习

a94f32496687b27457cf4c70e6e5b865.gif

GitHub 仓库地址:https://github.com/androidstarters/kotlin-android-starter

3、GankClient-Kotlin

gank.io kotlin实现的干货集中营客户端,风格采用了Material Design. 多数控件都是design包里面的。MVP架构 Rxjava + Retrofit + okhttp3 +Dagger2+Kotlin

ac0967e577cb8552d09eb7faa9910022.png6789f20fa3b355517232e0e6e864c774.png

GitHub 仓库地址:https://github.com/githubwing/GankClient-Kotlin

4、FanfouHandpick 饭否精选

本项目采用 Kotlin 开发,如果你使用的是 Java 进行Android开发,那么,在编译次项目时,需要在Android Studio中安装插件,并进行相关的配置。

745e547d91116d37bdbe83abd5d87fa6.png

GitHub 仓库地址:https://github.com/TonnyL/FanfouHandpick

Kyrie

VectorDrawable 和 AnimatedVectorDrawable 的超集。

09ea016205724f6cca15b98865928453.gif

VectorDrawable 提供了像素密度无关性——在任意设备上随意缩放而不损失画质。AnimatedVectorDrawable 在其基础上添加了动画特性。然而,它们有三大缺陷:

  • 无法暂停和继续。

  • 无法在运行时动态创建。

  • 相比 web 上的 SVG,它们仅仅支持少量特性。

GitHub 仓库地址:https://github.com/alexjlockwood/kyrie

square 开源的内存泄露检测库—LeakCanary

GitHub 仓库地址:https://github.com/square/leakcanary

Material Dialogs

kotlin开发APP非常使用的一个组件,美观、可扩展的 Material Design 风格对话框。采用模块化架构,核心模块(core)包含了核心功能和基本功能,文本输入框、文件选择器、色彩选择器、时间日期选择器、弹出表单等功能作为扩展模块提供,可单独引入。支持 AndroidX 生命周期组件。

c13606af987b041fe83e7de21640b693.png

GitHub 仓库地址:
https://github.com/afollestad/material-dialogs

CalendarView

基于 RecyclerView 的日历库。

GitHub 仓库地址:https://github.com/kizitonwose/CalendarView

Assent

面向 Kotlin 和 AndroidX,让 Android 的运行时权限控制易于开发。

8d32edaacb4b3e14e0fec0c0d0d8c31c.png

GitHub 仓库地址:https://github.com/afollestad/assent

mockk

Kotlin 的 mock 测试库,不仅支持常规的单元测试,还支持在真机或模拟器上运行的 instrumented 测试。

mockk 提供了全面、强大的特性,可以 mock 类、对象、私有函数、协程等多种结构(Android P 之前的版本 instrumented 测试有少数特性不支持)。

官网:mockk.io

KOIN

面向 Kotlin 开发者的轻量依赖注入框架。

KOIN 提供了轻量的函数式依赖注入 DSL,无需代码生成和反射。

850ab81a4c545fafdd09fc9e0a2aa5aa.png

官网:insert-koin.io/

Firefox Fenix

Firefox Fenix 基于 GeckoView 和 Android components 开发。GeckoView 是 Mozilla 开源的 Android 库,封装了自家的 Gecko 浏览器引擎。Android 上的 Firefox Reality (面向 AR 设备的浏览器)和 Firefox Focus (主打极简 UI 和隐私保护的浏览器)用的也是 GecokView。Android components 则是 Mozilla 使用 Kotlin 开发的一套 Android 组件库,这套组件库主要面向浏览器和类浏览器应用。顺便提一下,由于 Android components 使用 Kotlin 开发,Firefox Fenix 也顺理成章地使用 Kotlin 开发。

GitHub 仓库:mozilla-mobile/fenixhttps://github.com/mozilla-mobile/fenix

ktlint

开箱即用的 Kotlin linter:

  • 零配置。采用官方风格(kotlinlang.org 和 Android Kotlin 风格指南)。

  • 内置格式化功能,类似 Go 语言的 gofmt。

  • 单一可执行 jar 文件,内置所有依赖(当然,你还是需要自备 jvm 的)。

  • 可搭配 maven、gradle、GNU Emacs、Vim 使用。

注意「零配置」的意思是并不提供多种风格选项让你选择,但是你仍然可以通过自行编写规则来自定义 linter 的行为。另外,ktlint 也会遵循 .editorconfig 中的设置。

ktlint 也可搭配 IntelliJ IDEA 使用。不过通常没有这个必要,可以直接使用 IDEA 内置的代码格式化功能(效果和 ktlint 一致)。暂时也没有 vscode 插件,不过可以通过 sonarlint 曲线使用。

官网:ktlint.github.io

结语

五月初召开的 Google I/O 2019会议上,宣布 Kotlin 为 Android 开发的首选语言,Jetpack API 和特性将首先提供 Kotlin 支持,并建议新项目使用 Kotlin 编写。有很多人说Kotlin凉了,Flutter凉了,android原生凉了,殊不知在当前的大环境下,没有哪个语言凉,没有那个语言热,反而是和个人的能力挂钩的,没有稳定的语言,只有过硬的能力。当然 我这里也并没有批判那种语言,如果继续做android的话,个人认为,kotlin是必学之选。很多开源的工具用kotlin重写,从Jetpack上可以看出来Google对于kotlin是多么的青睐,这些事实,或多或少的能反应了Android 生态的重心正向 Kotlin 偏移。

不过在个人看来,Kotlin是非常有必要去学习的,如果时间允许的话还是跟着官方文档去学习是一个不错的选择。这样在面试的时候也能增加给自己加分。最后希望大家在开发这条道路上能走的更高,更远!

阅读更多

这样写简历,offer不给你给谁?

打开Flutter动画的另一种姿势——Flare

上两个月,15家面试,几个offer , 我的面试历程!

高仿Android「填空题」控件!手撸一个炫酷的View动效

相信自己,没有做不到的,只有想不到的

在这里获得的不仅仅是技术!

e4807f9713253bda22d9bdb6734b727b.png

7e9ad144826d81ee650d670bf0ef8e1a.gif

喜欢就给个“在看” 88acef424fe559ae7035effccfd90ef7.gif

dm.jdbc.driver.DMException是一个数据库驱动程序抛出的异常。根据引用\[1\]中的描述,你在连接数据库时遇到了网络通信异常和连接超时的问题。你尝试在达梦数据库和dbeaver中测试连接,但仍然无法解决问题。引用\[2\]提到,如果仍然报网络通信异常,你需要仔细检查username、password、driver-class-name、url中的IP地址和端口号是否正确。特别是在更换环境时容易忘记修改IP地址。因此,你可以再次检查你的连接参数,确保它们是正确的。如果问题仍然存在,可能需要进一步排查网络配置或联系数据库管理员以获取支持。 #### 引用[.reference_title] - *1* *3* [dm.jdbc.driver.DMException: 网络通信异常](https://blog.csdn.net/qq_45685740/article/details/127930182)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [达梦数据库dm.jdbc.driver.DMException: 网络通信异常](https://blog.csdn.net/qq_45415736/article/details/130088548)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值