安卓开发需要学啥

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了安卓开发需要学啥相关的知识,希望对你有一定的参考价值。

安卓开发需要学:

一、应用程序

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开发

参考技术A

1、Java核心技术

0基础学Android开发,从Java发展史开始,结合开发环境讲解基础语法,熟悉程序结构,再介绍Java中面向对象的编程思想,结合常用设计模式、算法,IO流、多线程、集合框架、网络编程、反射内省、泛型、注解、XML、mysql、Servlet等核心知识。

2、Android核心技术

从Android入门到精通,本阶段课程基于Android Studio开发环境,从UI入门,四大组件、系统服务、Fragment、Loaders、SQLite数据库、文件操作、网络通讯、多媒体、动画、布局优化、缓存优化、内存管理、编码技巧等介绍Android应用开发的全过程。

3、Android高级专题

本阶段课程基于企业级应用开发中常用或开源的第三方组件、框架。

包括:百度地图、Bmob云平台、Git与Linux、NDK、屏幕适配、APP上线、广告植入、传感器、SlidingMenu菜单、PullToRefresh下拉刷新、图片缓存ImageLoader、xUtils框架、

第三方登录分享、极光推送、在线支付、蓝牙、语音/人脸识别、二维码、NFC等众多实用技术。

4、项目实战

Android开发实战经典,本阶段课程以项目为导线,融合以上阶段所学的技术点,训练综合应用开发,讲解项目从需求分析、功能设计、到代码实现,模拟需求变更,还原真实开发中出现难点,解决难点,代码问题解析,调试异常与逻辑错误等问题。

扩展资料:

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

Android进阶初级:组件Widget/ 菜单Menu/ 布局Layout 详解 Xml解析(Pull/Dom/Sax)/JNI 解析SQL数据库原理, SQLite /SharedPreferences/File详解 多媒体Audio/Video/Camera 详解

Android进阶高级:蓝牙/WIFI SMS/MMS 应用实现 深层次解析GPS原理,实现LocationManager/LocationProvider 进行定位/跟踪/查找/趋近警告以及Geocoder正逆向编解码等技术细节 2D图形库(Graphics/View)详解 SDCARD/传感器/手势 应用实现

参考资料来源:百度百科-android开发

参考技术B

学习分三个阶段:

1,Android基础阶段:平台架构特性(JAVA/C) Market/应用程序组件 环境搭建与部署/打包与发布 AVD/DDMS/AAPT 调试与测试 。

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

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

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

扩展资料

知识体系

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常用组件。

6、互联网核心技术: html、CSS、javascript、JQuery、Ajax应用

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

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

参考资料来源:百度百科---android开发

参考技术C

安卓开发首先第一阶段是要学习java,掌握java了对于安卓的开发就容易很多,然后在学习安卓的开发环境搭配和生命周期,给你分享一个学习的计划表吧

参考技术D

Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,关于安卓的学习需要学习很多的知识点,但是首先要把基础做好。安卓主要学习:

阶段一:Java编程开发

阶段二:安卓基础开发

阶段三:安卓高级开发

阶段四:企业项目实战

前端主要学啥

第一阶段:HTML+CSS+JS基础
(1) HTML+CSS:
HTML进阶、 CSS进阶、DIV+CSS布局、HTML+CSS整站开发、
(2) JavaScript基础:
Js基础教程、js内置对象常用方法、常见DOM树操作大全、ECMAscript、DOM、BOM、定时器和焦点图。
(3) JS基本特效:
常见特效、例如:tab、导航、整页滚动、轮播图、JS制作幻灯片、弹出层、手风琴菜单、瀑布流布局、滚动事件、滚差视图。
程序猿的生活:前端只需要掌握这些,你也能拿8K!((附简历模板102份)最完整面试题含答案)24 赞同 · 2 评论文章
(4)JS高级特征:
正则表达式、排序算法、递归算法、闭包、函数节流、作用域链、基于距离运动框架、面向对象基础、
(5) JQuery:基础使用
悬着器、DOM操作、特效和动画、方法链、拖拽、变形、JQueryUI组件基本使用。
第二阶段:HTML5和移动Web开发
(1)HTML5:
HTML5新语义标签、HTML5表单、音频和视频、离线和本地存储、SVG、Web Socket、Canvas.
(2)CSS3:
CSS3新选择器、伪元素、脸色表示法、边框、阴影、flex布局、background系列属性改变、Transition、动画、景深和深透、3D效果制作、Velocity.js框架、元素进场、出场策略、炫酷CSS3网页制作。
(3)Bootstrap:
响应式概念、媒体查询、响应式网站制作、删格系统、删格系统原理、Bootstrap常用模板、LESS和SASS。
(4) 移动Web开发:
跨终端WEB和主流设备简介、视口、流式布局、弹性盒子、rem、移动终端JavaScript事件、手机中常见JS效果制作、手机聚划算页面、手机滚屏。
第三阶段:HTTP服务和AJAX编程
(1)WEB服务器基础:
服务器基础知识、Apache服务器和其他WEB服务器介绍、Apache服务器搭建、HTTP介绍。
(2) AJAX上篇:
Ajax简介和异步的概念、Ajax框架的封装、XMLHttpRequest对象详细介绍方法、兼容性处理方法、Ajax框架的封装、Ajax中缓存问题、XML介绍和使用、会处理简单的GET或者POST请求、
(3) AJAX下篇:
JSON和JSON解析、数据绑定和模板技术、JSONP、跨域技术、图片预读取和lazy-load技术、JQuery框架中的AjaxAPI、使用Ajax实现爆布流案例额。
程序猿的生活:打造全网web前端全栈资料库(总目录)看完学的更快,掌握的更加牢固,你值得拥有(持续更新)146 赞同 · 6 评论文章
第四阶段:面向对象进阶
(4)面向对象终极篇:
从内存角度到理解JS面向对象、基本类型、复杂类型、原型链、ES6中的面向对象、ES6中变量的作用域(let ,const(声明变量只读),块级作用域),ES6中函数新特性。
(5) 面向对象三大特征:
继承性、多态性、封装性。
(6) 面向对象中创建对象的五种方法:
自定义对象 、工厂模式创建对象、构造函数、 混合模式创造对象、JSO格式创建对象。
第五阶段:封装一个属于自己的框架
(1)框架封装基础:
事件流、冒泡、捕获、事件对象、事件框架、选择框架。
(2) 框架封装中级:
运动原理、单物体运动框架、多物体运动框架、运动框架面向对象封装。
(3) 框架封装高级和补充:
JQuery框架雏形、可扩展性、模块化、封装属于传智自己的框架。
第六阶段:模块化组件开发
(4) 面向组件编程:
面向组件编程的方式、面向组件编程的实现原理、面向组件编程实战、基于组件化思想开发网站应用程序。
(5) 面向模块编程:
AMD设计规范、CMD设计规范、RequireJS,LoadJS、淘宝的SeaJS。
第七阶段:主流的流行框架
(1) Web开发工作流:
GIT/SVN、Vue-cli脚手架、NPM/Bower依赖管理工具、Grunt/Gulp/Webpack。
(2)前端主流框架:
Vue.js、Angular.js、React.JS、Bootstrap。
(3) 常用库:
React.js、Vue.js、JQuery.js。
第八阶段:Node.js全栈开发:
(1) 快速入门:
Node.js发展、生态圈、Io.js、Linux/Windows/OS X环境配置、REPL环境和控制台程序、异步编程,非阻塞I/O、模块概念,模块管理工具、开发流程,调试,测试。
(2) 核心模块和对象:
全局对象global,process,console,util、事件驱动,事件发射器、加密解密,路径操作,序列化和反序列化、文件流操作、HTTP服务端与客户端、http://Socket.IO。
(3) Web开发基础:
HTTP协议,请求响应处理过程、关系型数据库操作和数据访问、非关系型数据库操作和数据访问、原生的Node.js开发Web应用程序、Web开发工作流、Node.js开发Blog案例。
(4)快速开发框架:
Express简介+MVC简介、Express常用API、Express路由模块、Jade/Ejs模板引擎、使用Express重构Blog案例、Koa等其他常见MVC框架。
(5)Node.js开发电子商务实战:
需求与设计、账户模块注册登录、会员中心模块、前台展示模块、购物车,订单结算、在线客服即时通讯模块。
参考技术A 1如何高效学习HTML5前端开发?
首先要学的是HTML、CSS,这两个东西是一套的,非常容易理解,随着web移动端开发的大趋势,HTML5和CSS3的出现,对前端工程师来说面临着新的挑战。所以建议想系统学习的同学,最好是到专业的前端培训机构去学习,比如达内web前端培训开设的H5前端开发培训课程,聘请一线级讲师亲自授课,手把手带你做前端,这样收获的效果会更好,但如果选择自学,应该先跟着书仔细、扎实的学一遍。然后就需要做大量的练习,做各种常规的、新颖的布局练习来捆固、理解自己的知识。css要熟练掌握float、 position、width、height,以及对于的最大最小、会使用百分百、overflow、margin、padding等等,这些都是跟布局 有关系的样式,是必须要掌握的。
2JavaScript技术学习
再次就是 Javascript,很多同学谈到JS就很困惑,当然不是所有的网页都必须有js,但是要想实现一些超酷的功能和界面的时候,就需要涉及到js。如果没有其他编程语言的基础的话,学起来可能要费些力。
在学习js的时候, 会接触一些后端的东西,没错,就是ajax。这个是需要后端返回数据的, 这个时候你要开始学习php了, 入门php相比于js会更麻烦一些,因为运行php需要有很多细节要处理。
再次就是学习jquery。jquery是相当于把js封装了一套的一个js插件。目的就是操作起来更方便,代码写的更少,jquery入门比较简单,那些是入门需要学的和js一样,只是换成了jq的代码。
3其他方面技术学习
谈到如何高效学习H5前端开发的问题,也要了解学习前端开发使用的工具,目前最常用的是Dreamweaver, 其曾经风靡一时,到现在也没有退出历史舞台,证明DW还是有很大优势的,尤其是针对初学者,其强大的提示功能可以帮助我们很快的熟悉并掌握网页布局。

以上是关于安卓开发需要学啥的主要内容,如果未能解决你的问题,请参考以下文章

请问有适合安卓游戏开发初学者用的游戏引擎吗?

移动应用开发需要学啥

游戏开发具体学啥,好入门吗?

如果要开发pc程序,开发的是一款可视化的开发工具,学啥编程语言比较好?

安卓开发工程师都需要会啥?求指导

安卓开发教程 安卓开发怎么入门