人文艺术 > 自己如何开发一款app?

自己如何开发一款app?

2020-10-28 00:06阅读(62)

自己如何开发一款app?:手把手教你做一个“专注睡前的APP”,来,学习一下。前言从零开始,手把手带你实现一个「专注睡前的 APP」。睡觉之前如果:-app,开发

1


手把手教你做一个“专注睡前的APP”,来,学习一下。


前言
从零开始,手把手带你实现一个「专注睡前的 APP」。睡觉之前如果能有一个 APP,能让我们写一写这一天的见闻或者心得,同时又能看一会段子、瞄一会好看的妹子,放松一下疲惫的身心那该多好,这也是我完成这个 APP 的原因。APP 的全部代码我已经分享到 Github 上了,需要的直接 点击这里,如果喜欢的话,麻烦给个赞,谢谢啦。

在开始写正文之前,先来一波效果的展示,看看五天过后我们能实现怎样的效果

本次的教程分为 5 天,内容分别为:

  • Day one,准备
  • 功能需求
  • 可行性分析
  • Day two,UI 及公共类的封装
    • 界面的设计及实现
    • 公共类的实现
  • Day three,日记模块
    • 日记的展示
    • 悬浮菜单的实现
    • 日记增删改的实现
  • Day four,妹子模块
    • 图片的获取
    • 图片的展示
    • 详情页面的展示
  • Day five,段子模块
    • 段子数据的获取
    • 段子的显示


Day one

俗话说,万事开头难,在开始敲代码之前,先让我们来做一些必要的准备,这样才能事半功倍嘛!


一、功能需求

既然要做一个 APP,那我们首先还是得把 APP 的功能都列出来,有了方向才能更好的努力,因为我想做的是一个专门给睡觉前用的 APP,所以我觉得应该有以下的这些功能

  • 1、日记的增删改
  • 2、显示一些有趣好玩的段子
  • 3、瀑布流展示漂亮的妹子
  • 4、保存日记的内容以及缓存妹子图片

虽然说需求不多,但是却要运用到网络、数据存储、图片缓存、UI 设计等内容,相信整个 APP 完成下来,必定能巩固我们的 Android 基础。


二、可行性分析

我们这个 APP 主要有三个模块,日记模块主要是运用到了数据库的知识,难度不大。但是,段子模块和妹子模块的数据要从哪来,这便是要好好考虑的了。幸好现在是个开源的时代,很多的数据,网上已经开源出来了。

我们先来看一下数据的内容

上面那两段代码分别是段子和妹子模块的 json 类型的数据,我已经将一些没用的字段去掉了。剩下的都是我们想要的数据。可以看到段子数据中,有着段子的内容,以及发布者的头像和名字。而妹子数据中有着图片的 url、id、以及图片的类型。相信有了这么丰富的数据,我们想要完成这个 APP 也是有底气了。


Day two


一、界面的设计及实现

既然我们想要完成一个好看的 APP,那么好看的界面便是必不可少的,这里我强烈推荐 APP 界面的设计必须尽量遵从 Google 提出的 Material Design,在这个推荐一个能够让我们实现 Material Design 变得更加简单的网站 material design palette,我这个 APP 的配色就是用这个网站完成的,贴几张图片,让你感受一下它的强大。

借助这个网站便能让我们完成 APP 的配色以及图标的收集,为下一步功能的实现,先打好了基础,至于界面的设计就仁者见仁智者见智了,篇幅有限,我就不多讲了。

APP 的最终设计效果如下:


二、公共类的实现

因为这个项目有三个模块,有一些东西其实是可以通用的,如果我们先把这些能够通用的东西,封装起来,供给所有的模块调用的话,相信会大大提高我们的开发效率。


1、网络工具类的封装

这个 APP 中,很多地方都要用到网络请求,因此也就很有必要将网络请求封装起来,因为这个 APP 的规模比较小,因此我选择了 Volley 这个网络框架作为我们网络请求库,把网络请求封装起来,哪个地方需要,调用一下就行了。对于网络请求,我觉得每个程序员都该懂点 HTTP,这里附上一篇有关 HTTP 的文章程序员都该懂点 HTTP。

先让我们来写个将网络请求进行回调的接口

然后将网络请求封装起来


2、Json 解析的帮助类

因为我们这个 APP 中,获取到的数据都是 Json 格式的,因此也就有必要将有关的 Json 解析封装成一个工具类,传入一个 String 类型的数据,直接得到数据实体类的 List。


3、HomeActivity(主页面)的封装

主页面我用的是 TabLayout + ViewPager + Fragment,也是现在主流 APP 主页面的显示方式。主界面底部是我们三个模块的图标和名称,通过左右滑动能实现界面的跳转。

底部图标的实体类 CommonTabBeanViewPager + Fragment 通用的 Adapter

Day three

关于日记模块的实现,其实我是复用了以前写过的一个日记 APP,具体的思路和做法,可以参考我的这篇文章 Android 一款十分简洁、优雅的日记 APP

Day four


一、图片的获取

1、根据返回的数据来编写图片的实体类

2、图片的展示

可以看到我是用瀑布流的方式来实现图片的展示,效果还不错,但其实实现起来也是很简单的

先写个图片的布局作为 RecyclerView 的 Item

可以看到我在 ImageView 的外面加了一个 CardView,这个一种卡片式布局,能让图片看起来就像一张卡片一样,相当的优雅、美观。

接着编写 Adapter,将数据和界面进行绑定

最后在 Fragment 进行数据的获取,以及布局的初始化就行了

3、详情页面的展示

干巴巴的,整个模块只能显示妹子的图片怎么行呢!!!怎么着也得能查看大图,根据手势放大缩小,以及浏览下一张图片才行嘛,说干就干。

因为图片需要有根据手势来放大缩小的功能,因此我便想到了 PhotoView,这是网上一个大神写的,继承自 ImageView 的一个自定义控件。图片加载我用的是

Glide,如果没了解过这个库的,强烈推荐,一行代码就能搞定图片加载,你确定不研究一下。


Day five


一、段子数据的获取

段子数据的获取其实跟妹子模块的方法基本一样

先编写实体类

写好实体类之后,使用我们之前已经封装好的网络请求工具以及解析工具,便能将返回的数据,解析成一个包含段子实体类的 List。


二、段子的显示

老规矩,先写个 RecyclerView 的 Item

然后编写将数据和界面进行绑定的 Adapter

最后段子页面中进行数据和获取以及界面的初始化

作者:developerHaoz

来源:慕课网 本文原创发布于慕课网 ,转载请注明出处,谢谢合作

程序员学习交流请添加慕课网官方客服微信:mukewang666
回复暗号“前端面试”可进前端交流群~回复暗号“Java”可进Java交流群~回复暗号“专栏”可进程序员交流群~

2

最为一个软件开发者,目前APP开发的技术无非以下几种:

①原生官方开发,Android和iOS,分别是Java语言(Google现在推kotlin)、object-c(苹果现在推swift)。开发效率低下,成本高、性能最好。一般用户量、流量巨大的APP都选用原生开发,因为性能好,用户体验最佳。

②混合开发,代表有ionic、react-native、国人搞的mui(uniapp).特点就是JavaScript、HTML、CSS快速开发,开发效率高,性能低于原生开发,成本低于原生开发。性能不太好、用户体验低于原生。

③目前Google最新的dart语言框架flutter,跨Android、iOS,一套代码即可,性能官方说是接近原生、媲美原生。但是该技术2018才正式推出,生态还没有完善丰富,组件少,资料少,至少目前没有非常成熟案例,在试水阶段。

3

首先先确定自己需要的app功能,然后找一家APP开发公司洽谈功能是否可以实现,在沟通app开发价格和工期,确定完成后可以和UI设计沟通APP版式,然后进入开发阶段。详细可以资讯一下山东中扬科技。

4

前几天整理了NAS上TXT小说 一小半吧 大概有47GB 写了个电子小说阅读器。

当然还需要其他软件配合 比如我这个有mySQL 和PHP 再加上as里的JAVA差不多了




5

找专业的机构学习

6

找一个外包公司,只要自己那边把需求功能确定好,找好公司

7

在门外汉来看,App软件开发是一件非常困难的事情,然而使用APICloud快速高效App开发平台,轻松6个步骤就可以完成App软件开发。

根据不同的应用需要,为您提供了Deep Engine(适合 Web 开发者)、SuperWebView(适合已有原生应用的开发者)以及数据云(适合需要快速简便实现服务端的开发者)。

第一步:选择App软件开发模式



APICloud平台为不同需求的人提供了不同的产品,如果你要从零开始制作App,那么选用Deep Engine产品,用HTML5等标准Web语言去开发和制作App,iOS和Android两个系统是同时生成的。

如果你已经有现成的App,希望加速开发和制作的周期,或是降低升级的难度和时间,那么选用SuperWebview产品。在已有的App中嵌入SuperWebview,就可以使用Web语言去继续开发和制作了,这样降低成本,缩短周期。

第二步:编写App软件界面



Sublime Text、Eclipse和Webstorm,耳熟能详的App开发工具都在APICloud上集成,你也可以选择使用APICloud Studio开发工具。使用你熟悉的HTML工具,再加上APICloud的插件,以2-3倍的效率进行App制作。

APICloud不会对开发工具做任何限制,使用任何 HTML5 开发工具都可以进行 APICloud 应用的开发工作。



如果您对 APICloud 开发尚未熟悉,在众多 HTML5 开发工具中,我们更建议您选择以下开发工具:

APICloud Studio3

APICloud Studio 3 是 APICloud 推出的一款更适合前端工程师的移动应用集成开发工具,基于业界领先的代码编辑器-Vscode深度定制 ,与 APICloud 平台的各种云端移动开发服务紧密结合,可以快速构建多端应用, Windows、Mac和Linux可以选择自己喜欢的操作系统进行开发。

Sublime Text 3

Sublime APICloud Plugins 是 APICloud 为开发者提供的一套开源的 Sublime Text 扩展插件,包括:应用管理、应用框架、页面模板、代码提示、代码管理、Widget 打包、真机同步、日志输出、管理自定义AppLoader等功能,其他的功能插件也在不断增加,这些插件已被 Package Control 成功收录,开发者可以直接在 Sublime Text3 中下载安装;所有插件都已开源,开发者也可以在此基础上按需求扩展自己的插件。


第三步:App软件功能实现



APICloud聚合了几乎所有国内主流的云服务模块,如支付、社交分享、视频直播、IM、语音会议等。这些模块都在聚合API中,你可以一站式选用App制作中所需的所有功能模块,一键就可以集成,快速高效。

第四步:App的服务端开发



你可以选择自己的本地服务器进行相连,也可以试用由APICloud的服务器端产品——数据云。数据云能够帮助你减少70%服务器端编码工作量,支持基于Docker技术的私有云环境。并且提供数据存储服务,支持在线设计NoSQL数据表,动态生成RESTFul API。

大量的模型库及内置模块,方便用户快速实现所需,可靠的BaaS服务,帮助用户避开服务器维护的泥潭。支持服务按需扩容,无须担心流量过载。

第五步:在线生成App安装包



做完以上四步骤后,其实App制作的过程已经结束了。下面就是将这一套代码编译生成iOS和Android两套安装包,在这里,APICloud不仅提供真机调试功能,可以使你看到App最终的效果,还针对12个常用的Android市场,还提供一键生成渠道包服务,帮助你轻松上线到Android应用市场。

第六步:上线App的运营管理



APICloud不光为App制作提供服务,也提供App上线之后的运营管理。APICloud运营云产品涵盖推送、云修复、大数据统计分析等App运营必备功能。版本更新更能实现应用内增量更新,无需重新提交App。在这里要单独讲解一下云修复和大数据统计分析两个功能,通过云修复可实现App内快速回滚,让App拥有自我修复能力在App内部快速回滚的过程中,支持断点续传,全面保障App自我修复的完整性。而大数据统计分析的功能使得App的新增及活跃用户数据,几分钟即可摆在你的眼前,让你成为App的运营专家。同时还支持对App进行自定义事件统计,帮助你去了解用户在App中的特定行为数据、支持版本、终端分布及错误报告。

8

这就看你是想自己组团队开发,还是找外包公司了。

但其实开发一款能运营起来的app很难,所以建议找一家有经验、专业的外包公司,为你省心省力省时省钱~

毛遂自荐~~

9

开发一款APP,目前是三种方法:

1、自己开发

2、自己组团队开发

3、交给外包公司

这三种方法个人推荐第三种。先说第一种,自己开发很省钱,但是功能和界面都不会做到非常好的地步。第二种是自己组织团队,而团队少不了配合,并且开发周期和专业的团队比起来会比较慢,当然,如果公司自有的开发团队已经有一定的实力那就交给公司自有团队就好。

接下来说最后一种,交给外包公司,只需要找到靠谱的公司。谈好价格,适当的跟进就可以了。既方便又迅速,并且可以给自己留出一定的时间去推广自己的APP。

10

APP开发有很多开发模式,为了能够更快更好的开发APP软件,还需要根据自己的功能以及开发预算挂钩,如果你的开发预算较多的话,则可以选择原生开发,如果开发资金有限的话,也可以使用模块开发,现在APP开发技术已经很完善。