题记:静下心来好好整理巩固重新理解android。

 
本文主要包括四部分:
 a).应用概况
b).四大组件
c).manifest文件以及常用功能
d).资源
 
一、应用概况
android系统是一个多用户的Linux操作系统,android应用是一个独立的apk安装程序,每一个应用都可以看作是一个独立的用户,有一个独立的用户编号,运行在独立的线程中,每个线程运行的时候都有自己独立的虚拟机实例。同时,遵循【最小特权】原则,当前运行的应用只获取自己所需最小资源。
虽然每个应用是独立的线程,但是也可以把两个应用整合到同一个线程下运行;也可以和其他应用做交互,如调用其他应用,获取数据等。
 
二、四大组件
每个组件都是相互独立的,分别负责不同部分的功能。
 a).activitys. 与用户交互的接口,负责界面展现、交互用户数据。通俗的讲,就是屏幕上面的展示的内容集合。
b).services.总是在后台运行,负责比较耗时的操作或者【远程交互】(可以看作是webservice之类的交互吗?)
c).content providers. 内容提供者,负责管理应用程序的数据集(文件、sqlite、web数据等),想到于DAO层。
d).broadcase receivers. 广播接受者,针对其他三个组件来说,它就类似于一个网关,起到一个通知的作用。
 
四大组件的调用是通过Intent来实现的,Intent实际上就相当于一个消息封装体,封装了操作类型、操作数据、操作动作等。在四大组件间起到一个关键作用。
 
三、manifest文件
所有的组件都需要在manifest中事先声明。manifest文件主要包括以下几部分声明:
a).用户权限;
b).API级别;
c).应用所需要的硬件条件,如是否有摄像头、是否有蓝牙等;
d).组件配置信息
 
声明组件的同时,可以指定它的一个运行权限,设置IntentFilter,当Intent包含特定的action指示时,会优先根据IntentFilter来查找目标组件予以执行。
 
 
声明应用需求,不同的硬件设备硬件条件不同(屏幕尺寸、密度等),需要对该类信息做声明。
a).屏幕尺寸和密度。屏幕尺寸是指屏幕大小,不同大小的屏幕布局会不一样;屏幕密度是指像素的物理密度,是一个独立的单位。简单来说是指在不同屏幕尺寸、不同分辨率下,同一个密度单位所表示的组件大小看起来要一致。
<supports-screen>
 
b).输入配置。定义允许的键盘类型等。
<uses-configuration>
 
c).硬件需求特征。如摄像头、蓝牙等等。
<uses-feature>
 
d).平台版本(API版本)。支持的平台版本。
<uses-sdk>
 
四、应用资源
资源是独立于代码层的,常用的包括图片、布局、动画效果等。不同的屏幕尺寸、密度,对应的图片以及布局会不尽相同。良好的适配从资源做起,切记千万不要把像素,宽度之类的写入代码中。
posted on 2013-01-24 14:35  西瓜瓜瓜瓜瓜  阅读(240)  评论(0编辑  收藏  举报