安卓是一款现在在移动端十分流行的系统,本人出于好奇心,希望彻底了解安卓的开发技。

首先了解一下安卓的系统构架,安卓大致分为四层架构,五块区域:

1.Linux内核层

Andriod是基于Linux2.6内核的,这一层为Andriod设备的各个硬件提供了底层的驱动,如显示驱动,音频驱动,照相机驱动,蓝牙驱动,wifi驱动,电源管理等。

2.系统运行库层

这一层通过一些C/C++库来为Andriod系统提供主要的特性支持。如SQLite库提供数据库支持,OpenGl|ES库提供了3D绘图支持,Webkit库提供了浏览器内核支持。

同样,这一层还有Andriod运行时库,它主要提供了一些核心库(链表,队列之类的),能够允许开发者使用Java语言来编写Andriod应用。另外,Andriod运行时库还包含了Dalvik虚拟机,它使得每一个Andriod应用都能运行在独立的进程当中,并且拥有一个自己的Dalvik虚拟机实例。相比教育java虚拟机,Dalvik是专门为移动设备定制的,它针对手机内存,CPU性能有限等情况做了优化处理。

3.应用框架层

这一层主要提供了构建应用程序时可能用到的各种API(各种已经封装好的服务类,个人观点),Andriod自带的一些核心应用就是使用这些API完成的。

4.应用层

所有安装在手机上的应用程序就是属于这一层。

在进行Andriod应用程序开发的时候,需要了解安卓应用程序由那些组件组成。一个Andriod应用程序有四大组件:

Activity(活动):凡是你能看得到的东西,都是放在活动中的,相当于界面的作用。

Service(服务):无法看到,但它会在后台一直默默运行,即使用户退出了应用,仍有可能继续运行。

Broadcast Receiver(广播接收器):用于接收发送给该应用的消息,也可以用于发送消息。

Content Provider(内容提供器):为应用程序之间共享数据提供了可能。

开始搭建开发环境:

通常用于安卓开发的工具有Eclipse+ADT、Andriod Studio、Intell Idea。本人采用的是Eclipse+ADT。

在Eclipse中安装ADT插件,ADT插件是Google提供的一个用于开发Andriod应用的插件,其中包含了一个模拟器(用于模拟安卓手机)、SDK Manager(用于下载管理Andriod SDK)。

将ADT安装好之后,下载SDK。然后就可以开发Andriod应用了。

Andriod环境搭建的更多相关文章

  1. RobotFramwork + Appium+ Andriod 环境搭建

    RF+Appium+Android环境搭建教程 - 1.RF安装 一.适用操作系统 Win7 旗舰版Sp1 32位操作系统 RF环境搭建,请参考文档<RobotFramwork安装指南> ...

  2. React Native初试:Windows下Andriod环境搭建

    最近想写个App,又觉得Native App 太无趣了Web App又没那么成熟然后发现了Facebook在9月发布的React Native比较新奇,所以决定捣鼓看看: React Native为F ...

  3. appium+Andriod环境搭建遇到问题

    报错:Caused by: org.openqa.selenium.WebDriverException: An unknown server-side error occurred while pr ...

  4. 第一章 andriod studio 安装与环境搭建

    原文 http://blog.csdn.net/zhanghefu/article/details/9286123 第一章   andriod studio 安装与环境搭建 一.Android Stu ...

  5. Andriod 自动化环境搭建

    一.安装JDK,配置JDK环境    百度搜索下载就行,这里分享一个下载链接:https://pan.baidu.com/s/1snuTOAx 密码:9z8r. 下载好后点击进行安装.安装好后进行环境 ...

  6. 【转】Windows环境下Android NDK环境搭建

    原文网址:http://www.metsky.com/archives/525.html 前面介绍Windows下Android 开发环境配置,主要是面向JAVA开发环境,对只做APK上层应用开发人员 ...

  7. Windows环境下Android NDK环境搭建

    前面介绍Windows下Android 开发环境配置,主要是面向JAVA开发环境,对只做APK上层应用开发人员来讲,基本够用了,由于Linux系统的权限限制和Android封装架构限制,很多涉及底层设 ...

  8. android studio 安装与环境搭建

    转摘自:http://blog.csdn.net/zhanghefu/article/details/9286123 第一章   andriod studio 安装与环境搭建 一.Android St ...

  9. RF+Appium框架自动化测试系列一之(Mac下Appium环境搭建)万事开头难

    消失了3个月,有一段时间没来园子更新博客了,各位看官见谅哈哈,消失是因为刚换了工作环境没外网,好多笔记没能及时的记录分享,以后有时间慢慢补上吧,这段时间主要接触了移动端app的自动化测试,公司为了快速 ...

随机推荐

  1. 《linux内核设计与实现》读书笔记第五章——系统调用

    第5章 系统调用 操作系统提供接口主要是为了保证系统稳定可靠,避免应用程序恣意妄行. 5.1 与内核通信 系统调用在用户空间进程和硬件设备之间添加了一个中间层. 该层主要作用有三个: 为用户空间提供了 ...

  2. 【转】JSP中的9大隐藏对象

    隐藏对象用在jsp表达式和脚本中,不能直接用在jsp声明中,因为这些隐藏对象是容器在jspservice方法中定义的,在这个方法中定义的变量不能在jsp声明中使用.可以通过参数方法将隐藏对象传递到js ...

  3. Mars 是微信官方的终端基础组件,是一个使用 C++ 编写的业平台性无关的基础组件

    http://www.oschina.net/p/wechat-mars http://www.oschina.net/news/80453/wewechat-open-source-plan

  4. 动态页面的登陆——装饰器应用<代码>

    log_status = False f = open("info", "r", encoding="utf8") source = f.r ...

  5. ArcGIS API for Silverlight 加载google地图

    原文:ArcGIS API for Silverlight 加载google地图 using System; using System.Net; using System.Windows; using ...

  6. SQLAlchemy 一对多

    下述範例描述了電影同導演的多對一關係.範例中說明了從用戶定義的Python類建立數據表的方法,雙方關係例項的建立方法,以及最終查詢數據的方法:包括延遲載入和預先載入兩種自動生成的SQL查詢. 結構定義 ...

  7. CENTOS安装vnc

    先直接进入命令模式,如果是服务器则可以使用putty连接进入命令行模式. 现在知道的centos下的vnc是:tigervnc,由于是服务端所以我们只安装tigervnc-server即可: yum ...

  8. JS-004-判断元素显示状态

    在日常的 web 编程或 UI自动化脚本编写过程中,经常会遇到判断页面元素的显示状态,以对应的执行相应的操作.此文主要以 js 判断页面元素的存在状态为例,简单叙述一下 js 是如何判断元素的显示状态 ...

  9. 最简单的PC机串口通信程序

    把串口当作文件IO来操作,简单易行!    已验证,gcc和tcc都可以编译成功,并使用.  需注意,先有串口,改好红色字体串口号再编译运行! #include <stdio.h>  #i ...

  10. Apple Demo

    https://developer.apple.com/library/ios/navigation/ http://developer.apple.com/library/ios/samplecod ...