有java基础,想学习android知识的同学?|

有java基础,想学习android知识的同学?|

本博客针对的是有Java基础,想学习Android知识的同学。 首先我会从电路的角度向大家介绍如何开发一个App。 我理解的软件就是一系列数据的采集、存储、处理、传输、显示,Android应用程序也是如此。 获取数据的方式有很多种,可以从手机内存、缓存、SD卡、网络、数据库获取。 稍后将详细讨论这些方法的实现。 数据的展示是app前端的实现。 Activity是Android显示的“脸”。 一切能看到的东西都显示在activity上,其中还包括各种控件、视图、视图组等。数据处理就是app中数据的使用。 数据的传递涉及到线程和消息机制,基础同学会慢慢理解的。 简单来说,就是从后端获取数据,显示在app界面上,然后用户进行操作,然后将反馈传递给后端进行处理。

我们从产品的角度来谈谈app的流水线以及公司各个部门的分工。

产品开发流程 互联网上开发一个APP的正常流程大致如下:

- 产品规划,确定产品方向

- 需求研究并制作需求文件

- 需求审查和需求文件的修订

- 向鸡射手提供产品狗画应用程序线框

- 小鸡射手根据线框设计视觉草稿

- 程序员根据视觉草稿构建UI框架

- 程序员根据需求文档开发功能

- 测试元根据时间表编写测试用例并进行测试

- 程序员修复回归测试报告的bug并提交beta版本

- 测试通过后,提交给喵行动并发布到频道上线。

以上是笔者的经验总结。 可能有一些不准确的地方,但是大致流程是这样的。 我们开发者一定要清楚自己在整个产品中的角色,明白自己的工作职责。 快速构建一个Android项目比想象的要困难。 只是一开始要学的东西很多,一下子消化不了就会糊涂。 作者写这篇博客是为了帮助大家梳理一下自己的开发思路。 快速构建项目也是一种技能,而这种技能只能靠你自己来提高。 刚开始开发的时候地图场景,会有很多重复性的工作。 如果你没有提高开发效率的意识,你十年的工作经验意味着十年的经验只用了一年。 那怎么办呢,作者提供了我自己的总结,仅供参考:

- 定制开发规格

- 构建UI框架

- 选择开发库集成(或构建自己的轮子)

- 第三方服务集成(视情况而定)

制定开发规范。 一般来说,一个项目不会是一个人独立开发的。 即使是自主开发android游戏开发教程所需要学的,也应该制定开发规范。 一般会有什么样的规格呢?

- 命名约定

- 代码规范

- 代码管理规范

命名约定

命名约定包括:

- 项目命名

- 包命名

- 类命名、成员变量命名

- 资源文件命名

我们生产的每一个产品都会有一个相应的名称。 不要用中文命名。 最好用能表达中文意思的英文。 例如,CSDN客户端可以命名为CSDNClient。 当我们创建项目时,我们可以将其用作应用程序。 姓名。 你可以看一下我之前写的这篇文章:

代码规范 代码规范取决于语言。 Java用于开发Android。 当然,编码应该按照Java的编码规范来进行。 例如,命名应使用驼峰命名法。 在编码的时候,也应该遵守Android开发规范。 例如,UI 线程不应该执行任何操作。 耗时的操作,如网络请求、数据库操作等,需要在子线程中完成。 只有 UI 刷新是在 UI 线程中完成的。 这些规格可以根据你在项目中遇到的问题来确定。 好处是减少踩坑的机会,提高发展质量。

代码管理对于一个频繁更新迭代的产品来说,不可能自始至终保持不变。 这时候我们就需要对代码进行分支。 最好使用git代码仓库来管理代码。 作为一名合格的开发人员,您甚至不需要使用 git。 没有意义,所以如果你还在使用svnandroid游戏开发教程所需要学的,放弃它,投入git的怀抱吧。 它的好处是不言而喻的,你亲自去体验一下吧。

构建UI框架 构建UI框架需要我们根据产品的导航方式来设计。 市面上常用的导航模式如下: 如果不出意外的话,我们的app一定是其中一种导航模式。 一般我们绘制完线框后就会进行绘制。 您应该知道您要开发的应用程序会是什么样子。 开发人员不必等待视觉草稿和材料出来才开始工作。 我们先有一个大概的轮廓,等视觉稿出来之后再进行调整。 在选择开发库时,一般我们的app涉及到的库包括:

- UI框架(如下拉刷新PullToRefresh、滑动菜单Slidingmenu)

- 网络请求库(如okhtttp、AndroidAsyncHttp、Volley)

- 数据操作库(如GreenDao、Ormlite)

- 图像缓存框架(如Universal-Imageloader)

- 数据解析库(如Gson) 选择这些库的原因肯定是为了避免重复发明轮子。 从开发效率的角度来看,选择优秀的开源库可以大大缩短开发周期,提高开发效率,但从个人提升​​的角度来看,我们可能会成为只能使用API​​的程序员。 如果我们想要改进,造轮子或者分析这些优秀的源代码是一个很好的方法。

第三方服务集成我们在开发应用的时候,肯定会遇到一些需求,比如推送需求、自动升级、数据统计、社交分享、用户反馈等。但是,对于一个初创企业或者个人开发者来说,如果你一切都得自己开发,不是很累吗? 推送有一定的技术门槛,做得好的话就可以成立公司,所以选择一些第三方服务是可选的。 如果以后做大了,怕用第三方的话控制不了,那就自己做吧。 有钱随意招人招马,那就自己动手吧。 我们是谁,才能致富? 上面提到的这些足以开发一个应用程序。 开发后能不能用需要可靠的测试,是否有崩溃3D植物,操作流程是否不流畅,体验好不好,只有用户才会用。 这里我们不从产品的角度去评判一个app的好坏。 程序员要考虑的是从代码层面和性能层面让我们的app变得更好。

当我们完成云测试的开发后,我们需要对测试工程师进行基本的功能需求测试。 他们传统的做法是根据预先写好的测试用例进行回归测试,然后将测试出的bug反馈给工程师,工程师再修复这些bug。 ,但这确实不靠谱。 有时候我们太在意功能,而忽略了更重要的东西,那就是体验。 用户最直接的感受就是你的应用是否足够惊艳、足够流畅。 用户可能会觉得你在这个功能上有多牛逼并不重要。 因此,我们应该从非功能方向进行测试。 我们的目标是让用户享受使用它的乐趣,而不是添加一些杂乱的功能。 那么如何测试一些非功能因素呢? 这里不得不提到“云测试”,因为现在的设备太多了。 如果公司想购买一堆设备进行测试,需要花多少钱? 而且,设备更新太快。 ,你根本跟不上,所以就有了云测试。 是一个提供大量主流型号的云测试平台服务。 我们直接节省购买设备的成本并获得完整的测试报告。 。 我们来谈谈它的好处:

- 终端云,省去购买、租赁测试设备的成本

- 高效率节省测试人员成本和时间

- 包括兼容性测试、性能测试和功能测试

- 简单的操作和详细的测试报告生成有很多好处。 当你缺少测试工程师时,不去尝试是不合理的。 当打包上线之前的开发和测试阶段都做好之后,你距离实现一个app的完整开发已经不远了。 正常的互联网公司会把签名打包好的apk交给运营,交给他们写副本上传。 去应用频道,让频道帮我们上线推广。 如果我们是个人开发者,我们就必须自己完成这些任务。

综上所述,本博客为您整理了整个app开发流程。 没有讲太多技术性的东西,但是了解app流程对于自己的产品掌控是非常有好处的。 虽然我们只是一个小开发者,但是如果你有追求的话,当轮到你负责一个产品的时候,你应该了解开发的每一个环节,因为如果出现了问题,你也会知道如何去解决。有针对性地解决它。 虽然作者只是一个小开发者,但我也愿意思考。 很多时候我不愿意被别人牵着走,因为我们的人生应该掌握在自己手里。

文章来源:https://blog.csdn.net/qq_26944753/article/details/52367778