如何快速开发一个Android? App

11小时前 (12:19:05)阅读2回复0
路人甲
路人甲
  • 管理员
  • 注册排名2
  • 经验值421905
  • 级别管理员
  • 主题84381
  • 回复0
楼主

如何快速开发Android? App

前言

从开发的角度介绍如何开发Android App,需要阐明 1点是,这里只提供一个如何开发一个应用程序的想法,不会介绍很多技术细节,从整体情况到掌握如何构思一个应用程序的开发,这样你就可以理解独立开发一个应用程序,如果有错误的地方,欢迎拍砖留言讨论。

开发环境

Android使用层使用的开发语言是Java,Java运行环境自然需要使用。无论您是在Window系统还是Mac系统中安装JDK,并配置其环境变量。如果您不知道如何呼叫环境变量或匹配它,请充分利用您的百度技能自己学习。

如何快速地开发1款Android App

开发工具

由于历史原因,Android长期使用Eclipse。当我们想开发Android时,我们需要安装谷歌开发的插件ADT。开源软件Eclipse非常优秀和专业,但仅仅使用它来开发Android似乎有点鸡肋。如果不优化Eclipse,这将是一张非常卡片。谷歌真的不愿意依赖别人,所以它专门为我们的开发者开发了一款受到大多数开发者高度赞扬的安卓 Studio,如今2.0预览版也出来了,大家赶紧往下走。

如何快速地开发1款Android App

模拟器

Android自带的模拟器1受到了广泛的批评。卡太慢了。与其他IOS模拟器相比,它是如此流畅。安卓开发人员喊道很难,但幸运的是,第三方的模拟器Genymotion比原来的模拟器流畅n倍。你可以使用下一个个人版本来开发和测试。最好的方法 还是用真机测试,真机才是真正的环境。

如何快速地开发1款Android App

Android核心基础

前面是准备工作,我想开发一个Android app,至少要掌握Android的核心基础知识。对于刚开始学Android的童鞋来说,一口吃一个胖子是不可能的,还是要打好坚实的基础才能完成独立开发。Android进门并不难。学完基础,你只有开发app的基本条件。做一个优秀的app还有很长的路要走。经验是通过不断的实践积累起来的。找一套系统的课程认真学习。有很多在线教学资源。例如,在线教学网络和极客学院有很多很好的学习资源。童鞋可以自己学习。

产品开发过程

互联网开发app的正常流程大致如下:

- 产品规划,产品方向,

- 需求研究、产出需求文档

- 需求评审,修改需求文档

- 产品狗画app线框图提供给射鸡师

- 射鸡师根据线框图设计视觉稿

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

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

- 测试媛编写测试用例,并根据排期进行测试

- 程序猿修复测试反馈的bug,并提交beta版本

- 测试通过后,提交给操作喵,发布到渠道上线

以上是作者的经验总结,可能有不正确的地方,但整个过程大致是这样的,我们的开发者应该知道他们在整个产品中的作用,了解他们的工作职责。

快速建设项目

Android并没有想象的那么难,但是刚开始要学的东西很多,一下子消化不了就不知所措了。作者写这个博客是为了帮你整理一下发展思路。

快速建设项目也是一项技能,这项技能只能由你自己完美。当你开始开发时,会有很多重复的工作。如果你没有意识地提高你的开发效率,也许你的十年工作经验只代表了十年的经验。

如何做到这一点,作者提供了自己的总结,仅供参考:

- 定开发规范

- 构建UI框架

- 选择开发库集成(或自制轮)

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

定开发规范

一个项目一般不会只有一个人独立开发,即使是独立开发,我们也应该制定一个开发规范,一般会有什么样的规范?

- 命名规范

- 代码规范

- 代码治理规范

命名规范

命名规范包括:

- 项目命名

- 包命名

- 类别命名、成员变量命名

- 命名资源文件

我们做的每一个产品都会有相应的名字,不要用中文命名,最好用能表达中文意思的英文来表达 ,例如,CSDN客户端可以以CSDNClient命名,当我们创建项目目标时,我们可以将其命名为Application name。

代码规范取决于语言。开发android使用Java。自然,编码应该按照Java的编码规范进行。例如,选择驼峰命名法进行命名。编码时,还应符合android的开发规范。例如,UI线程不需要任何耗时的操作。例如,网络请求和数据库操作需要放在子线程中,只有UI刷新才能在UI线程中完成,如这些规范,可以根据自己在项目中遇到的问题来确定,规范的好处是降低踩坑的概率,提高开发质量。

对于经常更新迭代的产品,不可能从头到尾保持不变。此时,我们需要分支和处理代码。最好使用git代码仓库来处理代码。作为一名合格的开发人员,我们甚至不需要说git。我们还使用svn童鞋,迅速放弃它,投入git的怀抱。它的好处不言而喻,我们可以自己体验。

构建UI框架需要我们根据产品的导航模式进行设计,市场上常用的导航模式如下:

如果我们的应用程序没有发生事故,1必须是导航模式之一。一般来说,当线框图出来时,我们应该知道即将开发的应用程序看起来是什么样子。开发人员不必等到视觉草稿和材料出来后才开始施工。让我们大致搭建一个架子,然后在视觉草稿出来后进行调整。

选用开发库

一般来说,我们的app涉及的库会有:

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

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

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

- 图片缓存框(如Universal)-Imageloader)

- 数据分析库(如Gson)

选择这些图书馆的原因必须是避免重复制造轮子。从开发效率的角度来看,选择优秀的开源图书馆可以大大缩短开发周期,提高开发效率。然而,从个人改进的角度来看,我们可能已经成为一个只能使用API的程序猿。如果我们想改进它,制造轮子或分析这些优秀的源代码是一个很好的方法。

第三方服务集成

当我们开发应用程序时,我们肯定会遇到一些需求,如推送需求、自动升级、数据统计、社交共享、用户反馈等。然而,对于一个新的企业或个人开发人员来说,如果他们都必须自己开发,他们不会累,比如推送有一定的技术门槛,可以建立一家公司,所以选择一些第三方服务是一个可选的举动。假如你以后做大了,用第三方怕不好掌握,那就自己做吧,有钱任性招兵买马自己做,谁叫我们有钱?

开发一个应用程序就足够了。必须进行可靠的测试来开发它是否可以使用,是否有crash,操作流程是否不顺畅,以及体验是否良好。在这里,我们不会从产品的角度来判断一个应用程序的好坏。程序员应该考虑的是让我们的应用程序从代码和性能的角度变得更好。

云测

开发完成后,我们需要测试测试工程师的基本功能需求。他们代代相传的做法是根据事先编写的测试用例进行回测试,然后将测试的bug反馈给工程师,然后工程师修复bug,但这太不可靠了。有时我们太关心功能而忽略了它 有一些更重要的事情,那就是体验,给用户最直接的感觉就是你的app是否足够惊艳,是否足够流畅,用户可能根本不在乎你的这个功能有多牛逼。因此,我们应该从非功能方向进行测试。我们的目标是让用户使用它,而不是添加一些混乱的功能。这里要提到如何测量一些非功能因素。『云测』这个东西,因为现在有太多的设备,如果公司想买一堆设备进行测试,多少成本,设备更新太快,你不能跟上,所以有云测试这个东西,它是一个云测试平台服务,提供大量的主流模型,我们直接节省购买设备的成本,也可以得到完美的测试报告。

再来说说它的好处:

- 终端云节省了购买测试设备的租赁成本

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

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

- 操作简单,生成详细的测试报告

这么多好处,当你缺少测试工程师的时候,如果你不尝试,你真的不能说过去。

打包上线

在之前的开发和测试环节没有问题之后,你离实现一个应用程序的完全开发不远了。正常的互联网公司将操作签名包装的应用程序,并将其交给他们撰写文案并上传到使用渠道,以便渠道能够启动并适当启动。如果我们是个人开发者,我们必须自己做这些工作。

总结

从整个app开发过程中,我们经常整理一遍,没有说太多技术上的话,但是理解app过程对自己掌握产品是非常有益的。虽然我们只是一个小开发者,但是如果你有追求,轮到你负责一个产品的时候,你应该知道开发的每一个环节,因为有问题,你也知道如何有针对性地解决。虽然作者只是一个小开发者,但他也愿意探索。很多时候,他不愿意被别人牵着鼻子走,因为我们的生活应该掌握在自己手中。

0
回帖

如何快速开发一个Android? App 期待您的回复!

取消
载入表情清单……
载入颜色清单……
插入网络图片

取消确定

图片上传中
编辑器信息
提示信息