0基础如何学Android开发
链接:http://pan.baidu.com/s/1bIEIse 密码:ky7w
https://pan.baidu.com/s/1i53bs6x提取码:0pwt
https://www.zhihu.com/question/26417244
http://www.cnblogs.com/villadom/p/6004102.html
Java基础
https://zhidao.baidu.com/question/2010837047682019468.html
http://blog.csdn.net/tangzenglei/article/details/50728551
1.Java基础
很多朋友一上手就开始学习Android,似乎太着急了一些。Android应用程序开发是以Java语言为基础的,所以没有扎实的Java基础知识,只 是机械的照抄别人的代码,是没有任何意义的。那么Java学到什么程度才算是过关呢?我个人认为至少要掌握以下两个方面的内容:
a) Java基础语法:具体的知识点列表可以在这里下载:《Java知识点列表》V1.0。这部分内容没有讨价还价的余地,必须烂熟于胸。至于具体的学习方法,可以看书或者是看视频,但是关键是要多加练习,无论是书上的练习还是视频里面的练习,都需要仔仔细细的完成;
b)设计模式:由于在Android系统的框架层当中,使用了大量的设计模式,如果没有这个方面的知识,对于Android的理解就会大打折扣。设计模式 的种类非常之多,一个一个的全部掌握,是不现实的,必须首先掌握面向对象的基础设计原则,有了这些基础原则的支持,就可以举一反三。这部分内容可以在 《Effective Java》和《Agile.Software.Development:Principles,Patterns.and.Practices》这两本书 中找到。
2.Linux基础知识
大家都知道,Android系统的基础是Linux操作系统。在开发过程当中,我们也需要使用到一些Linux命令。所以说一些Linux的基础知识是必 须的(话说现在的程序员,不懂Linux都不好意思跟人家打招呼),推荐大家看看《鸟哥的私房菜》这本书,写的相当不错;
3.数据库基础知识
这个比较简单,就是一个增删改查的数据库操作,可以看一下这本书:《SQL编程练习与解答》
4.网络协议
至少需要学习两种基础的协议,HTTP协议与Socket协议;
5.Android基础知识
有了以上的铺垫,再来看Android,是不是觉得轻松了很多呢?至于基础知识的学习顺序,最好的方法就是按照Android SDK帮助文档当中的Dev Guide里面的顺序,我的《Android视频教程》也基本上是按照这个顺序录制的;
6.服务器端开发知识
由于很多Android应用程序都需要服务器端的支持,所以掌握一些服务器端开发知识还是非常有必要的。至于选择哪一种服务器端知识进行学习,就比较麻烦了,因为技术的种类实在是太多了:
a)Java EE:就是上面邮件当中所提到的SSH—Struts+Spring+Hibernate。这种技术的优点的功能完整、强大,已经使用了很多年,而且既然 大家已经非常熟悉Java了,那么学习SSH看起来也顺理成章。但是使用这种技术开发服务器端程序,非常麻烦。即使是一些简单的功能,也可能需要大量的代 码和配置文件来实现;
b)PHP:简单易学,开发快速。但是我们需要多学一种语言,是否得不偿失,就要大家自己判断了;
c).NET:这项技术的特点和Java EE差不多,但是要想掌握.NET,则需要掌握c#,也是个麻烦的事情;
d)ruby on rails:这是我个人最喜欢的服务器端技术,简洁,优雅,寥寥几行代码,就可以实现很复杂的功能,但是这需要Ruby语言知识作为基础;
至于选择哪一种技术,就看大家自己的判断了。
要成为一个专业的Android开发者,以上的这些知识都必不可少。看起来好像很多,多的可怕。所以还是那句话--“耐心,耐心很重要”。
转自:http://youranxiaoxian.diandian.com/post/2011-04-23/552880
安卓手机全球市场份额已经接近85%,成为了无处不在无所不能覆盖面最广的手机操作系统,学习安卓开发一直都很热门,想学习安卓却有点无从下手,本篇教程就是一个从零基础开始学安卓的指导,希望对想学习安卓的新人有所帮助。
工具/原料
- 有强烈的学习心
- windows/linux/mac
- 安卓开发包
- 安卓手机一台
JAVA基础
- 1
只要有一定的java基础的人都可以学习,如果您还没有java基础,建议您先学习java的语法知识,如果您已经学会了一门语言(如c语言、c++、c#等),那么可以先边学安卓边学java也是可以行的方案。
- 2
那么学习到什么程度才能说有一定java基础呢?只要把java语法规则学会了就差不多了。网上搜索java学习路线图,有很多人推荐,但也不需要完整学习下来,只需要学习基础即可,如下图所示。首先优先学习java基础部分,java界面编程不要去学,有时间把java API再学习一点就行了。这样就算有一定基础了。
- 3
知道了大概方向之后,那我该如何学习呢?有几种方式,首先是视频学习,我推荐大家看看马士兵的视频教程,我已经整理了全套视频资料,下载地址:http://pan.baidu.com/s/1dDCJVl3,大家可以保存到自己网盘以后慢慢看,对于想学习安卓的人来说只需要学习第一部分就行了。
- 4
其次是书籍学习,书籍学习相比视频学习枯燥不少,半路上坚持不下去的人有很多,所以我推荐先视频学习,书籍作为补充即可。书籍只要看一些讲语法的即可,不需要研究过于深入,比如说java编程思想这本书,新手绝对不要看。下载地址是:http://pan.baidu.com/s/1dDCJVl3,点开“0_JAVA书籍推荐”,推荐看java核心技术卷(卷一)即可。
- 5
其次是报班学习,这个学习效果也不错,有人监督,其实也和视频学习差不多,有老师现场教授效果肯定好一点,有条件的同学可以考虑,费用也比较高,其实我觉得看完我给的视频教程也差不多了。
END
安卓入门学习
- 1
好了,我们假设你已经有一定java基础了,现在可以正式开始学习安卓了。首先你得把环境部署一下,先看看你电脑是64的还是32的(看计算机属性)
然后依次安装:
1、下载 jdk 64或32位;
2、下载ADT,地址:http://pan.baidu.com/s/1c04E3Lm(64位),http://pan.baidu.com/s/1gdejZv9(32位)。
至此安卓环境搭建完成!
- 2
有了工具之后,以后可以一边学习一边调试程序,记得:多敲代码水平才能提高。学习安卓也有2个步骤,首先依然是视频学习,我这里推荐大家收看sundy的视频教程,某个公开课有视频资源大家,只需要2元,可以去购买,网上我没找到免费的。步骤如下:
- 3
虽然当时sundy视频比较陈旧了,但是思想依然值得学习,我还推荐大家看Mars的安卓开发视频,网上到处有的下载,也不错。
- 4
要说到安卓书籍的话,其实好书都是看的安卓api文档,翻译过来的,最简单高效的方法就是去安卓开发网站上面看api文档,当然你要有不错的英文功底还需要某些技术手段。至于如何看api,sundy视频已经讲得很好了。下面我还是推荐一些安卓的书籍,供大家参考。下载地址:http://pan.baidu.com/s/1hqGbE2w。推荐:Android高级编程。
- 5
还有加入课外补习班也能学习安卓,不过能自学就自学嘛,毕竟能节省很多费用。
END
说在最后的话
- 1
安卓入门并不难,难就难在平时的坚持,我就是当时看完马士兵java教程后看sundy的,基本上全看完了,代码也基本敲了一遍,感觉学到了很多,当然我也祝你能成功。
- 2
如果以后觉得安卓基础够了,可以来看看我写的学习安卓架构知识继续提高,谢谢!
END
注意事项
- 安卓调试的时候最好真机调试,速度快!
- 想了解部署ndk的可以看我的其它经验
https://jingyan.baidu.com/article/db55b6099198094ba20a2f5a.html
第一个行代码下载地址: http://www.java1234.com/a/javabook/andriod/2017/0124/7469.html
本书相关的源码:https://github.com/newcaoguo/booksource http://download.csdn.net/download/qq446282412/9703508
0基础如何学Android开发的更多相关文章
- 【视频】零基础学Android开发:蓝牙聊天室APP(四)
零基础学Android开发:蓝牙聊天室APP第四讲 4.1 ListView控件的使用 4.2 BaseAdapter具体解释 4.3 ListView分布与滚动事件 4.4 ListView事件监听 ...
- 【视频】零基础学Android开发:蓝牙聊天室APP(二)
零基础学Android开发:蓝牙聊天室APP第二讲 2.1 课程内容应用场景 2.2 Android UI设计 2.3 组件布局:LinearLayout和RelativeLayout 2.4 Tex ...
- 【视频】零基础学Android开发:蓝牙聊天室APP(三)
零基础学Android开发:蓝牙聊天室APP第三讲 3.1 ImageView.ImageButton控件具体解释 3.2 GridView控件具体解释 3.3 SimpleAdapter适配器具体解 ...
- 【视频】零基础学Android开发:蓝牙聊天室APP(一)
零基础学Android开发:蓝牙聊天室APP第一讲 1. Android介绍与环境搭建:史上最高效Android入门学习 1.1 Google的大小战略 1.2 物联网与云计算 1.3 智能XX设备 ...
- 学Android开发,入门语言java知识点
学Android开发,入门语言java知识点 Android是一种以Linux为基础的开源码操作系统,主要使用于便携设备,而linux是用c语言和少量汇编语言写成的,如果你想研究Android,就去学 ...
- 在MAC上搭建cordova3.4.0的IOS和android开发环境
Hello,大家好,今天给大家说说在mac上搭建cordova3.4.0的iOS和Android开发环境,首先下载cordova,地址:https://cordova.apache.org/#down ...
- 学Android开发 这19个开发工具助你顺风顺水
学Android开发 这19个开发工具助你顺风顺水 要想快速开发一个Android应用,通常会用到很多工具,巧妙利用这些工具,能让我们的开发工作事半功倍,节省大量时间,下面大连Android开发培训小 ...
- 学Android开发的人可以去的几个网站
学Android开发的人可以去的几个网站 1.<IT蓝豹>Android开源项目分享平台国内非常好的一个Android开发者分享站,分享android所有特效,每天都有最新的Android ...
- CSharp程序员学Android开发---3.Android内部元素不填充BUG
最近公司组织项目组成员开发一个Android项目的Demo,之前没有人有Andoid方面的开发经验,都是开发C#的. 虽说项目要求并不是很高,但是对于没有这方面经验的人来说,第一步是最困难的. 项目历 ...
随机推荐
- js auto hover button & html5 button autofocus
js auto hover button & html5 button autofocus input // html 5 <input name="myinput" ...
- HTML5 History API & URL 重定向
HTML5 History API & URL 重定向 disabled server url redirect https://developer.mozilla.org/en-US/doc ...
- DAY09、函数
一.函数的定义:跟变量名的定义大同小异 1.声明函数的关键词:def 2.函数(变量)名:使用函数的依据 3.参数列表:() 参数个数可以为0到n个,但()一定不能丢,完成功能的必要条件 4.函数 ...
- 莫烦scikit-learn学习自修第三天【通用训练模型】
1. 代码实战 #!/usr/bin/env python #!_*_ coding:UTF-8 _*_ import numpy as np from sklearn import datasets ...
- QTP自动化测试-按行取值(win10下输入?问题)-笔记20181119
在win10下运行qtp10 所有输入汉字都会为?,在win7下可以.查询了百度.bingo没有解决问题.当前的解决办法 ,在脚本中使用DataTable取数据值,添加2行记录,一行使用汉字,一行使用 ...
- Dreamweaver怎样用Edge Web Fonts功能
https://jingyan.baidu.com/article/37bce2beb3af6f1002f3a2c9.html
- codeforces478C
Table Decorations CodeForces - 478C 你有r个红的,g个绿的和b个蓝的气球.要为宴会布置一张桌子,你恰好需要三个气球.附在桌子上的三个气球不应该有相同的颜色.如果我们 ...
- python基础数据类型--dict 字典
字典 字典是python中唯一的映射类型,采用键值对(key-value)的形式存储数据.python对key进行哈希函数运算,根据计算的结果决定value的存储地址,所以字典是无序存储的,且key必 ...
- iptables防火墙的原理及应用
简介 (netfilter, 位于Linux内核中的包过滤功能体系 ,称为Linux防火墙的“内核态”) iptables防火墙工作在网络层,针对TCP/IP数据包实施过滤和限制,iptables防 ...
- JVM深入理解<一>
以下文章来自与: http://www.jianshu.com/p/fabad9250b1b 一.什么是JVM? JVM是Java Virtual Machine(Java虚拟机)的缩写,是通过在实际 ...