我是如何自学成为程序员的

原创 2017年09月06日 13:38:41

目前为止在安卓方面的已经工作了三年左右的时间了,从一个只会写BUG的菜鸟,到现在慢慢发展成了一名程序员。其实说实在的,我学的也一塌糊涂,当然在学习过程也积累了一些知识,对于以前没接触过Android的朋友,或者刚入门Android 的朋友,这篇文章作为入门,那是再合适不过了,希望对刚入门Android的朋友有帮助。


1.Java 基础;
2.搭建Android 开发环境
3.了解Android 运行原理以及一个工程项目结构
4.如何系统学习Android
5.推荐一些实用的资源

6.总结


(注:一直没有时间整理一些链接文件,看到大家对这篇文章这么感兴趣,我重新整理我文章里面的链接,朋友们可以点击进去看一看,都是我精心整理的一些资料,希望对你们有所帮助。文章仅是个人意见,不喜勿喷,如果有更好意见和简介,欢迎交流!(鞠躬))!

  • java语言基础

首先肯定需要的就是java语言了,虽然有一些别的语言也可以开发android,但是都是小众。因为Android SDK 是基于Java 开发的,使用的语言是Java,如果有了Java 基础,学Android 就会事半功倍;比如在Android 中要使用到的接口,抽象类,类型转换,继承,覆盖,匿名内部类,多线程,这些都是Java 语言的,如果以前没有基础过,学Android 会很郁闷的;当然如果你有C++ 基础,当然也可以基于NDK 开发,可以不使用Java;

最近冒出来的kotlin是google官方支持的开发语言,但是靠真正流行还需要很长时间,个人推荐还是以java为主,但是kotlin尽量也要学习一下,多学一门语言怎么也是有好处的

对于没有java基础的同学我推荐一些资源:

  1. Mars 的Java4Android视频资源,可以在51cto中找到,很好的视频资源,适合初学者学习,我当初就是从这里开始了程序员这条不归路。

  2. 《Java从入门到精通(第3版)》从初学者角度出发,通过通俗易懂的语言、丰富多彩的实例,详细介绍了使用Java语言进行程序开发需要掌握的知识。

如果需要更多书籍资源文件的朋友请点击安卓书籍--从入门到精通

  • 搭建Android开发环境

现在大部分开发人员都用的是Android Studio,从2014年底到现在,经过了三年时间的完善,AS已经成为了大部分Android程序员的开发神器,(笔者刚开始做Android 就用的AS,没体会到什么,但是我发现用过AS的人都会深深的迷上它,而去放弃Eclipse了)


在这里面就不多说了大家可以去看看我对Studio的介绍:

Android Studio详解

AndroidStudio 提高开发效率的插件


  • 了解Android 运行原理,一个工程的项目结构

有两种流行的结构:老的Ant & Eclipse ADT 工程结构,和新的Gradle & Android Studio 工程结构, 你应该选择新的工程结构,如果你的工程还在使用老的结构,考虑放弃吧,将工程移植到新的结构。这里我们对两个项目结构做一下对比

老的结构:

old-structure
├─ assets
├─ libs
├─ res
├─ src
│  └─ com/futurice/project
├─ AndroidManifest.xml
├─ build.gradle
├─ project.properties
└─ proguard-rules.pro

新的结构

new-structure
├─ library-foobar
├─ app
│  ├─ libs
│  ├─ src
│  │  ├─ androidTest
│  │  │  └─ java
│  │  │     └─ com/futurice/project
│  │  └─ main
│  │     ├─ java
│  │     │  └─ com/futurice/project
│  │     ├─ res
│  │     └─ AndroidManifest.xml
│  ├─ build.gradle
│  └─ proguard-rules.pro
├─ build.gradle
└─ settings.gradle

主要的区别在于,新的结构明确的分开了'source sets' (main,androidTest),这是Gradle的一个理念。 通过这个你可以做到,例如,添加源组‘paid’和‘free’在src中,让你的应用程序具有付费和免费的两种模式的源代码。

你的项目引用第三方项目库时(例如,library-foobar),拥有一个顶级包名app从第三方库项目区分你的应用程序是非常有用的。 然后settings.gradle不断引用这些库项目,其中app/build.gradle可以引用。

如果需要更加详细的介绍请点击下方链接

介绍内容有 Android 开发规范, 架构, 布局技巧, 以及使用一些有助于快速开发相关工具等等


  • 如何系统学习Android

因为要介绍的东西太多了,这里给大家推荐一张安卓知识体系的图片,最近看到别人整理的一份也挺好的,对我收益很大,如果需要请点击一个老鸟发的公司内部整理的 Android 学习路线图

我是如何自学成为程序员的

  • 推荐一些实用的资源

推荐大家一个网站“极客导航——程序员自己的导航”,里面介绍了常用网站,工具大全,经典博客,进阶之路,源码下载,跳槽指南,精品网站,边角作用的一些常用网站,一些Android大牛的博客都在里面,我经常会看。

我是如何自学成为程序员的

  • 总结

1. 如果你是非科班毕业想要转行编程,看了我的经历你一定很有信心与动力,我能,你一样能,何况我中间走了这么多弯路;

2. 如果你接触过一些数据结构、编程语言之类的,想要学习编程,你更应该有信心,你比那些非科班的人已经多了一些基础,你要做的只是坚定信念,坚持走下去;

3. 不要感慨上天的不公平,我一路走来很悲催,走了太多的弯路,遇到了太多的困难,都是我这辈子难以忘记的,但同时我是幸运的,因为我有她,我感谢我女朋友无数个日夜的理解与支持,上帝在给你制造坎坷的时候总会对你有些眷顾;

4. 如果你准备或已经在做开发的人员,没有信心或动力,又或是对未来迷茫的时候,姑且当做一篇励志小说来看,你要做的就是做好你当下在做的事,相信你的付出一定能有所收获;

  • 建议

写到这里想要给点建议,那就以一个反例的身份给出事后的一些建议吧:

1.每天花1小时看书,难的不是1小时,难的在坚持;
2.英语对编程来说很重要,试着习惯英语阅读;(扇贝系列的软件)
3.数据结构和算法要学好,这算是对编程来说最重要的课了,以后不见得能用得上,但用的时候起码你有印象;
4.善于利用搜索引擎,从用Google做起,学会英文关键字搜索,有问题第一时间想到去搜索而不是去请教别人;
5.多去混GitHub,目前最流行的开源社区,多参与开源项目,慢慢试着读牛人们的代码,时机到的时候自己也可以为6.开源社区贡献力量,可以这样说在GitHub上认真混一年,比你在大学四年学的东西要多的多;
7.第一份工作很重要,因为你会受一些周围同事、公司氛围的影响。

8.最后一条是尽快找一个女朋友,因为你的工作使你接触到的女性会越来越少。




大家都有了以上相同的教程,但是人和人之间的区别在于:别人有颗更强大的内心,可怕的是比你聪明的人比你还要更努力!!

当你下定决心,准备前行的时候,剩下的只有坚持了。。。


如果大家觉得我写的还可以的话,请关注我的微信公众号:


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

普通程序员如何入门AI

毫无疑问,人工智能是目前整个互联网领域最火的行业,随着AlphaGo战胜世界围棋冠军,以及各种无人驾驶、智能家居项目的布道,人们已经意识到了AI就是下一个风口。当然,程序员是我见过对于新技术最敏感的一...

程序员,我们应该如何去学习

IT技术的发展日新月异,新技术层出不穷,具有良好的学习能力,能及时获取新知识、随时补充和丰富自己,已成为程序员职业发展的核心竞争力。本文中,作者结合多年的学习经验总结出了提高程序员学习能力的三个要点。...
  • jdsjlzx
  • jdsjlzx
  • 2014年08月22日 15:24
  • 3991

程序员之路——一个老程序员对刚上大学的学弟学妹的忠告

始终认为,对一个初学者来说,IT界的技术风潮是不可追赶。 我时常看见自己的DDMM们把课本扔了,去买些价格不菲的诸如C#, VB.Net 这样的大部头,这让我感到非常痛心。 而许多搞不清指针是咋回事的...

程序员如何学习新的技术

在竞争中获得胜利的最好方法,就是避开竞争,避开竞争的最好方法就是先下手为强 写代码已经有几年了,在这几年中写了不少的代码,学习了不少的技术,也算是有一定的认知了。 其实还是那句话,万变不离...

一个“纯屌丝”如何零基础转行做程序员

高考落榜后,生活像被蒙上了一层灰色的雾霾,看不清未来。在接下来的一两年中,磕磕绊绊地走了一些弯路。庆幸的是,我一直勇敢前行,欣慰的是,如今拨云见日,天朗气清。...

一位资深程序员大牛给予Java初学者的学习路线建议

java学习这一部分其实也算是今天的重点,这一部分用来回答很多群里的朋友所问过的问题,那就是我你是如何学习Java的,能不能给点建议?今天我是打算来点干货,因此咱们就不说一些学习方法和技巧了,直接来谈...

老程序员给初学者的一些建议和忠告

网上看到的一篇好文章,自己当年没有读到是损失,现在希望更多的师弟师妹因为这篇文章避免这个损失! 请记住——我不会以码农自卑,但一定以常年码农为耻!...

程序员入门:如何自学编程

你也许曾经想过要学习如何开发软件—或只是想临时的写出一个脚本—但不知道如何入手。 幸运的是,现在的互联网上到处都有丰富的学习资源让你能在短时间里成为一个程序员。 因为互联网的出现,使程序员们可以通过...

适合程序员的优秀学习类网站

1、易百教程  是一个自由免费,专注于 IT 实例教程的网站http://www.yiibai.com/ 2、易百教程  领先的 Web 技术教程 - 全部免费http://www.w3sch...

一个老鸟发的公司内部整理的 Android 学习路线图

jixiaohua发了一篇一个老鸟也发了一份他给公司内部小伙伴整理的路线图。另一份 Android 开发学习路线图。可惜不是MarkDown格式的,所以jixiaohua直接上传的截图,在jixi...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:我是如何自学成为程序员的
举报原因:
原因补充:

(最多只允许输入30个字)