您的位置:首页 > 移动开发 > Android开发

我的Android之旅——学习、项目、心态

2015-09-23 20:51 567 查看

我的Android之旅——学习、项目、心态

2013/04/10 ·
Android,
开发 ·
5 评论 · Android

分享到:
34

阿里云助力弹性伸缩服务
PHP+Sphinx+MySQL实现全文检索—理论篇
Tooltip浮动提示框效果
倒计时效果

本文作者:
伯乐在线 - 唐韧 。未经作者许可,禁止转载!

欢迎加入伯乐在线作者团队
来源:唐韧

学习Android也一年多了,项目做了五六个,有大有小,有难有易。一直以来都没有好好总结过,今天周六休息,就写下这一年多从事Android以来的一些感想和小经验。涉及学习、项目和一些个人感受。

1.学习篇


我是从11年5月份开始接触并学习Android的,在那之前有过一年的J2EE的经验,做过三个J2EE的项目,从08年开始接触Java,所以到去年学习Android时,开发语言上我还是比较熟悉的,这也成了我为什么学习Android的一个理由。还有一个更重要的理由就是接下来的研究生学习中,Android也是我一个比较重要的方向,所以我选择在没开学前就开始自学Android。

我有一个学习癖好,我喜欢看视频去学,然后马上根据视频中讲到的东西去练习,然后反复去重复,刚开始可能不理解,但是在不断的重复中有两个好处,一个是对Android的使用熟悉了,还一个更重要的是在重复中逐渐对知识进行理解了。刚开始我的学习资料全部都是视频,加起来有好几十G,最先看的是Mars的学习视频,在网上是公认的对Android基础讲的比较不错的视频教程。我从第一集完整的看到了最后一集,里面的每个小例子都做了一遍,有的甚至还看了几遍,从最初对Activity的不理解到后来的轻车熟路,这是一个过程,学习的过程就是不断解决问题的过程,遇到困难不去逃避才是成功的最大保障。Mars的视频看完后我又看了一个专门讲Android小项目的视频(地址:http://www.verycd.com/topics/2847310/),讲这个视频的是个大学生,学Android比较早了,貌似也是湖南的(我是湖南益阳人),总共三个小项目,分别是通讯录、手机卫士、应用管理器,虽然都很小,但是对刚学过基础的我来说确实是一个比较不错的练手资料,我从头到尾的边学边做了一遍,然后又自己独立做了一遍,这一遍就加了自己的一些改动和延伸,虽然是做同样的事,但是第二遍的感觉跟第一遍完全不一样,从思想上去理解与从流程上去理解是完全不同的。这样,我的Android小项目就完成了,通过第二波的学习,我对Android的框架和基本使用就基本没问题了,收获到的经验就是:不断深入理解、重复、重复、再重复。不要觉得已经看过的知识点就已经理解了,其实随便一考,还是不会。所以,别给自己偷懒的机会,别停留在心里的舒适区域,不断挑战自己才能取得成功。下面贴出我最先完成的两个小项目的截图,很简单,但是是我的第一件作品:





上面这个是我做的第一个App,功能很简单,就是把当前手机中用户自己安装的应用全部列出来,然后可以在这里打开,卸载和查看详细信息的操作。功能简单,但是做完这个,对Android的使用已经有了初步的认识。

接下来我又做了第二个App,实现的功能是手机防盗,根据判断用户手机SIM卡的唯一序列号来进行识别,绑定安全号码后,如果手机的SIM卡被更换,就会再下次开机时自动发送一条短信给安全号码,信息的内容包括对方更换的SIM卡的电话号码和位置信息以及SIM卡的其他详细信息。界面截图如下:





做完这两个小项目以后,我开始了继续的学习,这次的目的主要是深化知识体系,深入了解Android框架的原理和使用,配合更多的练习和重复来强化自己的知识体系。还是一样,这段时间我又看了一套视频,是由Sundy讲的一套Android视频,这套视频的目的是结合Android源码来讲的,讲的比较深入,适合提高阶段来学习,同时,他也会配套一些练习,这套视频的讲授过程结合思维导图来进行,思维结构特别清晰,是一套非常不错的视频教程,有时间可以多看几遍。随后也看过传智播客黎活明老师讲的Android开发视频,感觉这位老师实力真的很强(台湾人,普通话不是很好),我有个同学在传智播客学过,说这位老师为人很低调,但实力非同一般,年薪100W+,也是传智播客的几位大牛级人物之一(这里没有广告嫌疑,只是顺便说说,嘿嘿)。关于视频部分,后来陆陆续续还看了几部,不过这期间以动手练习为主了,像以前讲微博客户端的那些我都看了一下,其实,那时(2011年7、8月左右)网上的Android视频还不是很多,经典的就更少,现在很多啦。与此同时,我开始关注像CSDN和开源中国等一类的技术博客,在上面寻找一些有用的学习资源,包括一些电子书和一些别人做的小Demo小教程,通过这些,可以了解别人的学习思路和过程,通过看电子书,可以更扎实的掌握Android的基础知识。后续我也陆续看过几本Android开发的书籍,这样可以更系统的了解知识体系,弥补了前期看视频的一闪而过。

期间还做过一个APP,这个我只负责界面制作,也是通过这个项目使我对布局和Android界面实现有了一个很大的进步,具体请看以前我写的AppTry项目经验谈

2.项目篇

到了这个阶段,研究生开学了,我也就进入了学校,开始了研究生的学习和生活,那个时候,我已经算有初步的Android开发经验和知识体系了,可以说走在了其他同学的前面,加上以前不算很久的J2EE经验,很快就被大家认可,并被选为我们学习组的组长,负责班上10个同学的Java基础辅导和Android辅导,那个时候每周我们都会找一个晚上聚在一起,首先我会跟大家讲一些Java基础知识,然后会讲一些Android最基础的内容,因为那个时候Android知识体系还不是特别健全,所以给大家讲Android基本都是入门级的,就这样,我们坚持了一个学期,为此,我还专门做了一个计划,内容基本涵盖了Android的初级知识体系,到最后也基本都讲完了,通过这段经历,使我对Android知识的理解又有了更深一层的认识,真正自己讲出来的和在脑子里理解的还是不一样,自己的永远是自己的,但讲出来给别人听,确实需要对知识理解的比较完整。在研一的第一个学期,我完成了从Android初学者到初中级Android开发者的转变,在此期间,通过两轮面试,我进入了北航爱立信联合实验室,直接进行Android项目的开发工作。

进入爱立信实验室后,导师分配给我们每个人一个项目,那时只是个很抽象的概念,一个名字和一些简单的描述,然后我们就开始做。我做的是一款名片类应用,到现在为止,我还在做这款应用,这款App已经经过了几个版本的迭代,功能也是越来越全面,现在,这个项目已经成了实验室的重点项目,人员也从最初的我一个人,到现在由我带领的一个五人团队,有Android开发、有UI/UX、根据功能,我们后续又增加了服务端开发、IOS版开发。到现在,我们仍然会继续把这个项目做好做大。这里贴出来目前最新版本的截图,不足之处,还望大家见谅,哈哈


















现在这款应用已经在Google Play上发布了最新版,名字叫CardBox,这个软件从最初的构思、设计、实现基本上是由我一个人完成的,后续组成团队后,也有团队成员的共同努力,感兴趣的朋友可以去下载试用,给出评价意见供我们改进那就再感谢不过了,呵呵。

附上Google Play上的下载地址:CardBox下载地址

接下来继续讲我的Android学习之旅吧!

在此期间,我又陆续做了几个项目,一个是学校课程的项目,也是由我带一个组进行设计和开发,这个项目是一个移动图书馆,我们自己利用J2EE技术做了服务端,然后用Android做客户端,功能很简单,但是这个项目让我们的团队成员都发挥了各自的能力,分工明确,大家一同努力的感觉很好。同样附上这个项目的几个截图:









这个项目我们主要实现了登陆和书籍查询的功能,同时用到了科大讯飞提供的语音查询API,这也是我们的特色之一,另外就是支持把自己感兴趣的书籍分享到SNS平台,分享这一块我们用的是友盟提供的SDK,目前支持新浪、腾讯、人人网分享。这个项目我主要负责项目的统筹管理、Android端设计以及基本实现,我们的分工是我负责移动端设计开发,另外两名同学协助我,一名同学负责需求分析与文档整理,两名同学负责服务端,这样下来,到最后答辩的时候,我们的效果还是不错的,呵呵!

到这里,我的Android知识面相比最初开始学习时,已经丰富了很多,当然,开发的过程中会遇到很多问题,包括不会的知识点,包括bug等,对于新知识点,我一直认为不断的学习非常重要,不能因为一个点不会就放弃或找别的方法,如果这是最优方案,那就一定要去学。关于开发中的bug,做软件开发都不可避免遇到这个问题,沉下心来,仔细分析、不浮躁,问题总会解决,我对bug的看法就是这是一个重新审视自己写的代码的机会,从中会收获很多。

接下来,通过朋友的介绍,我接了一个外包项目,这是我第一次接项目来做,项目是一个手机连锁的移动终端,有服务端支持,我负责Android端的实现,整个项目由我一人负责,同时我也找了一个同学来协助我。这个项目是我目前做的最大的一个Android项目了,它涉及三个权限,功能覆盖定位、网络操作、数据解析、存储、通知、服务、下载、广播和与服务端的轮询,涉及的知识点比较多,时间持续了两个多月,代码总共2万5千多行,当然这个项目是有报酬的,具体多少我就不说了,呵呵,但是是我目前自己赚到的数量最多的一次了,包括现在这个项目还在由我自己维护。通过这个项目真的学到了很多很多,一方面是对Android知识的学习和真正的运用,还有就是参与这种真实的商业项目开发所接触到学校所不能接触的东西,包括团队协作、管理等。在服务端与客户端接口设计那段时间,真的是非常头疼,光接口我们就开了不少会,接口版本就改了十几版,期间功能也不断更新、移动端界面也不断在改,很庆幸,这个项目我们顺利的做下来了,项目团队中我最小,负责服务端的都是有十来年开发经验的人,和他们比我真是小巫见大巫了,但真的学到了不少。这里我就不贴界面截图了,因为涉及商业机密,因为这个项目是他们集团内部使用的一个项目。

最后我要介绍的一个我参与过的项目也是一个商业项目,这是一个公益平台,由我们实验室的几个人接的一个活,我主要负责项目的界面实现以及几个小功能的实现,这个项目我接触到了一个比较正规的项目架构,带我们做这个项目的是以前百度出来的一个人,他现在自己在和朋友开公司,通过朋友介绍,安排了一个项目给我们做,我们也把这个当做一个机会,以练习为主,主要学习到了一个优秀的Android项目架构,学习了一些平常我们不用的只是,比如Monkey测试,这个在以前我就没用过,包括局部调试,以往调试都是把项目全部运行一次,用了局部调试,真的是省时省力。这里我贴一个那时我们还在开发中的一个截图,大家看看就行,基本功能类似微博,服务端是由他们自己做的,把各大微博平台的数据收集起来到这里展示,大部分功能都类似微博:











3.心态篇

不管做什么,好心态永远是最重要的,像IT行业,更新快、竞争大。我们无法时时刻刻保持自己在最新状态,所以,要保持一个好心态,不断学习的同时要把生活过好、把身体锻炼好,本来身处这个累心累身的行业,尤其要注意这点,对自己好点,别跟自己过不去,有难题,先放放,整理思路,调整心态,大不了重新出发。同时,也要坚持,坚持自己的原则、坚持自己的梦想,踏实的走好每一步,辉煌总将来临。平时多发现生活的美好,和朋友多聊聊,和家人多沟通,提高自己的生活品味,过好每一天,体验每一天。工作、学习、生活三者平衡,把这些做好,我们的人生一定很美好,不求完美,但求充实。

以上就是我学习Android的一些精力和一些做过的项目,还做了一些其他的小App,这里就不一一列举了,通过这些项目,一方面是让我对Android开发有了深入的理解,另一面是对团队协作重要性的认识,自身再强大,如果没有一个团队的支持,那是无法取得最大的成功的。所以,现在我全身心投入实验室的项目,希望我们这个团队能把事做好,把团队做好,把项目做好。我想,明年初,我们会交出一份满意的答卷。学习无止境,永远有一颗向上的心很重要,永远不要对自己满足,永远不要安于现状、永远相信自己的潜能无限大,做好人,做好事,成功离我们很近。

没想到我写的这篇分享得到了这么多人的肯定和关注,特别感谢大家鼓励的话语,着实给我增添了很多信心,希望和大家多交流、多分享,一同成长,也希望大家多提意见。我将继续将我的学习分享进行下去,希望能给后来者以参考,也希望前辈能给出指导!最近我在学习IOS,我会将自己的学习笔记分享在BLOG中,另外也会经常更新Android后续学习的一些笔记(主要以官方文档为主),希望大家继续关注,并给出宝贵意见!谢谢大家!

欢迎关注我的新浪微博:唐韧_Ryan


1 收藏
5 评论



关于作者:唐韧




(新浪微博:@唐韧_Ryan)
个人主页 ·

我的文章





相关文章

第一次尝试独立开发的经验和感悟
有些人无法在Google Play上找到我的应用,怎么办?
谷歌关于Android平板应用开发的一些资源
Android文本时钟 – Part6
开发人员和设计师应该安装的10个Android应用
Android Fragment生命周期——多屏幕支持
Android 开发者不得不面对的五个问题
移动应用程序开发工具和平台精选
10款优秀的Android文件管理器
给Android应用开发人员的10个建议

可能感兴趣的话题

大家一般如何学习一门技术,是先看视频然后再...

申请加入翻译组

前端架构是什么,前端有架构可谈吗?

支付宝招聘题 - 除了容斥原理大家有什么... ·

2
奇虎360 一道笔试题 分享一下 ·

16
有时候会因为各种原因丢失程序代码,有什么好... ·

1
阿里笔试题 求解答 ·

30
【求助】三年程序猿的职业规划 ·

20
北京华为的嵌入式怎么样?值不值得去。。。 ·

5
Python用途广泛,但是大学却很少开这门课程... ·

7

« 为什么开发人员工作10多年了还会迷茫?没有安全感?
Java对象初始化详解 »


登录后评论
新用户注册

直接登录











最新评论




blank

1 )
2014/04/25

谢谢分享,很有启发!!

0

0

回复



小韩 2013/08/28

楼主 可以把他讲的项目视频给我看看嘛?

0

0

回复



熊猫仙 2012/09/11

要是.net也能开发安卓的软件就好了

0

0

回复




么么糖
2012/08/01

学习了~去年毕设由于是andro的题目

所以自学了一段,只是最后毕设完了,对android的学习就放了,哎哎,还是坚持最重要啊

0

0

回复




束雨阳光
2012/07/31

写得很好!很有启发!我也是安卓初学者,现在正在培训!很感谢你分享你的学习过程!

0

0

回复

博客
资源头条
小组面向对象
WEB前端IOS
Python安卓





小组话题
更多话题 »





大家一般如何学习一门技术,是先看视...
vincentduan 发起





申请加入翻译组
cathyhu916 发起





前端架构是什么,前端有架构可谈吗?
tommytong 发起





支付宝招聘题 - 除了容斥原理大...
王先生 发起 • 2 回复





奇虎360 一道笔试题 分享一下
王先生 发起 • 16 回复





有时候会因为各种原因丢失程序代码,...
coco 发起 • 1 回复





阿里笔试题 求解答
王先生 发起 • 30 回复





【求助】三年程序猿的职业规划
假装搞IT 发起 • 20 回复





本周热门文章
本月热门文章
热门标签

0
谷歌代码库已超过 20 亿行代码,他们是...

1
程序员的激情其实是一种痛苦

2
悬崖勒马之三年编码的反省

3
XcodeGhost 事件全面详细回顾

4
Nginx 的 TCP 负载均衡介绍

5
全栈开发工程师就是个神话

6
让Google Chrome崩溃?只需16个字节!

7
从中间件的历史来看移动App开发的未来

8
MySQL备份与恢复

9
亿级Web系统搭建:单机到分布式集群

0
一个 IT 青年北漂四年的感悟

1
程序员的 13 种噩梦,你遇到过哪些?

2
程序员必备:技术面试准备手册

3
野生程序员的故事

4
为什么程序员的业余项目大多都死了?

5
程序员为渐冻人开发了一个眼球跟踪软件

6
我的软件开发生涯 :10年开发经验总结和...

7
真有公司开始招女生当程序员鼓励师

8
他发现了 Google 隐秘的招聘方式

9
野生程序员:优先招聘

.Net

Android
App
apple
Bug
C++
Chrome
C sharp
CSS
C语言
Facebook
featuredpost
Git
Github
Google
Hadoop
HTML5
IE
iOS
IT
java
Javascript
jQuery
Linux
MySQL
Node.js
NoSQL
Objective-C
php
Python
Ruby
shell
soho
SQL
SQL Server
Twitter
UI
UI设计
Web
web fundamentals
Web开发
书籍
互联网
交互设计
产品
产品经理
代码
创业
前端
团队
大数据
女程序员
威客
安全
安卓开发
客户
工具
工程师
开发人员
开源
微软
技术面试
招聘
效率
数据库
时间管理
服务器
机器学习
架构
测试
浏览器
游戏
漫画
用户
用户体验
码农故事
移动应用
程序员
算法
管理
编程
编程语言
编程语言排行榜
网站
网页设计
职场
自由职业
英语
苹果
营销
设计
设计师
设计模式
趣文
软件工程师
软件开发
面试
项目
项目经理
黑客

最新评论(期待您也参与评论)




Re:
亿级Web系统搭建:单机到分布式集群

好厉害。




Re:
我的MYSQL学习心得(16) : ...

[强]




Re:
让Google Chrome崩溃?只需16个字...

并没有挂啊




Re:
图解 KMP 算法(JavaScript ...

感谢,在下必定认真拜读




Re:
全栈开发工程师就是个神话

就差会设计和DB了。。。。仅仅是会




Re:
伯乐在线新版本简介

伯乐在线积分机制 http://group.jobbole.com/175/



Re:
伯乐在线新版本简介

不知道怎么样才能增加积分...




Re:
一个神秘电话,工商银行卡内余额不翼...

很长,竟然一字不漏的看完了,因为身边有同事经历了一样的事情。只是,查贵金属交易记录这么麻烦吗网银上查...

热点频道





Python开发频道

汇集优质的Python技术文章和资源。人生苦短,我用Python!





前端开发频道

JavaScript, CSS, HTML5 这里有前端的技术干货!





安卓开发频道

关注安卓移动开发业界动态,分享技术文章和优秀工具资源。





iOS开发频道

关注iOS移动开发业界动态,分享技术文章和优秀工具资源。





关于伯乐在线博客

在这个信息爆炸的时代,人们已然被大量、快速并且简短的信息所包围。然而,我们相信:过多“快餐”式的阅读只会令人“虚胖”,缺乏实质的内涵。伯乐在线博客团队正试图以我们微薄的力量,把优秀的原创/译文分享给读者,做一个小而精的精选博客,为“快餐”添加一些“营养”元素。









欢迎关注更多频道

头条 – 分享和发现有价值的内容与观点
相亲 – 为IT单身男女服务的征婚传播平台
资源 – 优秀的工具资源导航
翻译 – 翻译传播优秀的外文文章
博客 – 国内外的精选博客文章
前端 – JavaScript, HTML5, CSS
安卓 – 专注Android技术分享
iOS – 专注iOS技术分享
Java – 专注Java技术分享
Python – 专注Python技术分享

联系我们

商务合作

Email:bd@Jobbole.com

QQ: 2302462408 (加好友请注明来意)

网站使用问题

请在站务小组询问或者反馈

© 2015 伯乐在线 首页
头条
博客 资源
小组 相亲
本站由
UCloud 赞助云主机



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: