gdgkisiiapp
GDG KISII Android移动应用程序的家庭存储库。
我们创建了一个Android应用程序来管理我们的开发人员社区。可以通过移动应用程序访问开发人员事件,资源和演讲者的更新。
酷功能包括
我的Android基础知识课程
- 一般编程实践
- Android基础简介
- 掌握Android中的布局
- 构建系统 - 与Gradle合作
- 在Android中进行网络
- 架构您的Android应用程序
- 测试您的Android应用程序
- 释放您的Android应用程序
- 确保您的Android应用程序
- 先进的Android
一般编程实践
以下一般编程实践是您成功开发职业的关键。这些实践包括:
- 源控制(GIT) - 源控制是管理代码版本的工具,非常适合编写软件。
- GIT工作流程 - 使用源控件时有许多不同的软件管理方式。流行方法包括:Gitflow工作流程,集中式工作流程,叉车工作流等。
- 连续集成 - 连续集成确保您的代码在不是您自己的机器的服务器上构建。查看使用Jenkins,BuddyBuild,Circle CI,Travis等这样的构建服务器。
- 拉请求 - 拉请求是获取有关您开发的代码的非常详细反馈的好方法。
- 敏捷/Scrum方法论 - 大多数现代软件开发团队都遵循用于工作的Scrum方法。
- 代码质量工具 - 公司使用许多工具来衡量其代码质量和代码库的健康。指标,例如测试覆盖线数量或代码基础的技术债务数量,使其可见。一些经常使用的工具:声纳,findbugs,CheckStyle和Android Lint。
Android基础简介
有许多网站提供了开始Android开发的基础知识。我的建议是遵循官方文档以了解基础知识。
一些入门资源:
- Android应用基本面
- Android中的一些主要组成部分:活动,碎片,服务,广播接收器。
- Android应用程序表现出来
- 代码实验室 - 构建您的第一个Android应用程序
掌握Android中的布局
Android中有很多不同的布局类型,从Framelayout到Relativelayout再到ConstraintLayout。确保您对这些常用的布局类型感到满意:framelayout,relativelayout,linearlayout,condectaintlayout,coordinatorlayout。
资源:
- 支持不同的屏幕尺寸
- 代码实验室 - 约束LAYOUT
- 代码实验室 - 协调员layout
建立系统 - 与Gradle合作
开发Android应用程序时,与Gradle合作可能会被忽略。确保您了解基础知识,甚至更好 - 学习如何编写自己的Gradle任务!
资源:
在Android中进行网络
尽管大多数Android文档没有引用改造或OKHTTP,但这些是在Android中进行网络时最常用的库。熟悉Android Studio中可用的不同分析工具也是一件好事。
资源:
- 了解宁静的服务
- 改造 - Android和Java的类型安全http客户端
- OKHTTP - Android和Java应用程序的HTTP和HTTP/2客户端
- Android中的网络分析器 - Android Studio中的工具,可让您介绍网络调用。
- 查尔斯·代理(Charles Proxy) - 可在测试时拦截网络调用。
架构您的Android应用程序
不幸的是,编写代码和使您的应用程序编译并不是知道如何编写可维护的Android应用程序的结束。大规模的Android应用需要遵循良好的建筑设计,以使其可维护和可测试。编写Android应用程序时,您可以遵循许多不同的模式。通常使用MVP,MVVM和清洁体系结构等模式。确保您了解模式之间的差异,因为您将遇到野外的许多不同模式。
资源:
- Android体系结构组件指南
- Android体系结构组件简介视频
- Google样本应用GitHub存储库
- 代码实验室 - 持久性
- 代码实验室 - 生命周期意识的组件
测试您的Android应用程序
一旦您掌握了创建Android应用程序的努力,您将需要考虑如何测试它们。单元测试和UI测试是您需要确保理解的非常重要的概念。您可以使用许多不同的工具来编写UI测试。大多数Android开发人员都使用浓缩咖啡和Junit来编写测试,但是还有许多其他工具,例如Robotium,Calabash,Appium等。我建议使用浓缩咖啡和Junit。
资源:
- Android测试支持库
- 浓缩咖啡
- 朱尼特
- 嘲笑
- 代码实验室 - Android测试
- 代码实验室 - Android性能测试
释放您的Android应用程序
太好了,您已经走了这么远!
现在,您需要介绍一些概念才能发布您的应用程序:
- 准备您的应用程序供发布
- 应用签名
- 版本处理您的应用程序
- 前卫
安全
为了确保您的应用程序并确保没有人获得未经授权的内容的访问,应该做很多事情。确保您正在使用Proguard(前面提到)。了解中间攻击中的男人是什么。了解不同的加密方法以及您可以将信息安全存储在Android应用中的方式,包括确保API令牌,证书固定等。
资源:
- 关于Android的安全提示。
- 证书固定
- 安全网API
- Android钥匙店系统'
先进的Android主题
一旦您涵盖了编写Android应用程序的所有基础知识,您可能需要介绍一些高级主题才能为某些代码库做出贡献:
- Kotlin - Kotlin是Android的新编程语言,开发人员正在Kotlin积极编写其代码。值得阅读有关Kotlin并贯穿Kotlin Koans的信息。还有一个可用的Kotlin代码实验室。
- RXJAVA - RXJAVA是一个用于异步,基于事件的编程的库。它允许您一起组合操作以完成复杂的任务(例如将多个网络调用组合在一起),并且在管理哪个线程执行的线程时非常有用。杰克·沃顿(Jake Wharton)有一个很棒的视频,描述了如何使用RXJAVA及其使用的好处。
- 匕首(依赖注入) - 依赖注入是管理对象及其依赖项在您应用程序中的一种方式。 DI的概念不是Android的概念,但也可以在许多其他框架中使用。 DI可以使您的代码更加有效,并促进可测试性。匕首2是最受欢迎的Android DI框架。
- 材料设计 - 大多数Android应用都遵循Google的材料设计指南。该指南是一种以标准方式设计您的应用程序的方式,用户习惯了。
- Android中的支持库 - Android中的支持库对于确保您的应用程序在多个版本的Android中保持外观和行为非常重要。有几个不同的库具有不同的目的。链接的文章描述了库背后的原因。
- 内存泄漏 - 在Android中,创建内存泄漏非常容易。这可能会导致应用程序中的错误行为(随机崩溃)。许多开发人员在其应用程序中使用Leakcanary,以确保没有任何内存泄漏。
执照