『原创』手把手教你搭建一个实用的油耗App(一)
前言:
入行快10年,有点积蓄,三年前买了代步车。于是乎,汽车油耗开销就成了每个月都必须关注的问题。三年来,用过了无数油耗记录软件,比如最知名的“小熊油耗”,从第一次用,一直到最新一版,感觉越来越“臃肿”,功能实在是太丰富了,甚至都做到“大数据”这一层面,作为一个小白车主,其实,我只关心:我的车油耗如何。

后来体验了几款应用市场上的油耗app,感觉都不尽如人意,比如一来就要你手机号的(什么鬼,手机号和油耗有毛线关系?作为一个安卓用户,我觉得:个人隐私还可以在抢救一下!)……还有界面简单到只有一个表格的,看的我是一脸懵逼的(敢不敢不要这么“直白”,不用小熊油耗那么复杂的图表,我就只想知道油费怎么花出去的),曾经在某野鸡应用市场下载到一个支持云盘数据备份的app,无奈换手机后,居然再也找不到这个app啦,一年多的油耗数据也无从恢复,哎(我就想用个稳定的油耗app)
一直以来,我就想找一个这样的油耗App:
- 功能相对简单(油耗增删,图表展示)
- 不涉及个人隐私(不收集个人账号类信息,没有多余的权限申请)
- 支持数据云备份(有后台数据做云端备份,换机无忧)
- 稳定更新(有一个稳定的App市场来承载,如果我还活着,就不断更新)
作为程序猿,一直以来信奉那句“自己动手,丰衣足食”,既然安卓市场里找不到适合自己的油耗app,那何不自己开发一个呢?
选型:
开发工具和UI框架
果断决定自己动手搞一个,但是想想安卓那么多项目框架,感觉都太“臃肿”,如果一个一个写Activity,自己这个强迫症又觉得太low逼。怎么办?!遇到了Hbuilder+MUI,这个前端Hybrid开发神器,我在这篇文章就不做过多赘述,大家可以移步官网看看“Hello world”,自然能明白为什么我会用它来完成咱们这个App的开发任务(传送门在这里:猛戳跳转)
好了,准备好开发工具和UI框架,我们的App就在这框架上进行构建,简单点说:我只需要写几行JS代码,就能完成一个原生App所具备的功能。
数据持久的新思路:BAAS
网络上关于BAAS的解释,很多很多,在这里我也不啰嗦,简单说:我作为一个App开发,我只需要告诉Baas我需要存些什么(JSON),什么时候来拿(Anytime),怎么拿(Get/Post)。后台所有关于数据的操作,均有BAAS来完成!,一句后台代码都不用我写哟!
这样一来,作为一个独立的App开发人员,至少后台数据的持久化,算是解决了。BAAS提供商,服务好的,还会同时提供一套“用户账户”系统给你,方便你的App用到“用户”模块,这样,神马用户注册,密码找回等等这一套系统,又给我省了很多工作量。
综上所述,我选择了:Wilddog野狗这家年轻的BAAS提供商,来作为我App的云端数据备份+用户账户模块的支撑~~~~当然路,免费和收费,大家可以自行决定!

万事俱备,只欠coding
搞定了开发工具,UI框架以及数据存储和用户账号体系的问题,对于我们这个App来说已经是“万事俱备,只欠coding”了。如果电脑面前的你想和我一样10多分钟搞定这个App,你应该准备好:
- 项目开发工具:Hbuilder(自带MUI)
- Wilddog野狗云账户
- 健全的双手(右手皆可)
- 不低于70的IQ
……
项目搭建

使用Hbuilder 新建一个“移动App”项目,在“选择模板”这里,我们选择:mui项目。这样,会为我们的项目添加好mui必备的js、css、字体资源。
新建的项目如左图所示, 在根目录下,添加images、libs、funcs三个文件夹。如下图所示:

还有一系列的功能界面,在这里,就不一一赘述,后面都会把项目在git上进行分享。以下是各个界面的样子:

项目的源码将使用git方式做分发,所以在此不再赘述。大家可以通过扫下方二维码,先体验一下:

后续,我会专门一个一个专题,给大家介绍这个App主要功能模块的实现,以及对接BAAS服务的相关心得技巧。
『原创』手把手教你搭建一个实用的油耗App(一)的更多相关文章
- 用Python手把手教你搭建一个web框架-flask微框架!
在之前的文章当中,小编已经教过大家怎么搭建一个Django框架,今天我们来探索另外的一种框架的搭建,这个框架就是web框架-flask微框架啦!首先我们带着以下的几个问题来阅读本文: 1.flask是 ...
- 手把手教你搭建一个 Elasticsearch 集群
为何要搭建 Elasticsearch 集群 凡事都要讲究个为什么.在搭建集群之前,我们首先先问一句,为什么我们需要搭建集群?它有什么优势呢? 高可用性 Elasticsearch 作为一个搜索引擎, ...
- 手把手教你搭建一个Elasticsearch集群
一.为何要搭建 Elasticsearch 集群 凡事都要讲究个为什么.在搭建集群之前,我们首先先问一句,为什么我们需要搭建集群?它有什么优势呢? (1)高可用性 Elasticsearch 作为一个 ...
- 手把手教你搭建一个跟vue官方同款文档(vuepress)
前言 VuePress 由两部分组成:第一部分是一个极简静态网站生成器 (opens new window),它包含由 Vue 驱动的主题系统和插件 API,另一个部分是为书写技术文档而优化的默认主题 ...
- 手把手教你搭建FastDFS集群(下)
手把手教你搭建FastDFS集群(下) 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/u0 ...
- 手把手教你搭建FastDFS集群(中)
手把手教你搭建FastDFS集群(中) 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/u0 ...
- iOS回顾笔记(05) -- 手把手教你封装一个广告轮播图框架
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,bi ...
- 大数据江湖之即席查询与分析(下篇)--手把手教你搭建即席查询与分析Demo
上篇小弟分享了几个“即席查询与分析”的典型案例,引起了不少共鸣,好多小伙伴迫不及待地追问我们:说好的“手把手教你搭建即席查询与分析Demo”啥时候能出?说到就得做到,差啥不能差人品,本篇只分享技术干货 ...
- 手把手教你搭建Pytest+Allure2.X环境详细教程,生成让你一见钟情的测试报告(非常详细,非常实用)
简介 宏哥之前在做接口自动化的时候,用的测试报告是HTMLTestRunner,虽说自定义模板后能满足基本诉求,但是仍显得不够档次,高端,大气,遂想用其他优秀的report框架替换之.一次偶然的机会, ...
随机推荐
- WebAPI 抛出HttpResponseException异常
[HttpGet] public List<UserInfo> GetList() { try { List<UserInfo> list = new List<User ...
- OSGi 系列(十六)之 JDBC Service
OSGi 系列(十六)之 JDBC Service compendium 规范提供了 org.osgi.service.jdbc.DataSourceFactory 服务 1. 快速入门 1.1 环境 ...
- aspx导出文件
System.IO.StringWriter sw = new System.IO.StringWriter(); HtmlTextWriter htw = new HtmlTextWriter(sw ...
- tomcat 启动报 找不到 StrutsPrepareAndExecuteFilter。。
<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://w ...
- 多线程的使用:只能用cmd来玩不能用idle
from multiprocessing import Process import os def pro_do(name, func): print () if __name__ == " ...
- NET(C#)连接各类数据库-集锦
1.C#连接连接Access程序代码:------------------------------------------------------------------------------- u ...
- 2018.10.01 bzoj3237: [Ahoi2013]连通图(cdq分治+并查集)
传送门 cdq分治好题. 对于一条边,如果加上它刚好连通的话,那么删掉它会有两个大集合A,B.于是我们先将B中禁用的边连上,把A中禁用的边禁用,再递归处理A:然后把A中禁用的边连上,把B中禁用的边禁用 ...
- 2018.08.18 NOIP模拟 snow(最大流)
Snow 题目背景 SOURCE:NOIP2015-SHY4 题目描述 有一天,TT 要去 ABC 家.ABC 的大门外有 n 个站台,用 1 到 n 的正整数编号,TT 需要对每个站台访问恰好一定次 ...
- Ubuntu 16.04安装MySQL及遇到的问题解决方案
使用以下命令即可进行MySQL安装: sudo apt-get install mysql-server 上述命令会安装以下包: apparmor mysql-client-5.7 mysql-com ...
- event对象的clientX,offsetX,screenX,pageX和offsetTop,offsetHeight等等
先总结下区别: event.clientX.event.clientY 鼠标相对于浏览器窗口可视区域的X,Y坐标(窗口坐标),可视区域不包括工具栏和滚动条.IE事件和标准事件都定义了这2个属性 eve ...