‘壹’ 程序员如何学习
没有捷径,只有靠多写代码
但是要写有用的代码,不能老是写一样的,所以重构项目是一种很提升水平的经历,每隔一两年最好能参与一次这种优化代码的机会。
还有就是多读书,经典代码读物比如《代码大全》,这本书适合5年以内程序员看
‘贰’ 程序员应该怎么学习
1、选定方向
编程的世界是多元纷繁的,大的方向就分前端开发、后端开发、移动开发、云计算、数据处理、智能硬件、物联网、虚拟现实等等,光编程语言都几十种。如果没有做过功课,贸然进入只会分分钟懵逼。所以最好是根据自己的兴趣爱好再结合市场前景,先选定一个方向,再选择一门语言,然后头也不回的深深扎进去。
2、优化学习方式
做好笔记,记录经验,我们大多数人并没有过目不忘的神技,很多时候我们学了也不一定马上掌握,需要过后花时间慢慢领悟,而且还有忘掉的风险,所以对于重要的知识点都要做好笔记。
3、多看官方文档,外文资料
互联网是一个更新迭代很快的行业,所有编程语言都会不断的更新新功能和修复旧Bug,网上查的资料很有可能是旧的解决方案,现在已经不适用了。所以最好最快的方法就是查看官方文档。
4、动手做项目
我们学习编程的最终目的就是用所学的做出具有一定功能的项目,而做项目又是最好的学习和巩固知识的方式。如果前期能力不足就先做一些简单的功能模块,一步一步慢慢来,不要一开始就要实现各种酷炫炸天功能,遇到不会的就在网上查, 现在互联网这么发达,获取资源也及其方便。
自学过程中的一些注意事项
1、要善于构建大的知识框架体系,不要执着于细枝末节的知识点。中国的应试教育培养出来的人都喜欢啃细节,对于自学来讲这是大忌,比如在遇到一个函数的时候,非要把这个函数的参数,返回值都弄得清清楚楚才肯罢休。
2、先学重要的知识点,用不到的可以暂时放一放,因为你时间有限,遇到比较难的知识点,如果不是特别重要的,就跳过去,当你哪天用到的时候再来好好的研究,带着问题去学习,你会发现学习难的知识点也没有那么痛苦。
3、要善于查资料,互联网就是最好的老师,遇到问题先网上查,至少能够解决你98%的问题,因为你遇到的问题别人肯定也会遇到,除非你已经到了高处不胜寒的境界。
‘叁’ 如何学习安卓开发
目前国内的android开发还是主要以应用开发为主,主要分成3类:为企业开发应用、开发通用应用(放到Android Market或者其他App Market销售)以及游戏开发(放到Android Market或者其他App Market销售)。第一类开发者一般身处规模较大的公司,这些公司主要为自有品牌或者其他品牌设计手机或者平板电脑的总体方案。除了根据需求对系统进行定制外,更多的工作在于为这些系统编写定制的应用。第二类开发者,一般处于创业型公司或者是独立开发者,他们的盈利方式主要是2种:为国外公司进行外包开发,或者通过Google的移动广告(AdMob)通过广告点击分成。而理论上的通过付费下载的形式来盈利的,现在国内鲜见成功者。第三类开发者,目前和第二类开发者类似。下图是开发者提交的应用和游戏的数目所占的比例图,从中也可以看出应用开发数目远超游戏开发。
上面是Android的体系架构图,自上而下分别为应用层、应用框架、类库和Alvik运行时环境以及Linux内核。一般来说,我们想从事Android开发,可以从应用开发作为切入点,逐渐熟悉其整个体系,并慢慢往其底层渗透,从而能做到软硬兼备,既涉及到应用开发的透彻掌握,又帮助大家在系统开发层面上做好充分的准备。而从学习的路线图上来说,先熟悉java SE编程,能比较熟练的使用Java语言进行编程,熟悉Java语言语法特点,熟悉Java IO、Java线程、网络编程、XML处理等。另外,因为很多的Android应用在运行时都需要去访问网站服务器,因此,熟悉一种网络编程语言也是必要的。无论是从学习的方便性还是市场占有情况来说,使用JSP/Servlet都是不二的选择,另外,在这个阶段也顺便学习一下SQL语法和熟悉一种SQL数据库,以方便后续Android开发中进行SQLite数据库开发。学习完这些课程后,就可以开始进行Android的应用开发的学习,例如Android中的UI组件、基本组件、数据存储、传感器、图形图像处理、多媒体处理、游戏开发等。为了更好地进行应用编程,可以有选择的对其Lib类库进行分析,以加深对其工作机制的理解。再往下,就是操作系统层级了,这里应该要对Linux操作系统进行学习,熟悉其内核和运行原理,熟悉ARM体系架构以及常用指令,并熟悉驱动的编写方式,掌握其移植方法等。
‘肆’ 高级程序员如何学习Android开发
一、Java基础,虽然现阶段Google已经将Kotlin定为官方推荐语言,但是大多数国内项目都是用Java开发。即使以后的大趋势是向Kotlin转换,也需要一些时间,所以完全不用担心Java会过时,你可以在Android学的差不多的时候再去学Kotlin,学习成本也会很低。
1. 如果非科班出身建议看视频或者找人指导学习,科班出身可以直接看Java相关书籍,基础好的可以一边了解Android一边学习Java。
2. 对于Java需要掌握到什么程度:
- Java基本数据类型、基本语法、关键字、表达式和分支循环
- 面向对象,封装、多态和继承
- 接口的使用方法和场景
- Java常用的各类型集合的优缺点及使用场景
- JavaI/O
- Java的多线程
- Java的反射机制和泛型
- 一些常用的设计模式(如:单例、工厂等)
掌握了以上Java知识基本可以应对很多开发场景。
二、Android(软硬件部分)
1. 开发平台:电脑用Windows的或者Mac都可以,处理器最好i5及以上,8G内存及以上,配上固态硬盘。(推荐Mac)
2. 开发工具:Eclipse已经很少见到,大多数开发人员都选择AndroidStudio(IntelliJ IDEA也可以,跟AS类似),调试可以用AS自带的模拟器或者第三方模拟器,有条件的请用真机。
3. 开发环境:配好Java环境,正常安装AndroidStudio即可。
三、Android(基础编程部分)
1. 了解项目工程各个目录的作用
2. 学习各类基本布局的使用方法
3. 了解基本控件的使用(如:TextView、ImageView等)
4. Activity和Fragment的生命周期,数据交互方法
5. 列表类控件(如:RecylerView、ListView等)和Adapter的使用方法
6. Activity的启动模式,四大基本组件的作用及使用场景
四、Android(进阶编程部分)
1. 数据库的简单存储(增删改查)
2. Android自带的SharePreferences存储
3. 文件存储的方法
4. Android的消息机制和异步任务
5. 三种动画的使用
6. 了解Http协议相关的知识
7. 触摸事件的分发机制
8. 自定义View
‘伍’ 如何自学android
学电脑不如学【视频剪辑】,理由很简单,容易学(不像其它行业学习成本高,难度大),适合短期3-4个月短期学习,而且行业缺口非常大,无论是找工作还是自己在家里接私单,月收入轻松过万,两三万也是稀松平常。【点击进入】免费“短视频剪辑后期”学习网址:
www.huixueba.net/web/AppWebClient/AllCourseAndResourcePage?type=1&tagid=313&zdhhr-11y17r-281528507
因为现在【短视频】的崛起,任何企业,任何工作室或者个人都需要制作剪辑大量的短视频来包装品牌,发抖音,发朋友圈,发淘宝等自媒体渠道做展示。因为每天都要更新并发布新内容,所以剪辑师根本招不够,,供需失衡就造成了剪辑师高薪水。
而且剪辑这个技术并不需要高超的电脑技术,也不需要美术音乐造诣,基本都是固定套路,要什么风格的片要什么节奏,经过三四个月的培训都可以轻松掌握。但凡有点电脑基础会用鼠标拖拽,会点击图标,会保存除非自己不想学,没有学不会的。但是要学好学精,就一定要找专业负责的培训机构了,推荐这个领域的老大:王氏教育。
在“短视频剪辑/短视频运营/视频特效”处理这块,【王氏教育】是国内的老大,每个城市都是总部直营校区。跟很多其它同类型大机构不一样的是:王氏教育每个校区都是实体面授,老师是手把手教,而且有专门的班主任从早盯到晚,爆肝式的学习模式,提升会很快,特别适合0基础的学生。王氏教育全国直营校区面授课程试听【复制后面链接在浏览器也可打开】: www.huixueba.com.cn/school/yingshi?type=2&zdhhr-11y17r-281528507
大家可以先把【绘学霸】APP下载到自己手机,方便碎片时间学习——绘学霸APP下载: www.huixueba.com.cn/Scripts/download.html
‘陆’ 安卓手机软件开发要从何学起
Android的开发技术很多,在开始学习的时候不可能一次性全部学会,也没有必要一开始都全部学会,但是有些技术是非常常用的,需要在开始时打好基础,这些技术时:
1、Activity生命周期
虽然Android中有四大组件,但是不可否认Activity是最常用的。所以熟练掌握Android的生命周期是必须的。其实生命周期就是记住 Activity的那些方法在什么时候被系统调用,这样才可以把对应的逻辑代码写到合适的方法内部去。
2、界面开发技术
1)使用xml文件布局
使用xml首先对于界面进行布局,然后在Activity里面进行引用是最常见的应用软件开发技术,这种方式使用的最大,需要学习的内容也最多。学习时需要熟悉:
a)五种Layout布局
深刻理解五种布局组织控件的方式是一个基本的基础,这样你才可以在实际的界面中灵活的使用每种布局结构,构造出需要的界面。
b)常用控件
控件有很多,至少要知道每种控件是做什么的,至于里面的特定参数和方法可以学要的时候再去查
c)界面美华
系统的控件很多时候无法满足要求,需要通过添加背景更换图片等进行美化,要熟悉每种控件如何去美华。
掌握了上面的内容,通过布局的嵌套就可以制作出各种界面,如果在熟悉include的使用就可以减少xml的重复,方便后期的修改和维护了。
2)使用代码动态创建
有些时候需要动态的创建一些布局和控件,这个就需要使用LayoutInflater去创建一些动态的界面了。
3)自己绘制界面
游戏中常用,继承SurfaceView自己绘制。
3、数据存储技术
Android中的数据存储方式有3种:
1)SharedPrefereneces存储
对于简单的数据可以使用该方式存储,以键值对的方式存储一些基本的数据。
2)文件存储
将数据以文件的形式存储,可以是手机自身的存储也可以是SD卡,文件的数据格式自己定义。
3)SQLite数据库存储
使用标准SQL语句进行操作,复杂数据的首选。
4、网络编程
现在的Android程序不需要联网的已经不多了。所以网络编程也是必须的,一般的公司都会封装有自己的联网结构,但是基本的联网还是要熟悉。
1)HTTP联网
使用Http联网+Json数据格式是现在很多客户端的首选。
2)Socket联网
至于蓝牙等连接方式则可以在项目需要的时候学习。
其次,手机软件相关
Android开发不同于普通的电脑软件开发,需要了解手机的操作习惯,知道手机的屏幕不大、内存有限,电池有限等,在实际开发和设计时尽量考虑。
‘柒’ 想快速入门安卓操作系统开发,如何学习,看哪些资料
开发android,我们需要哪些技能基础。
①Java基础知识 ②Linux基础知识 ③数据库基础知识 ④网络协议 ⑤Android基础知识 ⑥服务器端开发知识
①Java基础知识
很多朋友一上手就开始学习Android,似乎太着急了一些。Android应用程序开发是以Java语言为基础的,所以没有扎实的Java基础知识,只是机械的照抄别人的代码,是没有任何意义的。万丈高楼平地而起,Java就是筑起高楼的每一块砖头。那么Java学到什么程度才算是过关呢?我个人认为至少要掌握以下两个方面的内容:
a)Java基础语法:具体的知识点列表可以在这里下载:《Java知识点列表》V1.0。这部分内容没有讨价还价的余地,必须烂熟于胸。至于具体的学习方法,可以看书或者是看视频,但是关键是要多加练习,无论是书上的练习还是视频里面的练习,都需要仔仔细细的完成;
b)设计模式:由于在Android系统的框架层当中,使用了大量的设计模式,如果没有这个方面的知识,对于Android的理解就会大打折扣。设计模式的种类非常之多,一个一个的全部掌握,是不现实的,必须首先掌握面向对象的基础设计原则,有了这些基础原则的支持,就可以举一反三。这部分内容可以在《Effective Java》和《Agile.Software.Development:Principles,Patterns.and.Practices》这两本书中找到。
②Linux基础知识
大家都知道,Android系统的基础是Linux操作系统。在开发过程当中,我们也需要使用到一些Linux命令。所以说一些Linux的基础知识是必须的(话说现在的程序员,不懂Linux都不好意思跟人家打招呼),推荐大家看看《鸟哥的私房菜》这本书,写的相当不错;
③数据库基础知识
这个比较简单,就是一个增删改查的数据库操作,可以看一下这本书:《SQL编程练习与解答》
④网络协议
至少需要学习两种基础的协议,HTTP协议与Socket协议;
⑤Android基础知识
⑥服务器端开发知识
由于很多Android应用程序都需要服务器端的支持,所以掌握一些服务器端开发知识还是非常有必要的。
‘捌’ 如何自学 Android 编程
如何自学 Android 编程:
项目需要,8月中旬开始决定做安卓的程序,所以马上就开始学习安卓方面的开发知识,把最近的学习实践经历和大家分享分享。不要一开始就下载一大堆资料,视频,然后就不知道做什么了,要给自己定个目标,我要做什么?我怎么达到目标?
我不懂java,但是懂C#和C++,所以我没主张去单独学习java语言,如果你是个最最初的新手,没啥语言基础,那你必须先看看java语言,不要很详细看,因为学习Android中,你也是在学习java。
1. 明确目标
没有目标的学习,会感觉到后面没什么成果,在1年前,我也打算学习android开发的,但是目的就是学习,到网上去下载很多学习的视频,然后把开发环境搭建起来,能把Helloworld运行起来,能打些log,Activity之间也能互相切换了,但是后面也就不了了之了,因为不知道学了要干什么。依葫芦画瓢的做了几个例子,因为里面的问题都是已经解决的,所以也没能深入的系统学习。
这次因为产品的需要,要做Android版本,要做的东西一开始就已经设计好了,见摇摇2选1安卓版本,刚开始也不知道里面有些什么技术难度,但是要做的目标已经明确了,而且也没有现成的,碰到问题就查资料,慢慢地解决,这样有的放矢,学习的效果非常好。既有现成的技术可以使用,又有些技术,需要查比较多的资料,这样记忆就比较深刻,所掌握的知识也比较系统。
接下来的一系列文章,我会把在开发摇摇2选1中遇到的问题,给大家详细讲讲,程序虽然小,但是五脏俱全,做Demo和做产品的要求完全不是一个级别,如果Android大牛感觉知识讲的比较浅,那可以绕道,毕竟我是从一个完全的新手开始的。
2. 了解安卓开发中比较困难的地方
学习一个新平台,就要知道此平台开发要面临的困难有哪些,不要做到最后,这些问题没有考虑,那就比较糟糕了。在网上搜索了下,安卓开发困难总结如何:
1)安卓系统版本比较多,各版本之间的兼容性是个问题,此为系统碎片。
2)安卓设备千变万化,设备难以统一,每个产品都成为独立,分散的Android碎片。
3)分辨率五花八门。一个产品,可能需要多个界面排版,人工消耗比较大。
看到这张图,有没有头疼的感觉?
总结成一句话:Android的碎片化真是要来开发者的命。
3. 搭建开发环境
"巧妇难为无米之炊",开发环境肯定是第一件要做的事情,这类的文章已经很多了,我也不多说了,多说也就比较无聊了。感谢吴秦,也是博客园里的一员,他写的很详细了,见这里。
4. 查看网友总结的一些经验。
不是什么都查看,开发中遇到什么问题,就去查看什么问题,这样你查到的知识,马上就能深入的实践,这样知识就巩固了。
1)首先当然要看Android的开发文档,里面其实大部分的知识都有了,还有就是SDK自带的Samples。
2)博客园里搜索“Android开发”,会出来一大把,很多网友都是很系统的讲解了。
3)eoe
android社区,里面有很多网友上传了现成的demo代码,里面很多都是模仿现在流行的产品的界面开发,很是不错。
5. 掌握调试方法
个人一直认为,调试技巧是开发中最重要的技能,如果调试技能比较差,不知道如何查找问题,那不会是个好的程序员,其技能也不会高到哪里去。
Android做下来,感觉调试这块做的很不错了,这要感谢Eclipse
IDE做的比较不错,但是Android的界面排版部分,真的不敢恭维,Eclipse时间用长了,占用内存真是大。有哪位高手能否告诉我下,你们界面排版是用什么的?
Android里,如果程序出了问题,有些是一下跟踪不到的,这时就要用到Log类了,Log类使用很简单,就不多说了。
自己一个很有感触的经验,如果你真的打算做Android开发,那就买一个设备,这样能大大提高开发效率,模拟器有时用起来真是麻烦,而且开发的设备不要很好的,只要设备分辨率是主流的,传感器的支持最好全点就够了,国产的手机里,华为的还不错,或者到淘宝上去买个二手的,投资不大。真的买了投资,可能也会增加你学习Android的决心。
6. 程序框架
经过10多年的经历,认识到程序的框架对开发产品真的是起到举足轻重的作用。一个好的产品,如果有个好的程序框架,那真是事半功倍,可能开始所做的工作会比较多,很难看到令人激动的成果,但是相信我,绝对值得。一开始,我也是比较注重程序界面开发,很快就开发出界面来,而且着实比较激动,因为有东西出来了,但是后面的事情,真是令人发狂,想从头再来,太迟了,离计划的时间比较近了,时间不允许,只有硬着头皮往上打补丁,硬着交付第一个版本,第二个版本或者后面的版本,迟早是要重来的。所以在后面带领团队开发的时候,在开发前,都是要讨论程序框架,留出很大部分时间进行程序框架开发,及在开发中不断的改进。
刚接触Android,不知道用什么程序框架,所以查了很多资料,一开始看到一个程序框架,感觉很不错,所以一开始就使用了下面这个程序框架。
‘玖’ android开发有没有好的学习方法呢
我这里有一个android的学习路线图不知道能不能帮到你,是从好程序员特训营的网站上看到的。
第一阶段:高级Java面向对象编程
主要内容有:1、面向对象设计原则
2、面向对象设计模式概要
3、创建型设计模式
a)Factory Method
b)Builder
c)Prototype
d)Singleton
4、结构型设计模式
a)Adapter
b)Bridge
c)Composite
d)Decorator
e)Façade
f)Proxy
5、行为模式
a)Interpreter
b)TempleteMethond
c)Command
e)Iterator
f)Observer
g)State
h)Strategy
第二阶段:高级jdk api开发技术
主要内容有:1、并发线程库介绍
2、线程本地变量的使用方法
3、信号量与可重入锁
4、读写锁的使用方法
5、阻塞队列与同步集合库使用方法
6、Java反射机制介绍
7、Class、Filed和Methond的使用方法
8、动态代理模式的使用方法
9、Java框架开发原理
第三阶段:网络与数据库技术
主要内容有:1、Socket使用方法介绍
2、基于UDP Socket的数据传输方法
3、基于TCP Socket的数据传书方法
4、非阻塞Socket开发框架的使用方法(实时通讯)
5、JSON与XML数据介绍
6、XML语法介绍
7、XML解析技术:SAX、DOM、Pup
6、JSON语法介绍
7、JSON解析技术:fast-json、Gson
8、关系型数据库介绍
9、MySql数据库的安装与配置
10、SQL语言详解
11、数据库设计三范式
第四阶段:Android应用/游戏/系统开发
一、Android UI编程(项目实战)
主要的内容有:
1、Android开发环境搭建:Android介绍,Android开发环境搭建,第一个Android应用程序,Android应用程序目录结构。
2、Android初级控件的使用:TextView控件的使用;Button控件的使用方法;EditText控件的使用方法;ImageView的使用方法;RadioButton的使用方法;Checkbox的使用方法;Menu的使用方法。
3、Android高级控件的使用:Autocompletion的使用方法;ListView的使用方法;GridView的使用方法;Adapter的使用方法;Spinner的使用方法;Gallary的使用方法;ScrollView的使用方法。
4、对话框与菜单的使用:Dialog的基本概念;AlertDialog的使用方法;DatePickerDialog的使用方法;Menu的使用方法;自定义Menu的实现方法。
5、控件的布局方法:线性布局的使用方法;相对布局的使用方法;表格布局的使用方法;帧布局的使用方法。
6、多Acitivity管理:AndroidManifest.xml文件的作用; Intent的使用方法;使用Intent传递数据的方法;启动Activity的方法;IntentFilter的使用方法;Activity Group的使用方法。
7、复合控件的使用方法:自定义ListView的实现方法;可折叠ListView的使用方法;自定义Adapter的实现方法自定义View的实现方法;动态控件布局的上实现方法。
8、Fragment的使用方法(4.x新技术):使用Fragment作为View的容器,统一管理View 的生命周期以及事件的处理方法,提升UI部分代码的可移植性;
9、Loader的使用方法(4.x新技术):Loader为Activity和Fragment提供了数据异步加载的机制,同时可以监听数据源的变化情况,无需每次都重新查询;
10、ViewPager与PagerAdapter的使用方法(4.x新技术):ViewPager为应用程序提供了多页面管理和手势滑动的功能,极大的方便了导航功能的实现;
11、Theme与Style:通过定义Theme与Style可以方便的为整个应用程序指定统一的风格;
12、事件分发机制:在出现多个控件叠加的情况时,需要程序员手工控制事件的分发情况,确保用户对屏幕的触控事件被合理的处理;
13、动画:熟练的使用属性动画和帧动画可以让整个应用程序变得更加生动;
二、Android网络编程与数据存储(项目实战)
主要内容有:
1、基于Android平台的HTTP通讯:Http协议回顾;Apache Commons 工具包介绍;使用Get方法向服务器提交数据的方法;解析服务器响应数据的方法;使用POST方法向服务器提交数据的实现方法;向服务器提交非文本数据的实现方法;使用Http协议实现多线程下载;使用Http协议实现断点续传。
2、Android数据存储技术:SQLite3数据库简介;SQL语句回顾;SQLite3编程接口介绍;SQLite3事务管理;SQLite3游标使用方法;SQLite3性能分析;访问SDCard的方法;访问SharedPreferences的方法。
3、ContentProvider使用方法:ContentProvider实现共享数据、URI的解析与UriMatcher、ContentUris的使用、使用ContentResolver操作ContentProvider、ContentProvider的监听Android当中的异步操作:Handler的使用方法;异步任务的基本概念;AsyncTask的使用方法。
4、基于Http的数据异步加载机制:使用Handler+Looper+Message+LruCache搭建数据异步加载框架,从响应速度和网络性能两个方面提高应用程序的用户体验;
5、通讯录数据访问:通过理解系统通讯录的数据组织结构,可以高效的实现对通讯录数据的增删改查操作;
三、Android手机硬件管理(项目实战)
主要内容有:
1、地图及定位技术:GPS简介;LocationManager的使用方法;在Google Map上添加标记的方法;查询某地附近建筑的方法;使用Google Map实现点对点导航。
2、传感器使用方法:方向、加速度(重力)、光线、磁场、距离、温度等传感器的使用。
3、近场通信技术:NFC技术简介;NFC技术是用场景介绍;NFC技术实现方法。
4、媒体管理技术:MediaPlayer的使用方法。
5、触摸屏技术:手势识别;多点触摸技术。
我弄的可能不全,你有时间可以自己去看一下。
‘拾’ 对于学习Android知识,有什么好的学习方法呢
很多朋友都对学习路线问题感到迷茫,特别是还在上学的朋友们。在这里就详细的为大家介绍一下。 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开发者,以上的这些知识都必不可少。看起来好像很多,多的可怕。所以还是那句话--“耐心,耐心很重要”。 学习一门专业要很长时间啊,耐心很重要,很多朋友也来问我C4D,能感觉到大家都想急着学会,其实要有长时间的积累才能有长远进步,Android开发,最近公司要做程序,也涉及到,如果UI设计师的我学会了Android,是不是可以独立做开发了。