导航:首页 > 程序命令 > 程序员安卓学习

程序员安卓学习

发布时间:2023-11-27 15:53:10

‘壹’ 安卓开发需要学习什么

学习分三个阶段:

1,android基础阶段:平台架构特性(java/C) Market/应用程序组件 环境搭建与部署/打包与发布 AVD/DDMS/AAPT 调试与测试 相关资源访问/资源制作 Activity/Service/Broadcast Receiver/Content Provider/原理(生命周期)及深层实现

2,Android进阶初级:组件Widget/ 菜单Menu/ 布局Layout 详解 Xml解析(Pull/Dom/Sax)/JNI 解析SQL数据库原理,。

SQLite /SharedPreferences/File详解 多媒体Audio/Video/Camera 详解

3,Android进阶高级:蓝牙/WIFI SMS/MMS 应用实现 深层次解析GPS原理。

实现LocationManager/LocationProvider 进行定位/跟踪/查找/趋近警告以及Geocoder正逆向编解码等技术细节 2D图形库(Graphics/View)详解 SDCARD/传感器/手势 应用实现

(1)程序员安卓学习扩展阅读:

知识体系

1、Unix/Linux平台技术:基本命令,Linux下的开发环境

2、企业级数据库技术:SQL语言、SQL语句调优、Oracle数据库技术

3、Java 语言核心技术:Java语言基础、Java面向对象编程、JDK核心API、Java集合框架、Java网络编 程、JavaI/O编程、Java多线程编程、Java异常机制、Java安全、JDBC、XML

4、软件工程和设计模式:软件工程概述、配置管理及SVN、UML、基本设计模式

5、Android应用开发基础:Android开发平台、Eclipse+ADT开发环境、AVD及传感模拟器调试、Android核心组件、Android常用组件、Android高级组件、文件及网络访问、SQLite数据库编程、后台服务编程

6、互联网核心技术: HTML、CSS、JavaScript、JQuery、Ajax应用

7、Android高级应用开发:音频视频摄像头、互联网应用、GPS和位置服务、Google Map、2D3D绘制、传感器开发、游戏开发、电话及SMS服务、网络BluetoothWi-Fi等。

8、Android系统级开发:移植、驱动、NDK(C方向)。

9、JavaEE核心技术:Servlet核心技术、JSP核心技术、Struts、Spring、Hibernate框架。

‘贰’ 我想学Android应用开发,如何学习

①Java基础知识
a)Java基础语法:这部分内容必须烂熟于胸。可以看书或者是看视频,但是关键是要多加练习,无论是书上的练习还是视频里面的练习,都需要仔仔细细的完成;
b)设计模式:由于在Android系统的框架层当中,使用了大量的设计模式,如果没有这个方面的知识,对于Android的理解就会大打折扣
②Linux基础知识
Android系统的基础是Linux操作系统。在开发过程当中,我们也需要使用到一些Linux命令。所以说一些Linux的基础知识是必须的
③数据库基础知识
这项是一个增删改查的数据库操作,可以看书学习。
④网络协议
至少需要学习两种基础的协议,HTTP协议与Socket协议;
⑤Android基础知识
⑥服务器端开发知识
a)Java EE:
b)PHP:
c).NET:
d)ruby on rails:

‘叁’ 安卓开发需要学什么

安卓开发需要学:

一、应用程序

Android以Java为编程语言,使接口到功能,都有层出不穷的变化,其中Activity等同于J2ME的MIDlet,一个 Activity 类负责创建视窗,一个活动中的Activity就是在 foreground(前景)模式,背景运行的程序叫做Service。

二、中介软件

操作系统与应用程序的沟通桥梁,并用分为两层:函数层(Library)和虚拟机(Virtual Machine)。 Bionic是 Android 改良libc的版本。

Android 同时包含了Webkit,所谓的Webkit 就是Apple Safari浏览器背后的引擎。Surface flinger 是就2D或3D的内容显示到屏幕上。Android使用工具链(Toolchain)为Google自制的Bionic Libc。

三、硬件抽像层

Android 的 HAL(硬件抽像层)是能以封闭源码形式提供硬件驱动模块。HAL
的目的是为了把 Android framework 与 Linux kernel 隔开。

让 Android 不至过度依赖 Linux
kernel,以达成 kernel independent 的概念,也让 Android framework
的开发能在不考量驱动程序实现的前提下进行发展。

四、编程语言

Android 是运行于 Linux kernel之上,但并不是GNU/Linux。因为在一般GNU/Linux 里支持的功能,Android 大都没有支持。

包括Cairo、X11、Alsa、FFmpeg、GTK、Pango及Glibc等都被移除掉了。Android又以bionic 取代Glibc、以Skia 取代Cairo、再以opencore 取代FFmpeg 等等。

五、安全控制

目前Android 的 Linux kernel控制包括安全(Security),存储器管理(Memory Managemeat),程序管理(Process Management),网络堆栈(Network Stack),驱动程序模型等。

下载Android源码之前,先要安装其构建工具Repo来初始化源码。Repo 是 Android 用来辅助Git工作的一个工具。

参考资料来源:网络—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开发的学习路线大概是怎样的

其实网上有很多安卓学习路线图,但是太虚了,我想说一个比较实在的学习步骤,也是我个人的学习步骤。

第一步 java基础


因为安卓开发语言是使用java,因此必须了解,熟悉j2se。java基础看马士兵的视频就行,他讲的特别好,尤其是堆栈内存那一块。然后学疯狂java讲义,不需要都学,学前十章就行,不建议初学者学java编程思想,比较难懂,不适合入门。(时间2-3个月)

第二步:书籍

入手的第一本书就是android疯狂讲义,七八百页,其实我感觉我们不用全部都学,比如说动画、视频、传感器先可以不学,安卓疯狂讲义的有些设计不是很合理,把很多难的内容放到了前面,

没有做到从易到难,我们学的过程中可以先把一章整体看一下,然后再安排学习的顺序,把里面的每一个例子都自己敲一遍。因为我上下班坐公交车时间很长因此我都是在公交车上看书,这样一个月过去了,

疯狂讲义的主要部分学了一遍。

第三步:视频

我看过的视频也很多,比如说黑马精通4.0,还有尚学堂的,还有传智播客的,觉得最好的还是老罗的安卓开发视频,讲的很细也很全面,于是我把其它视频都放弃了,只学老罗视频,每天看7个,中间也有耽搁的这样过去了一个月,所有的看了一遍,主要的,难懂的看了两到三遍。

第四步:高仿项目

做完前两步,自己感觉水平应该可以了,于是就想去独立开发一个app,但是还是不知道怎么下手,于是从网上找了几个开源项目,开始模仿去做,有仿新浪微博,仿美团,闹钟,这样过去了一个月,终于有些底气了。

第五步:android官网

要想去安卓官网还需要翻墙,这个大家都懂,首先官网上面的api guide看一下,最后都能仿着写一遍代码,然后再把training上的几个例子也仿着写一遍。这样学上面的例子用了一个月。

第六步 :android学习手册

我之前一直从事java web开发,前段时间因为工作需要,转学了安卓,在学安卓过程中,一直想找一款应用能够展示各个章节的知识点,并且提供demo例子,就像谷歌Android API Demo一样,google api demo例子太老了,都是外文,例子也不够丰富,还不能看源码,也没有文档。于是把自己学习安卓过程中的用到例子都整合在了一起,并把例子都写在了android学习手册中,希望想学安卓的java同胞们,能有一个好的例子参考,快速学习安卓,少走弯路。android学习手册包含9个章节,108个例子,源码文档随便看,例子都是可交互,可运行,源码采用android studio目录结构,高亮显示代码,不需要积分,文档都采用文档结构图显示,可以快速定位,度娘不让发链接,360手机助手中可下载。

第七步:独立开发app

光说不干嘴把式,光干不说傻把式。必须独立开发一个小项目。

‘陆’ Android培训课程有什么内容

第一阶段的课程一般都是Java编程开发

这一部分应该会和Java后台有相关联的地方,但是比Java后台简单,这一阶段一般要学习Java语法和Java面向对象思想、Java数据结构及算法、GUI界面编程、Java进程与线程、Java网络通信与流、设计模式、数据库和Javaweb,安卓在这一阶段的学习内容看似和后台关联性很大,但是这一部分我们只学习后台一些基础的东西和日后会用到的东西,我们要把基础奠定好。

第二阶段要学习的内容是安卓基础开发

主要的课程内容为Android界面编程(界面编程是Android入门的核心技术,内容纵多,涉及四大组件之一Activity、Wedget、自定义View、事件处理、动画处理、列表、图片处理、国际化、资源文件、菜单、通知、对话框、Tools/ActionBar/Fragment、样式/主题、Intent。)、进程与线程、服务与广播、数据存储、网络通信、多媒体以及硬件相关,这一阶段更注重安卓入门基础的培训,一定要好好的把握。

接下来学习的内容是一个进阶阶段,主要学习的是安卓的高级开发,一般的课程内容为HOME开发、NDK开发等、地图开发项目发布等等,以上就算是安卓培训的所有学习内容,但是你掌握了学习内容之后还是远远不够的,一般的培训班都会给我们安排项目实战的,这是一种思想的锻炼,我们做什么就要有什么的思维做后台的有做后台的思维,做前端的有做前端的思维,我们学安卓的进行手机端APP开发的就要有安卓的思维,这一阶段也是很重要的,就好比我们在华清远见学完整体的内容之后也参与了一些项目的实战。

我把每一阶段要学习的课程都给你整理了,你可以现在有准备的去看一些基础的视频或者相关的书籍了。

安卓培训视频资料都有

阅读全文

与程序员安卓学习相关的资料

热点内容
阿里云服务器安装后怎么使用 浏览:931
去做APP开户有什么危险没得啊 浏览:696
8分之1乘58算法 浏览:170
php提交过滤 浏览:356
豪斯曼检验stata命令 浏览:769
云看地是什么APP 浏览:885
数学指南pdf 浏览:858
phpcurldll64位 浏览:982
程序员脱产一年半 浏览:851
hr招程序员有什么条件 浏览:589
android开源集合 浏览:871
华为云服务器登录密码和账号 浏览:154
中世纪java程序员 浏览:787
什么开发引擎使用python 浏览:177
sh脚本运行命令 浏览:318
广联达加密锁怎么看到期 浏览:174
cad轨迹命令 浏览:981
同事刷到女程序员自媒体视频 浏览:573
校验算法的缺点是什么 浏览:719
PHP商品分类功能实现 浏览:332