小猪的Android入门之路 day 1
小猪的Android入门之路 Day 1
Android相关背景与开发环境的搭建
------转载请注明出处:coder-pig
本节引言:
随着社会经济的发展,移动互联网的越来越热,手机APP开发显得格外火爆,
作为一名快要毕业的IT屌丝,自然要趟一趟这一浑水啦,当前主流的手机系统
IOS(苹果),Android(安卓),WinPhone(windows);WindPhone貌似没什么崛起的势头;
所以主流的就是前面的两个;作为一名屌丝学生狗,买不起Mac,仅仅有一台双核的破电脑;
仅仅能去搞android啦...只是都是说笑而已,对于两个的优劣并只是多的比較!
本系列是记录博主在安卓学习中学到的一些东西以及遇到问题的记录;
可作为学习參考或者教程查看,假设文中有什么写得不好的以及有什么好的建议;
欢迎指出,万分感激!
正文:
本章学习路线图:
学习路线解析:
①对安卓相关背景知识的了解,以及安卓的平台架构
②搭建安卓开发环境,会使用Eclipse与android sudio当中一个就可以
③熟悉相应IDE的开发APP流程
④对一些术语的了解
⑤一些android流程细节的了解
Android的诞生与发展:
android系统由是Andy Rubin创建的,后来被谷歌收购了;最早的版本号是android 1.1,
而如今最新的版本号是Android L,也就是我们常说的Android 5.0,系统的命名都是以点心命名的
,比方4.4 KitKat(奇巧巧克力),同一时候由于版本号过多的问题,安卓的碎片化情况比較严重:首先是屏幕的碎片化,
不像苹果的手机一样都是一个分辨率的,开发出来不用过多地去考虑屏幕自适应的问题;
另外是使用系统的碎片化,如今市场上各个版本号都有人用,2.3,4.0,4.2...所以碎片化问题给android开发带来了
一定的麻烦!
Android系统特性与平台结构:
系统特性:
1.应用程序框架支持组建的重用与替换(app公布时遵守了框架的约定,其它app也能够使用该模块)
2.Dalvik虚拟机:专门为移动设备优化
3.集成的浏览器:开源的WebKit引擎
4.SQLite结构化的数据存储
5.优化的图形库,多媒体支持,GSM电话技术,蓝牙等
6.採用软件叠层方式构建
Android平台结构图:
框架的简单解析:
①应用程序和应用程序框架部分使用的是Java语言
②android执行时:Android核心库集 + Dalvik虚拟机
每一个app都单独地执行在单独的Dalvik虚拟机内(每一个app对于一条Dalvik进程)
③执行流程:
④Dalvik虚拟机的特点:不须要非常快的CPU计算速度和大量的内存空间;
而执行专有的.dex文件是基于寄存器实现的,依赖于linux的核心功能
开发环境的搭建:
2个中任意选择一个就能够了!进入传送门学习创建一个自己的app
①Eclpise + ADT + SDK :
传送门
②Android Studio : 传送门
熟悉IDE开发APP的流程
相关术语的解析:
Dalvik:android特有的虚拟机,和JVM不同,Dalvik虚拟机很适合在移动终端上使用!
AVD"(android virtual machine):安卓虚拟设备,就是安卓的模拟器
ADT:(android development tools)安卓开发工具
SDK:(software development kit)软件开发工具包,就是安卓系统,平台架构等的工具集合,如adb.exe
DDMS:(dalvik debug monitor service)安卓调试工具
adb:安卓调试桥,在sdk的platform-tools文件夹下,功能非常多,等下会慢慢介绍
DX工具:将.class转换成.dex文件
AAPT:(android asset packing tool),安卓资源打包工具,
R.java文件:由aapt工具依据App中的资源文件自己主动生成,能够理解为资源字典
AndroidManifest.xml:app包名 + 组件声明 + 程序兼容的最低版本号 + 所需权限等程序的配置文件
*其它杂项
①adb相关指令:
ps:下面指令须要在命令行下输入,并且要来到sdk的文件夹下的platform-tools
当然你也能够配置PATH,就直接能够用以下的adb指令了
②安卓APP程序带包&安装流程:
③android app的软件安装过程:
小猪的Android入门之路 day 1的更多相关文章
- 小猪的Android入门之路 Day 3 - part 3
小猪的Android入门之路 Day 3 - part 3 各种UI组件的学习 Part 3 本节引言: 在前面两个部分中我们对Android中一些比較经常使用的基本组件进行了一个了解, part 1 ...
- 小猪的Android入门之路 Day 7 part 2
小猪的Android入门之路 Day 7 part 2 Android的数据存储与訪问之--SharedPreferences(保存偏好參数) ---转载请注明出处:coder-pig 本节引言: 在 ...
- 小猪的Android入门之路 Day 4 - part 1
小猪的Android入门之路 Day 4 - part 1 Android事件处理机制之--基于监听的事件处理机制 本节引言: 在開始本个章节前,我们先回想下,如今我们已经知道了android的一些相 ...
- Android学习之路——简易版微信为例(一)
这是“Android学习之路”系列文章的开篇,可能会让大家有些失望——这篇文章中我们不介绍简易版微信的实现(不过不是标题党哦,我会在后续博文中一步步实现这个应用程序的).这里主要是和广大园友们聊聊一个 ...
- Android入门教程之我见
真正的从安卓入门学习到实际工作也差不多一年时间了,也做了几个项目.在这期间经历了一开始学习Android的基本知识后仍旧无从下手,不知道如何开始开发一个app,到现在也开始学会注意Android架构的 ...
- Android入门之文件系统操作
Android入门之文件系统操作(二)文件操作相关指令 (转) (一)获取总根 File[] fileList=File.listRoots(); //返回fileList.length为1 // ...
- ❤️【Android精进之路-01】定计划,重行动来学Android吧❤️
您好,我是码农飞哥,感谢您阅读本文,欢迎一键三连哦. Android精进之路第一篇,确定安卓学习计划. 干货满满,建议收藏,需要用到时常看看.小伙伴们如有问题及需要,欢迎踊跃留言哦~ ~ ~. 前言 ...
- ANDROID学习之路 转
版权声明:本文为 stormzhang 原创文章,可以随意转载,但必须在明确位置注明出处!!! 这篇博客背后的故事 一路走来很不容易,刚好知乎上被人邀请回答如何自学android编程, 就借这个机会在 ...
- Android入门(十二)SQLite事务、升级数据库
原文链接:http://www.orlion.ga/610/ 一.事务 SQLite支持事务,看一下Android如何使用事务:比如 Book表中的数据都已经很老了,现在准备全部废弃掉替换成新数据,可 ...
随机推荐
- android 屏幕尺寸的理解
对android设备屏幕尺寸单位的理解 一.android移动设备(手机和平板)常用的关于屏幕的一些单位: 1.px:像素点,应该是一个统一的单位,与我们国际单位米(M)应该是一回事,它应该是屏幕尺寸 ...
- 创建Activity
创建Activity 创建 Activity 分为3个步骤: 1.创建一个扩展子Activity的class 2.创建一个Layout 3.在 AndroidMainfest 中 配置这个Activ ...
- Unicode编码(转)
随着计算机的发展.普及,世界各国为了适应本国的语言和字符都会自己设计一套自己的编码风格,正是由于这种乱,导致存在很多种编码方式,以至于同一个二进制数字可能会被解释成不同的符号.为了解决这种不兼容的问题 ...
- bottle-session 0.2 : Python Package Index
bottle-session 0.2 : Python Package Index bottle-session 0.2 Download bottle-session-0.2.tar.gz Redi ...
- 怎样在Ubuntu中使用条件布局
我们知道现代手机能够随着手持的方位发生改变而使得手机的方位也随着发生改变.对有些应用来说,我们也希望手机的布局也能尾随发生变化.第二种情况是当我们的应用安装到不同屏幕尺寸的平台上,我们希望我们的布局会 ...
- OpenGL教程之新手上路
Jeff Molofee(NeHe)的OpenGL教程- 新手上路 译者的话:NeHe的教程一共同拥有30多课,内容翔实,而且不断更新 .国内的站点实在应该向他们学习.令人吃惊的是,NeHe提供的例程 ...
- C#.Net操作XML方法二
上面那篇博客,在上面那面博客中是通过System.Xml命名空间中的类来实现对XML文件的创建.删除和改动等操作.接下来再介绍一种方法,在整个的操作过程中,仅仅只是换了个类而已,没什么大惊小怪的. D ...
- SQL_查找用户的表属于哪个表空间
***********************************************声明*************************************************** ...
- Effective C++_笔记_条款02_尽量以const、enum、inline替换#define
(整理自Effctive C++,转载请注明.整理者:华科小涛@http://www.cnblogs.com/hust-ghtao/) 这个条款或许改为“宁可以编译器替换预处理器”比较好,因为或许#d ...
- H2内存数据库 支持存储到文件
准备工作 1.下载JDK(本人下载的版本号为JDK1.7).环境变量设置JAVA_HOME.设置PATH(%JAVA_HOME%\bin%). 2.下载并解压:h2-2014-07-13.zip ...