自学从来都是一件难以坚持的事情,看过太多人三分钟热度之后就颓然放弃,然后告诉下一个要自学的人,自学很难,还是正儿八经去培训机构吧

所以首先你要对安卓开发非常感兴趣,发自内心喜欢安卓系统,日常手机如果是安卓机子最好了,这样你写完了一个app,立刻就可以在手上体验了。

推荐边学边做项目的模式

生活中缺点啥,咱就用技术去实现它,这种创造力,只有程序员才有!

你实现了自己的需求,感到非常振奋,继续下一个需求,继续振奋,这一直是个很好的正反馈循环。

所以,半年来咱陆陆续续一共完成了4个项目,除了第一个太简单没多大价值,其他3个都已开源。

1:记账类App

小伙伴三个人一起吃饭,充钱、消费,就靠它记录。非常简单实用,以前都是靠脑子算的。。

2:偷拍类App

音量键就可以完成隐蔽拍照,完成了自己造福狼友的愿望。没怎么用,不坐公交车,屌丝也不去逛街。。

3:博客园知乎日报风格的App

园子里的大神都有自己的实现,咱觉得信息太繁杂了,就参考知乎日报简约的风格实现了一个。蹲坑、睡前我都在用他看新闻。。。 离线数据+自己实现的蒙版、配色夜间模式,晚上看着非常爽

4: 集团通讯录App

这是自学阶段最后一个作品,代码上相比前三个都在不断的优化,并且尝到了并发线程池带来的快感!用过app的同事都说好。

看到了吗?都是咱非常感兴趣实用的4个项目,自然会在洗澡睡觉蹲坑时琢磨着怎么去优化他们,怎么去精心优化打动用户。

接下来就说说咱的学习步骤,对咱是行之有效并且能打动面试官拿到满意offer的:

再重申一遍,对安卓开发一定要发自内心热爱

再重申一遍,对安卓开发一定要发自内心热爱

再重申一遍,对安卓开发一定要发自内心热爱

如果只是填补业余时间空白,让自己心底不空虚悔恨的,还是别浪费时间了。。(荒废了4年时间,我明白了这个道理)

0:网上那些泛滥的视频没必要看,太慢

这个可能因人而异,事实上咱个人观点是除非心底没安全感,需要视频老师一步步按部就班教你打出一个可以运行的项目,否则没必要看视频,太慢了。

1:入门不需要太高深java知识,边做别学即可

java语言从c#转过去不生疏 ,一些语法之类的可以参考博客 JAVA快速教程

入门了之后,想提高的话可以去看看《Effective Java 第二版》,看了前几章讲的非常不错

2:挑一本好书入门

推荐一本郭神出品的《第一行代码》,电子书我就不放出来了,因为真的写的很详细易懂,写的很好!值得你花钱去买实体书

你参照着这本书入门,初步掌握了知识点之后,就可以尝试去做自己的项目了,不懂就翻翻看这本书

个人是非常感激这本书的,特别是在我读过《Android编程权威指南》觉得自己很蠢的时候。

3:IDE&管理工具

IDE使用android studio

这几天从面试结果看,很多杭州的公司都在逐渐使用这个平台了,用下来感觉非常的痛快,硬件最好有SSD+8G内存,会让你飞起来的。官方地址被墙了,国内下载地址最新百度网盘

管理工具使用git

写给新手朋友看的图文git入门教程

4:出了问题怎么办?

学习的过程中,写代码出BUG,报错是很正常的,不用担心,把错误的关键提示复制下来,去stackoverflow上搜,80%都能搜到答案。

英语不行也可去百度上搜,不过有些答案都是雷同或质量很低的,需要自己去判断

5:项目优化

android studio里面有个code inspect选项,可以智能帮你分析出项目里面可能drawcall过高啊、潜在的内存泄露风险啊、潜在的bug啊之类的

对照着提示,有选择性的去改就好了(因为机器智能分析不可能尽善尽美)

为什么会drawcall太高,为什么会有内存泄露,怎么优化请参考谷歌性能优化典范,有个博客翻译的非常好,看下来你一定会收获太多!

6:快速提高

无他,多做项目,多思考,多总结。

比如咱的图片功能模块,从第三个项目博客园新闻客户端开始就在用了,在第四个项目通讯录里面得到了大幅的优化,引入了并发线程池,加强了资源调度之间的逻辑;所以通讯录你用起来会非常的丝滑顺手

7:面试技巧

首先要说的是,咱这类自学成才的路子,简历上天然比较弱势,没有项目经验,要的薪资还是中级水准,如果你是老板,你会要这样的人吗?

找工作那几天心里非常的忐忑,因为前4年全部都是在做.net开发,离开自己的舒适区,转到一个陌生的领域,一切都是未知,躺在床上还要辗转反侧一阵子,脑海里浮现很多片段。

所以咱们除了笔试能过关,最好还要带上自己的作品(比如我就把三个项目全带了,面试的时候给面试官演示,讲解里面的原理、技术难点如何解决之类的,这样交流起来气氛就比较好了),要让面试官相信,你虽然没有在安卓岗位上开发过,但是进公司之后,你可以快速胜任这个岗位。

8:生命在扶摇直上中绽放!

以前咱呆过某个公司,年终奖只有150块钱(你没看错,也没有少打两个零)。眼红其他子公司的编辑小姑娘,年终奖能拿300(别怪我人穷气短。。)

我常常会在想:为什么同样是努力做事,我拿的比别人少?难道是因为我特别蠢?还是我工作不努力?

特别受刺激的是一次,和以前带的小弟吃饭,他的工资竟然也超过我很多,那顿饭吃的真是没滋没味。。。

咱也不去抱怨,招聘网上高薪的岗位那么多,就看咱有没有能力去拿下了,没能力就去学,毕竟咱还年轻啊!

拿到期望的offer的那一刻,心里百感交集,就像《当幸福来敲门》一样,美国梦般故事的结局:天道酬勤,我们的主角通过自己的努力终于换来了社会的认可。

非常喜欢这句座右铭,来自园子里敬佩的大神深蓝色的右手

生命在扶摇直上中绽放!

自学android半年,已从.net转型成android程序员,分享下这个过程的更多相关文章

  1. CSharp程序员学Android开发---3.Android内部元素不填充BUG

    最近公司组织项目组成员开发一个Android项目的Demo,之前没有人有Andoid方面的开发经验,都是开发C#的. 虽说项目要求并不是很高,但是对于没有这方面经验的人来说,第一步是最困难的. 项目历 ...

  2. CSharp程序员学Android开发---2.个人总结的快捷键

    最近公司组织项目组成员开发一个Android项目的Demo,之前没有人有Andoid方面的开发经验,都是开发C#的. 虽说项目要求并不是很高,但是对于没有这方面经验的人来说,第一步是最困难的. 项目历 ...

  3. 大龄程序员的出路在哪里?八年老Android的一点心得

    这篇文章,给大家聊聊Android工程师的职业发展规划的一些思考,同时也给不少20多岁.30多岁,但是对自己的职业未来很迷茫的同学一些建议. 笔者希望通过此文,帮大家梳理一下程序员的职业发展方向,让大 ...

  4. CSharp程序员学Android开发---1.初识AndriodIDE,掌握工具使用

    最近公司组织项目组成员开发一个Android项目的Demo,之前没有人有Andoid方面的开发经验,都是开发C#的. 虽说项目要求并不是很高,但是对于没有这方面经验的人来说,第一步是最困难的. 项目历 ...

  5. 使用py2exe将python程序打包成exe程序

    近日帮朋友写了个python小程序,从互联网上抓取一些需要的文章到本地.为了运行方便,希望能转换成exe程序在windows下定期执行.从百度上找了些文章,发现py2exe的应用比较多,遂使用之. 1 ...

  6. android checkbox 未选中状态 已选中状态 替换成自己的图片

    效果图: 未选中状态: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA ...

  7. cocos2d安装配置及打包成Android

    vs+python+cocos2d python下载:点这里 这里需要下载Python 2.X版本.曾经以为要下载3.x版本 后来装上发现cocos2d-x提供的python运行报错,所以卸载以后重新 ...

  8. 在Android Studio上测试运行,Unity发布成Android包的环境搭建步骤

      我用的是unity5.4.3版本,jdk是1.8.0_131版本,Android-SDK是r24.4.1版本,Android-NDK是r13b版本,作者是刚开始写博客,希望对在unity摸索的人有 ...

  9. html5 如何打包成apk,将H5封装成android应用APK文件的几种方法

    直接使用编程软件提供的方法: 1.需要下载安装MyEclipse2014,Android SDK,eclipse(需配置Android开发环境) Java和Android环境安装与配置. 2.打开My ...

随机推荐

  1. zk textbox 更改字体大小及高度

    .z-textbox{ height:100px; font-size:30px; padding:20px; } <textbox/> 效果如下:

  2. windows下读取磁盘扇区数据

    在Windows下,磁盘可以看做是一个文件,其文件名为\\\\.\\PhysicalDriveX,其中X表示磁盘的编号,例如\\\\.\\PhysicalDrive0表示的是第0号磁盘,如果需要读取一 ...

  3. Graph Cuts初步理解

    一些知识点的初步理解_8(Graph Cuts,ing...) Graph cuts是一种十分有用和流行的能量优化算法,在计算机视觉领域普遍应用于前背景分割(Image segmentation).立 ...

  4. PHP 接入芝麻信用 注意 事项

    芝麻官方下载的SDK,跑不起来,百度搜索一番也没有发现太多的文章 ,只有一个CSDN博客写的一篇文章,比较有参考价值 详细查阅文档+几天测试整理以下几点注意事项: 接入芝麻API接口,应该分2步: 第 ...

  5. 在MVC架构中使用CodeSmith生成NHibernate映射对象和实体类

    第一步:找到生成模板,如下图 第二步:配置数据库连接(如下图),然后右击第一步找到的模板,点击Excute 第三步:执行操做(如下图) 第四步: 找到之前配置生成的文件夹,找到如下文件(图中标记的文件 ...

  6. vi 技巧和诀窍~转IBM

    复合搜索 1 #!/bin/ksh 2 # 3 echo "Starting" 4 file=${1} 5 6 echo ${file} 7 8 if [[ ${file} = 1 ...

  7. vert.x学习(五),用StaticHandler来处理静态文件

    做web开发,css.js.图片等静态资源是必不可少的,那么vert.x又是怎么来加载这些静态资源呢.请看StaticHandler 编写HelloStaticResource.java packag ...

  8. angularJS实现可编辑的下拉框

    将angularJS与插件select2结合使用即可 <!DOCTYPE html><html lang="en"><head>    < ...

  9. 原生js实现网页触屏滑动

    前言: 我有一个html格式的2048游戏,可以用键盘上下左右操作,但是放到手机上就抓瞎了.于是想修改一下代码,将键盘事件改成手机触屏事件. html5 的touch事件 html5支持touch事件 ...

  10. l段子

    段子简介 L段子起源.L段子是开发者根据市场调查, 用户可在等候列车,飞机,或在公交车上无 聊之余使用本应用.打发无聊的时间,分为段 子,图片,活动和个人中心,用户可根据自己 喜好进入不同的区域.段子 ...