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

【跨行业自学android】边工作边自学找到开发工作

2014-11-18 15:30 411 查看
今天距离入职  也就是我的第一份安卓开发工作  整整一个月.  有点空闲,
就来分享下我的自学历程  算是一个回顾吧。 我不是计算机专业  刚毕业的第一份工作也跟软件丝毫沾不上边  2012年刚毕业很迷茫,也不知道做什么,只记得当时嵌入式啊 安卓什么的培训很火, 网上到处是广告。 我动了心思 可是没钱,身在魔都第一份工作时做硬件 工资才3.5K房租都上千了   要存上一万多得多久。。。工作也是混混沌沌 到了2013年5月份还是没存够钱  这个时候有点急了  便决定自学安卓(说了这么多。。。终于入主题了


 

        大家可能疑惑, 边工作怎么自学  主要是第一份工作在国企,很闲,一个月我记得有事情做也就那么一两周  其他时间时间偷偷自学。我是电子专业,在学校只学过C语言了 我还记得当时补考了 惨。。。可以说基本软件这块零基础, 这也导致自学中走了很多弯路,当时急于制出一套计划 我是参看了黑马程序员官网那个教学图  慢慢学,不过后来发现那个图也不怎么好  还是要根据自己的进度去调整,比如Web这块可以放到后面。
       我接下来先说说详细的自学流程  包括自学这段时间走的弯路(重要!),或者说初学者要注意的地方(仅个人意见,勿喷):
1.   自学书籍的选择。  我相信大多数自学者都会在自学前  各种度娘哪种android入门书籍好啊?
这问题问烂了,回答也不过什么 李刚疯狂讲义 等等等。。。 但是你们忽略了很重要的一点,就是这些书都是N年前的 导致里面的好多例子程序的方法都过时了,或者不建议再用了 这对初学者来说是件很不好的事情,比如我当时选了2011年《android应用开发揭秘》里面的方法很多过时了看着满屏幕的横线
是个打击。为了避免这种麻烦,我强烈建议选书选新的  现在的话推荐android4.0开发  具体的书籍暂且推荐EOE出版的 Android
开发入门与实战(第二版),当然你也可以选其他的  记住选4.0的。

2. 书选好了,接下来你要干什么? 拿着书一顿猛看?敲代码? NO,这绝对不是一个好办法,我认为书的作用,是供我们浏览了解android大概(因为电子书翻页查找不方便) 也就是我们翻翻就行了  当做一个工具  学习android的重头戏是视频

3. 在这里我补充一点,学习android之前必须学java  不需要学的很深,看不懂的(比如接口,多态 IO 这些)一点关系都没有!丝毫不影响我们学习android  我们要做的就是把java过一遍,视频只推荐:马士兵的java视频,我倒现在还在看 他讲的很清晰很有入门感,但是深度一点没丢!我当时在公司是九点上班,我直接在公司旁边租房了,步行10分钟上班
哈哈(很近,但是房租太贵了10平米 就是1250/月)  这也让我每天早上和晚上有很多时间看视频,去公司可以翻翻书。。

好吧,接着上面写,再次说下我是从零基础的角度写这篇文章的,可能有的内容在你看起来很幼稚。

1.  怎么学android    学到什么程度   要做哪些小项目  (android = 界面 + 数据库 + 网络)

       视频的选择?我看了3部视频,MARS的,老罗的,黑马官网的。MARS的第一部是2011年的,太老了不推荐,第二部还在更新不过进度很慢,MARS的特点是很细,质量不错。 老罗的讲的不适合新手 我不推荐。 之前这两部我话了很多时间,最后找到了黑马官网张泽华4.0的,真是经典之作,推荐这一部很适合入门,边看边练大有收获。
       android分为本地 和 网络编程两部分,看过老罗视频的人应该记得他说过:企业级开发都是要访问网络的,应该把网络和控件一起学。但我建议还是先把本地化的android学好,下面我给出自己的流程:  

第一步:   别一开始就看什么四大组件(网上都这么推荐,我认为不妥),因为并不是所有的APP都需要用四大组件的,前几天我们学学Activity就好了,重点是生命周期(要真正明白这个周期的作用,不仅仅是记下来) --->>>> Activity的跳转(intent把数值带过去) --->>>>
每个activity的界面怎么来的(用布局生成的,布局又有线性,相对,OK就这两个其他先别管) ----->>> 每个布局是由什么组成的(当然是控件啦,十多种基本控件要熟练掌握,每个控件有很多属性主需要记住基本的别深钻)  至少我们要做到不看书能手敲代码直接在界面上展示各种控件。 说到控件不得不说ListView,这个控件非常重要一定要熟练,listview是用来展示一些重复性的数据用 比如电话薄等等,哪个开发不要?? 

第二步:   了解了控件,我们该学习数据存储了,它的作用是把数据保存在我们的手机中。分为3类:sharePreference是保存一些简单的键值对,比如你写了一个登陆界面,第一次输入了用户名和密码,想在下次进入自动填充用户名,用sharePreference保存。 数据库SQLite是保存一些表格型的数据,其实就是我们用的Excel  我们自己写代码增加数据  修改 
 查找  删除一条,这个很重要我们要重点掌握,要学会把增删查改这些方法做好封装,而不是每次处理数据库去写一遍逻辑代码,这个。。。懂的自然懂。好了简单数据和复杂数据我们都会保存了,那图片呢?音乐视频呢?这是我们就要学习File操作了,这里纯粹是java IO包里面File的知识,没有捷径多练习,比如删除SD上某个文件?复制粘贴,都要会

第三步: 学到这里做几个项目练练手:先做个联系人,自己建立数据库来装数据,能够顺利显示出来 并且可以删除修改。再做个文件浏览器,能够查看手机SD卡上的所有文件  删除复制重命名。  做完了之后我们要充实一下自己的APP了,只有一个activity太简陋,我们要学一下其他3个基本组件:service
和contentProvider和广播。在这里我做下简单介绍你们去看视频很容易学会,service是在后台的不需要打开APP一直运行的,比如播放Mp3,你要自己能写一个service运行在手机里。contentProvider说白了就是android把系统预装的APK的数据库暴露给你(比如手机自带的联系人),我们开发联系人就没必要自己去建立了 直接用,注意 前面说的小项目是为了练习数据库。而我们很少自己去写contentProvider暴露给别人用,懂了吗?  广播就是我们在自己的程序中注册广播接收系统通知(比如来了来短信为什么手机有反应上面弹出提示框,因为系统自带的短信应用注册了广播接受者,监听系统发来的短信广播)  OK,那我们也可以自己写,监听手机电话,电量低等等,这些都是系统发来的广播我们来接收,那我们可以自己自定义广播吗?当然,我们可以自己发一条广播出去,让其他的应用来接受

第四步: 多媒体开发,传感器 WIFI 蓝牙这些我们先别管,他们是特色开发有需要再去专门学,我们只需要会基本操作(怎么播放停止MP3),好了到这里我们来练练手: service :写个小demo在后台播放MP3,可以停止 暂停。 contentProvider:我们写一个ListView把手机里的存好的联系人读出来,可以删除修改,这里是系统的数据库所以我们要用contentProvider(注意跟第二步那个小项目区分)  广播:我们做一个电话短信拦截,我们添加几个号码,接到直接挂断或者不提示短信。(注册广播监听来电和短信,并取得来者号码进行拦截


第五步:  到这里你已经迈进了一只脚,可以做一些小APP了(文件浏览器,记事本,联系人带拦截功能)  但到这里  我们一直处于断网状态,而在企业开发中  都需要访问网络的(一般是公司自己的服务器)。Socket先别管,Http是重点,从3.0开始所有网络操作都要在子线程完成,我们要学下线程(别深究,会用就行)了,网络操作完成后(比如下载完了一张图片)我们该更新界面了  需要用到Handler
.  这里我不做过多讲解,推荐一本书 很好入门:android网络编程详解—王家林, 别被书名吓到  里面讲的很浅显。可以谢谢Demo练练手,从网络上下载一张图片显示出来,下载一首歌保存到SD卡某个文件夹,弄一个进度条 边下边显示下载进度。在这里我说一下get和post(因为自己当时在这里理解混乱):注意:不要把get理解成从网络获取数据,post上传。其实他们都是上传,get是上传一个URL地址加上简单数据,post一般是上传文件,重要的服务器返回给我们什么,一张图 ? 一首音乐?那是服务器的事情,我们需要拿到返回来的东西  处理它就行了。好吧,服务器返回音乐视频这些很好处理,但有些东西必须是一种数据格式返回,比如天气预报,就涉及到了XML  和JSON,我们拿到数据后就要去解析,把解析后的一个个信息点显示到我们的界面,灵活编写我们的界面就有了风格迥异的APP。我们可以再网上找一些XML和JSON数据,用不同的方法去解析他们  都尝试一下,并且熟练掌握

     5步下来,我们心里有点底 了,能写一些简单的APP(天气预报等等),但总是感觉欠缺点什么,恩,就是一些进阶知识了,让我们再一次飞跃。 只会一些基本控件 我们的界面有点简陋,我们可以学fragment(必须学),简单的自定义控件(这个不要学太多,学几个就好了,因为网上资源太多),线程(做一个多线程下载小Demo),在GitHub上面找一些开源包
比如Http异步请求 listview下拉刷新练习。掌握一些Eclipse常见快捷键,比如Ctrl+F   Ctrl+O等,更好的去阅读别人的代码。  当然你可以直接来问我,我会推荐一些小Demo给你做,有任务就有动力和进步。

--------------------------------------有点长,先写到这,有人看的话我再接着写----------------第一次发帖,格式什么的 就这样吧

【跨行业自学android】边工作边自学找到开发工作 http://www.eoeandroid.com/thread-333804-1-1.html (出处: eoe 移动开发者论坛)  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android新手入门