博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android笔记(五十七)Android总结:基础篇
阅读量:5056 次
发布时间:2019-06-12

本文共 2221 字,大约阅读时间需要 7 分钟。

什么是安卓

      Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。目前发行版本是6.0

安卓平台的优势

一、开放性 

     在优势方面,Android平台首先就是其开发性,开发的平台允许任何移动终端厂商加入到Android联盟中来。显著的开放性可以使其拥有更多的开发者,随着用户和应用的日益丰富,一个崭新的平台也将很快走向成熟。  
二、挣脱运营商的束缚 
  在过去很长的一段时间,特别是在欧美地区,手机应用往往受到运营商制约,使用什么功能接入什么网络,几乎都受到运营商的控制。自从iPhone上市, 用户可以更加方便地连接网络,运营商的制约减少。随着EDGE、HSDPA这些2G至3G移动网络的逐步过渡和提升,手机随意接入网络已不是运营商口中的 笑谈。
三、丰富的硬件选择 
  这一点还是与Android平台的开放性相关,由于Android的开放性,众多的厂商会推出千奇百怪,功能特色各具的多种产品。功能上的差异和特 色,却不会影响到数据同步、甚至软件的兼容。好比你从诺基亚Symbian风格手机一下改用苹果iPhone,同时还可将Symbian中优秀的软件带到 iPhone上使用、联系人等资料更是可以方便地转移。 
四、不受任何限制的开发商 
  Android平台提供给第三方开发商一个十分宽泛、自由的环境。因此不会受到各种条条框框的阻扰,可想而知,会有多少新颖别致的软件会诞生。但也有其两面性,血腥、暴力、情色方面的程序和游戏如可控制正是留给Android难题之一。 
五、无缝结合的Google应用 
  如今叱诧互联网的Google已经走过10年度历史。从搜索巨人到全面的互联网渗透,Google服务如地图、邮件、搜索等已经成为连接用户和互联网的重要纽带,而Android平台手机将无缝结合这些优秀的Google服务。

安卓的架构

      Android大致可以分为四层架构,五块区域:

1.Linux内核层

      Android系统是基于Linux2.6内核,为各种硬件提供了底层的驱动。

2.系统运行库层

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

      同样在这一层还有Android运行库,它主要提供一些核心库,能够允许开发者使用Java语言来编写Android应用,另外Android运行库中还包含了Dalvik虚拟机,它使得每个Android应用都能运行在独立的进程当中,并且拥有一个自己的Dalvik虚拟机实例,相较于Java虚拟机来说,Dalvik针对手机内存、CPU等做了优化处理,是专门为移动设备定制的。

3.应用框架层

      这一层主要提供了构建应用时可能用到的各种API

4.应用层

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

Android工程目录

         项目建成之后,会生成一下目录和文件:

src存放项目的Java源代码。

gen:由系统自动生成,主要有一个R.java文件,我们在项目中添加的资源会在这个文件中生成一个ID。

assets存放一些随程序打包的文件,在程序运行时可以动态读取这些文件的内容,它里面的资源不会在R.java中生成ID。

bin:编译时候自动产生的文件。

libs第三方jar包

res

         drawable-hdpi、drawable-ldpi、drawable-mdpi、drawable-xhdpi、drawable-xxhdpi:

         (1)drawable-hdpi里面存放高分辨率的图片,如WVGA (480x800),FWVGA (480x854)

         (2)drawable-mdpi里面存放中等分辨率的图片,如HVGA (320x480)

         (3)drawable-ldpi里面存放低分辨率的图片,如QVGA (240x320)

         ldpi:240x320

         mdpi:320x480

         hdpi:480x800、480x854

         xhdpi:至少960*720

         xxhdpi:1280×720

         系统会根据机器的分辨率来分别到这几个文件夹里面去找对应的图片

         layout存放布局文件

         menu用于定义应用程序菜单的内容

         values:存放字符串内容

                   dimens.xml存放尺寸内容,可以通过R.dimens访问相应资源

                   strings.xml存放一些文本字符串,可以通过R.string访问应用的资源

                   style.xml定义UI元素的格式和外观,可以通过R.style类访问相应资源

AndroidManifest.xml整个项目的配置文件,程序中的四大组件以及权限、兼容版本、目标版本等内容都需要在这里声明

project.properties指定编译程序时使用的SDK版本

Android编译过程

编写.java文件→编写.java文件生成.class文件→将.class文件转化成DavlikVM支持的.dex文件→将.dex打包成未签名的.apk文件→对未签名的.apk文件进行签名

Android系统启动过程:

      参照博文:

Android应用启动过程

         参照博文:

转载于:https://www.cnblogs.com/xs104/p/4960677.html

你可能感兴趣的文章
几款Http小服务器
查看>>
iOS 数组排序
查看>>
第三节
查看>>
PHP结合MYSQL记录结果分页呈现(比较实用)
查看>>
Mysql支持的数据类型
查看>>
openSuse beginner
查看>>
Codeforces 620E(线段树+dfs序+状态压缩)
查看>>
Windows7中双击py文件运行程序
查看>>
Market entry case
查看>>
bzoj1230 开关灯 线段树
查看>>
LinearLayout
查看>>
学习python:day1
查看>>
css3动画属性
查看>>
第九次团队作业-测试报告与用户使用手册
查看>>
Equal Sides Of An Array
查看>>
CentOS笔记-用户和用户组管理
查看>>
Mongodb 基本命令
查看>>
Qt中QTableView中加入Check列实现
查看>>
“富豪相亲大会”究竟迷失了什么?
查看>>
控制文件的备份与恢复
查看>>