小猪的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表中的数据都已经很老了,现在准备全部废弃掉替换成新数据,可 ...
随机推荐
- Swift - 使用闭包筛选过滤数据元素
通常筛选一个数组,通常会在代码的其它地方创建一个函数,然后为数组的每个元素调用它.但这样做会使代码分散在许多地方,不便于阅读.使用闭包就可以将相关代码片断放在一起,使结构逻辑更加清晰. 比如,筛选一个 ...
- Android UI 之WaterFall瀑布流效果
所谓瀑布流效果,简单说就是宽度相同但是高度不同的一大堆图片,分成几列,然后像水流一样向下排列,并随着用户的上下滑动自动加载更多的图片内容. 语言描述比较抽象,具体效果看下面的截图: ...
- <Win32_12>程序员求爱的创意程序——升级版^_^
前段时间,我编写了一个创意程序,并用于向自己目前的女朋友表白,结果效果还不错,得到了她的芳心. 于是我将自己的创意程序共享到csdn资源上,大多数网友认为创意不错,就是简单了些——呵呵,其实我个人也这 ...
- Atitit.dwr3 不能显示错误具体信息的解决方式,控件显示错误具体信息的解决方式 java .net php
Atitit.dwr3 不能显示错误具体信息的解决方式,控件显示错误具体信息的解决方式 java .net php 1. Keyword/subtitle 1 2. 使用dwr3的异常convert处 ...
- 用内存流 文件流 资源生成客户端(Delphi开源)
正文:很多木马生成器就是用的内存流和文件流生成客户端的,废话不多说了,代码如下: unit Main; interface usesWindows, Messages, SysUtils, Varia ...
- Unknown database 'DB_NAME'
Cannot create PoolableConnectionFactory (Unknown database 'DB_NAME'): com.mysql.jdbc.exceptions.jdbc ...
- MyEclipse-6.5注冊码生成器源代码
打开MyEclipse新建一个Javaproject,然后新建类,粘贴例如以下代码,就可以生成MyEclipse的注冊码 import java.io.BufferedReader; import j ...
- python实现刷博器(适用于新浪、搜狐)
本文总结于智普教育: 做点小东西,有成就感,才会有动力学下去哈! 先上代码: 1: import webbrowser as web 2: import time 3: import os 4: co ...
- 使用BigDecimal来进行精确计算
在一些以金融等行业中的计算是需要十分精确的,即使我们使用像double这样的类型,由于浮点数的原因,会使得数据计算变得不精确,例如下面的例子: double a = 0.1; double b = 0 ...
- 腾讯公司数据分析岗位的hadoop工作 线性回归 k-means算法 朴素贝叶斯算法 SpringMVC组件 某公司的广告投放系统 KNN算法 社交网络模型 SpringMVC注解方式
腾讯公司数据分析岗位的hadoop工作 线性回归 k-means算法 朴素贝叶斯算法 SpringMVC组件 某公司的广告投放系统 KNN算法 社交网络模型 SpringMVC注解方式 某移动公司实时 ...