目前为止在安卓方面的已经工作了三年左右的时间了,从一个只会写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.最后一条是尽快找一个女朋友,因为你的工作使你接触到的女性会越来越少。

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

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

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

我是如何自学成为程序员的相关推荐

  1. 自学成为程序员_成为程序员不需要的10件事

    自学成为程序员 Do you have what it takes to become a programmer? Chances are, you will base your answer on ...

  2. 我是一名资深程序员,而今天我又多了一个创业者的身份(2)

    我是一名资深程序员,而今天我又多了一个创业者的身份(2) 人们说:人世间四大喜事:久旱逢甘雨,他乡遇故知:洞房花烛夜,金榜挂名时.我觉得我是幸福的,在他乡朋友们因为志同道合重逢,太过于美好.午后的阳光 ...

  3. 自学的程序员一点竞争力都没有么?

    想做好程序员需要把握住两点,第一点在入门阶段需要保持足够的耐心,中间遇到各种语法细节不明白,包括怀疑自己是不是真的适合做程序员: 第二点在成为真正的程序员之后继续保持学习力,程序员停止更新自己的知识库 ...

  4. 文章-自学的程序员如何找到好工作?

    自学的程序员如何找到好工作? 2016 年有位年轻的程序员在 Quora 上提问求助: 我今年 17 岁,从 14 岁开始编程.我主要关注 Java 语言,并在 AP 计算机科学这门课上拿了 5 分. ...

  5. 自学的程序员一点竞争力都没有么?投简历都没有回应?

    想做好程序员需要把握住两点,第一点在入门阶段需要保持足够的耐心,中间遇到各种语法细节不明白,包括怀疑自己是不是真的适合做程序员: 第二点在成为真正的程序员之后继续保持学习力,程序员停止更新自己的知识库 ...

  6. 我是培训机构的程序员,不敢告诉任何人

    "我是培训机构的程序员,不敢告诉任何人.真羡慕你们科班的人!" 这是昨天一位粉丝给小编说的话. 我曾经也辅导过非科班的同学学习编程,有成功入行的,也有学习几天就放弃的. 想入编程这 ...

  7. 自学的程序员和自学的吉他手有很多共同点,你玩过吉他吗?

    自学的程序员和自学的吉他手有很多共同点.我不知道你是否玩过吉他,所以我将向你解释如何自学吉他. 首先,这一切的开始是由于某人与某个吉他手产生了共鸣.大多数突然想要自学吉他的人,是想要成为另一个吉他手. ...

  8. matlab 转 python_985工科硕士自学转程序员经验

    如果对编程不感兴趣,仅图较高起薪,慎转!!! 如果自学能力一般,没有理工科背景(数学),慎转!!! 首先简单介绍自我情况,本科某211工科,硕士某985工科.本科接触过matlab,c语言,主要是做数 ...

  9. 我是没有志气的程序员

    从毕业到现在,严格的算起来,已经做了快5年的程序员了:程序早已不再单纯的是我的工作,而已经渗透到了我的生活,甚至言行中了:我或许称不上优秀的程序员,但是每当用QQ发消息,习惯性的以分号(": ...

  10. 我是如何从屌丝程序员逆袭成为大厂总监的?

    见字如面,我是军哥! 这篇文章首发大号<码农翻身>,就是上面这个硬核的号,我转载一下,各位读者看一看,读一读哈. 最近有多位读者问我,"军哥,你是怎么从一名普通程序员干到大厂总监 ...

最新文章

  1. android环境安装之android4.2安装(转)
  2. DCM、PLL、PMCD、MMCM的区别与联系?
  3. 常用的函数式接口_Predicate接口_默认方法ornegate
  4. 创建型模式:抽象工厂
  5. Android之app引导页(背景图片切换加各个页面动画效果)
  6. python数据导入hive_Python操作HIve,将数据插入到Mysql
  7. pat 乙级 1006 换个格式输出整数(C++)
  8. 宝塔php gd库,宝塔面板安装 EasyImag – 一款最简单图床的安装体验
  9. java 数字计算精度问题
  10. Python 变量 字符串 运算
  11. Windows DNS Server 远程代码执行漏洞 (CVE-2021-24078) 的详细原理分析
  12. border-radius几种写法的原理剖析
  13. 四阶段法——城市交通需求预测
  14. Spring Bean作用域 (面试题)
  15. 语音控制c语言程序,基于52单片机的智能家居语音控制系统电路设计(含源程序+原理图)...
  16. tplink查看上网记录_TPLINK路由器控制面板查看运行状态详解
  17. PMBOK第六版工具与技术:数据收集数据分析数据表现
  18. 数据致敬'总裁'-C罗
  19. java 设计模式:软件设计原则、面向对象理论、23 种设计模式
  20. 对于现在毕业之后,大部分找不到合适的工作,转行到软件开发(大部分是JAVA)的人来说,分享下自己的经验

热门文章

  1. 屏幕录制 gif android,分享 Android 手机屏幕录制并制玉成 GIF 演示图片
  2. 在FireFox中使用IE Tab插件
  3. 斯坦福大学吴恩达机器学习教程中文笔记——目录
  4. 大数据数仓之报表开发
  5. HIVE的基本使用05(HSQL调优)
  6. 二级缓存j2cache和SpringBoot整合
  7. 投资理财学习笔记五,1.6那些必知的宏观经济指标(下)
  8. BT656协议讲解与解码
  9. 深大uooc大学生心理健康章节答案第九章
  10. TB6612FNG电机驱动模块注意事项