4周开发一款应用程序,是怎样的体验

01 每天敲代码的程序员,同样很幸福

曾经4周追了两部TVB电视剧;4周吃遍了校门外的小吃铺;4周穿梭在4个国家旅行。但最近的4周,我尝试用三个月学习的技术,开发了一款能在手机上流畅运行的应用程序。

9月学校开始学习安卓,用的教材是安卓大牛郭霖的《第一行代码》。11月,老师说这门课不考试,只要模仿做一个能在手机上运行的app,限时4周。

“能做出来的同学,4个星期一定能做出来;做不出来的同学,给你一年也做不出来。”

虽然当时心没底很有压力,但觉得这句话是真理。最终做出了这款模仿“去哪儿”的“机票订购”系统。

程序登录页面

一个月里,每天花固定2小时去构思流程、上机编程。其余时间依据追爱看的剧、上球馆打球、周末出门郊游、不定期来简书码字。虽然每天面对代码,并没让我觉得多么痛苦。

能学精一门编程技术,又能坚持个人兴趣、爱好、情怀。每天面对电脑的未来程序员,同样可以拥有丰富多彩的生活。

02 细小bug能“致命”,良好习惯能“救命”

4周写了一万多行代码,最大的感悟是养成良好的编程风格很重要。

良好的编程习惯包括:

1)抽象思考问题,合理划分模块;

2)代码简洁清晰,对人友善;

3)勤写注释,方便维护

4)能看懂编译器的错误提示;(基本英文单词一定要掌握)

5)出错时,请先怀疑自己的代码而不是编译器....

写程序前,我们首先应该对要编码实现的方案有一个初步设计,抽象思考问题即我要达到怎样的目的。我觉得这是编程的基础。

例如这张流程图,在正式编程前已经在我脑海中基本明确,所以一行行代码写下来很清楚下一步自己需要做什么,不会思绪混乱。

养成各种良好的编程风格,能从根上起有效减少你的出错率,提高编程速度,同时便于程序的后期维护。

例如 if( x == 1 ){...} 和 if( 1 == x ){...} 这两种写法,功能完全一样。但一般在大型程序中会推荐后一种。因为如果程序员粗心,少写一个“=”,前者编译器并不报错;后者编译器就能识别给常量赋值这一错误。

有时,关键处漏写一个“空格”都足以让程序崩溃;而程序员还得可怜地盯着半红的屏幕,大眼瞪小眼好久。

4周里,我就有过多次一个细节卡壳数小时的深刻体会。时间就是生命。我们要对自己的代码负责,对生命负责。

03 我的“去哪儿机票”

虽然遇见过各种错误,失败过无数次,但当看到自己的程序流畅运行时,对程序员而言是最大的褒奖。

这次做的是一款民航订票系统,实现了基本的线路查询、购票、退票、改签功能。同时加入管理员来实现管理用户请求和维护航线。程序中所有数据都存放在后台数据库。

麻雀虽小五脏俱全,整个流程并不复杂。

一、用户登录

1)查询线路

类似于其他订票app,在用户首页提供了“路线查询”、“查看订单”和“查询余额”功能。点击相应按钮,执行对应函数,向后台提交读取数据请求。

用户查询界面

现在输入“上海”、“香港”,程序会查询出所有满足条件的航班信息。当然目前,这些信息是我在后台数据库事先写好的。

航班信息

这是一个列表ListView,用户可以手指上下滑动屏幕把没有显示出的航班信息滚动加载到屏幕内。

这个ListView号称安卓最复杂的控件,之前笔者写过一篇相关文章:《Android最常用和最难用的控件》,可供您参考。

2)下单订票

选择某一趟航班,点击进入后会显示本次航线的具体信息:

航班详细信息

所有控件的布局都是自己设计的,所以和实际使用的app还有一些差距,请读者多包涵。

接下来就可以订票了,点击“购票”程序将跳转到下一页面。

填写乘机人信息

先填写乘客基本信息,然后就可以正式提交订单了。程序继续向后跳转:

付款界面

确认付款后,可以去“我的订单”中查到这一订单,系统自动在账户余额中扣除机票费用。

3)订单记录查询

我的订单

列表中最底层的就是刚刚购票的记录(其余是之前测验的结果)。点击进入查看:

订单详细信息

可以看到,我们刚刚手动输入的乘客信息包括航班信息都显示在当前界面上。这里的订单号是依据当前主机的系统时间生成,精确到毫秒级。所以是独一无二的。

这种生成唯一订单号的方法推荐给大家,还可以加入随机生成数,让序号变得更复杂。

4)退票 / 改签

和实际相联系,用户可以申请退票或改签,操作成功后原机票将作废。

我在这里做了一点设置,用户退票需向管理员申请。如点击“退票”,机票状态更新为“订单取消中”,可以在管理员界面查看。

申请退票

管理员同意请求后,才能真正完成退票。

二、管理员登录

1)查询航班

管理员同样可以查询航线,与用户共享数据库中的航班信息数据。

管理员登录界面

2)暂停售票

我为管理员增加了暂停售票功能,之后用户查看本次航班,将无法进行购票操作。

用户无法订票

3)受理请求

不同用户提交的订单都将在一个列表中统一显示,唯一的订单号将它们明确区别:

用户退票请求

点击进入后,可以同意或拒绝用户请求:

4)增加航线

管理员有权增加航线,按提示输入信息再传递到后台PC端,数据库的记录相应增加。

增开航线

总的来说,这是一款仿实际生活中app的小型应用程序。使用的服务器是tomcat8.0,开发环境是安装了ADT插件的eclipse和Android SDK、JDK 8.0、MySQL。


小结:

这一学期学习的安卓开发技术,是我出乎意料的进大学以来写程序最多的一学期。

进这门专业2年多,我觉得学习计算机仅凭每周上几节课是远远不够的,关键在课后勤写代码;仅凭学校发的几本教材同样不够,还得自己课外寻找其它资料不断补充。

所以学习安卓时,我另买了一本《疯狂安卓讲义》,平时逛逛CSDN之类的计算机论坛,每天固定2小时用于计算机编程,顺带坚持在简书写了10篇小文专门记录安卓学习历程。

4周完成了一款当初认为不可能做到的应用程序。我觉得凡事只要肯下功夫,一定会有属于你那份应得的回报。

最后,如有何问题欢迎留言,笔者会力所能及提供帮助。


愿我们都能学精自己的专业技能,用它创造无尽的智慧和财富

作者:叶琛

一只痴迷于旅行的大三编程狗

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,547评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,399评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,428评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,599评论 1 274
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,612评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,577评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,941评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,603评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,852评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,605评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,693评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,375评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,955评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,936评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,172评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,970评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,414评论 2 342

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,398评论 25 707
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,585评论 18 139
  • 他们都去了西藏 据说为了寻找信仰 除了祝福还有什么相送呢 唯愿那一带一路上 风景如画人如格桑花 唯愿他们都能抵达自...
    查文瑾阅读 121评论 0 1
  • 听说夜玫瑰歌舞厅今晚开张,天色刚刚擦黑,门口就挤满了看热闹的人。奇怪的是,...
    雨霖铃1998阅读 279评论 0 0
  • 这是我在知乎上的一个问题 的回答,回答的思路完全copy了天涯上的一个帖子——“鸿门宴”历史真相大揭秘 。算是自己...
    蒋段子阅读 2,471评论 0 3