我是如何自学Android,资料分享(2015 版) 已经完成,我的建议是先把这一篇看完,再看2015 版的。关于我在学习中开发的项目代码,已经发布在:
 
废话不多说,开始正文:
 
最近知乎上有网友问我怎么自学Android,其实说实在的,我学的也一塌糊涂,当然在学习过程也积累了一些知识,对于以前没接触过Android的朋友,或者刚入门Android 的朋友,这篇文章作为入门,那是再合适不过了,希望对刚入门Android的朋友有帮助,接下来,就不罗嗦啦。
本文主要有以下几个步骤:
1. Java 基础;
2. 搭建Android 开发环境;
3. 了解Android 运行原理以及一个工程项目结构;
4. 如何系统学习Android;
5. 推荐一些实用的资源
6. 总结

首先呢?当然要有Java 基础;


我大学的专业就是Java,但由于没学好,刚开始学Android 的时候,挺吃力的,后来又去补Java 基础去了;
因为Android SDK 是基于Java 开发的,使用的语言是Java,如果有了Java 基础,学Android 就会事半功倍;比如在Android 中要使用到的接口,抽象类,类型转换,继承,覆盖,匿名内部类,多线程,这些都是Java 语言的,如果以前没有基础过,学Android 会很郁闷的;
当然如果你有C++ 基础,当然也可以基于NDK 开发,可以不使用Java;
对于没有Java 基础的朋友,我推荐一些资料:
Mars 的Java4Android:http://yun.baidu.com/s/1dD5RRQ5
极客学院推出的Android 专题:http://android.jikexueyuan.com/

搭建环境


Android 开发IDE选择,有Eclipse,IntelliJ IDEA,Android Studio(基于IntelliJ IDEA 社区版开发的),Eclipse 和 Android Studio 是免费的;
对于初学者我推荐使用Eclipse,因为Eclipse 成熟,遇到问题,搜索也容易找到答案;以后可以尝试不同的IDE;
搭建环境的步骤:*
  • Eclipse安装;
  • Android SDK安装(Android 开发工具包);
  • ADT安装(Eclipse 的插件,使Eclipse 能够开发Android);
  • 创建AVD(在电脑创建一个虚拟手机);
在这里会有很多工具,可能刚入门的会比较模糊,可以参考:Android 开发,各种工具
如果最终虚拟的手机屏幕能够显示主界面,则表示成功;

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


系统学习Android


有了上面的学习,对Android 也有了初步的认识,接下来可以系统地学习Android 啦,网上资料也很多啦,书籍也很多,视频也很多,我觉得首先要《官方API Guide》;然后手上准备一本书,可以当做字典,不会可以看看;如果看官方文档,有难度,看书进度太慢,可以看视频,跟着视频学,做一下东西,有什么不会的问题,可以Google 搜索;
如果说到细的知识点,比如四大组件,UI,多媒体处理,信号连接,数据存储,我在这里就不多介绍了;主要介绍了一些学习资料;
官方文档

书推荐

视频教程

博客推荐

网站推荐

总结


    • 当然Github 上有很多开源的项目,多看看源码,自己才能快速提升;《Android开源项目分类汇总》,这里几乎汇总了github 上所有的开源项目,可以自己找些慢慢学;
    • 然而学习是乏味的事,坚持到最后是不易的;
    • 要善于利用搜索引擎,遇到不会的问题,要使用Google 搜索;对了,作为一个开发者,要学会自备梯子;
    • 还有学Android,要时刻关注Android 的最新动态,比如最新发布的Android 5.0 棒棒糖版,去了解他的新特性;
    • 加一些QQ 群,有不会可以问问,相互交流;

我是如何自学Android,资料分享的更多相关文章

  1. 我是如何自学Android,资料分享(2015 版)

    自己学了两三个月的Android,最近花了一周左右的时间写了个App——Diigoer(已开源),又花了一两周时间找工作,收到了两个Offer,也算是对自己学习的一种认可吧:我刚开始学习总结的——&l ...

  2. 我是怎样自学 Android 的?

    1. Java知识储备 本知识点不做重点解说: 对于有基础的同学推荐看<Java编程思想>,巩固基础,查漏补全,了解并熟悉很多其它细节知识点. 对于没有基础的同学推荐看一本Java基础的书 ...

  3. [转]Android 学习资料分享(2015 版)

    转 Android 学习资料分享(2015 版) 原文地址:http://www.jianshu.com/p/874ff12a4c01 目录[-] 我是如何自学Android,资料分享(2015 版) ...

  4. Android,资料分享(2015 版)

    Java 学习 我要再次强调,一定要有Java 基础(虽然现在使用其他语言也可以开发Android,但毕竟是很小众),也不要认为学习Java 两三周就可以不用管了,这会在以后的深入学习中暴露出问题,所 ...

  5. 如何自学 Android 编程?

    最近知乎上有网友问我怎么自学Android,其实说实在的,我学的也一塌糊涂,当然在学习过程也积累了一些知识,对于以前没接触过Android的朋友,或者刚入门Android 的朋友,这篇文章作为入门,那 ...

  6. Android自学学习资料

    最近在自学Android编程,在网上看了一些博客和视频教程,觉得比较好的分享一下,继续学习,gangbade~ 国外android官网总是出现连不上的情况,如果你不想FQ的话,这里github上可以直 ...

  7. 转自:如何自学Android(强烈推荐)

    转自: http://gityuan.com/2016/04/24/how-to-study-android/ 看到很多人提问非科班该如何学习编程,其实科班也基本靠自学.有句话叫“师傅领进门修行靠个人 ...

  8. linux公社的大了免费在线android资料

    2011年linux数据库的android在线分享 linux公社:开源公社             本文撰写:杨凯专属频道 2011年9月12日 21:39 <目录> Android 3 ...

  9. 一个大四毕业生想对自学Android的大学生说一些话

    本人大四,经历了秋招和春招,秋招拿了华为的android offer,春招是拿的java后台开发的offer,一路走来,感慨很多,有一些话想对在自学Android的大学生说.本文只是帮助像我一样的大学 ...

随机推荐

  1. ASP.NET MVC- Area 使用

    ASP.NET MVC允许使用 Area(区域)来组织Web应用程序,每个Area代表应用程序的不同功能模块.这对于大的工程非常有用,Area 使每个功能模块都有各自的文件夹,文件夹中有自己的Cont ...

  2. python中objects的all和get方法的区别

    all返回的是QuerySet: get返回的是模型对象. 想要获取查询结果的字段值: 从QuerySet中获取对象可以通过for in的形式遍历,之后通过对象获取对象的具体值: get 返回的是对象 ...

  3. nrpe 在ubuntu上安装遇到的问题

    Nagios Linux客户端需要安装NRPE进行数据收集,如果在Ubuntu系统下安装过程中遇到下面的错误提示:checking for SSL libraries... configure: er ...

  4. Oracle新建用户、角色,授权,建表空间

    oracle数据库的权限系统分为系统权限与对象权限.系统权限( database system privilege )可以让用户执行特定的命令集.例如,create table权限允许用户创建表,gr ...

  5. 英特尔实感3D摄像头

    RealSense 3D(实感3D)是英特尔提供的一套感知计算解决方案,包括了手势的识别.控制,人脸的识别.认证.控制,语音识别与控制,增强现实,3D扫描和重构等许多先进的技术.包括立体眼镜(暂未公开 ...

  6. Hadoop on Mac with IntelliJ IDEA - 1 解决input path does not exist问题

    本文讲述使用IntelliJ IDEA时遇到Hadoop提示input path does not exist(输入路径不存在)的解决过程. 环境:Mac OS X 10.9.5, IntelliJ ...

  7. 使用Active MQ在.net和java系统之间通信

    ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线.ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现 一.特性列表 ⒈ 多种语言和 ...

  8. xtrabackup原理0

  9. Keeplived 详解

    http://www.cnblogs.com/pricks/p/3822232.html

  10. [原创]如何写好SqlHelper 之终章

    精简的美丽...... 标题有点大.但是,我觉得99%的接近了. 好了,下面我们来说说一个SqlHelper为了适应各种不同的业务需要,它应该具备哪些基本要素. 第一点.可控的事务. 事务是数据库操作 ...