zoukankan      html  css  js  c++  java
  • Android应用概况

    题记:静下心来好好整理巩固重新理解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>
     
    四、应用资源
    资源是独立于代码层的,常用的包括图片、布局、动画效果等。不同的屏幕尺寸、密度,对应的图片以及布局会不尽相同。良好的适配从资源做起,切记千万不要把像素,宽度之类的写入代码中。
    看不清未来,那就看脚下。
  • 相关阅读:
    (CodeForces 548B 暴力) Mike and Fun
    (BestCoder Round #64 (div.2))Array
    (2015 杭电校赛 )玩骰子
    js基础
    frame框架标签
    html
    div嵌套div标签 里层的div透明属性
    div嵌套div标签
    盒子标签div嵌套
    divspan盒子模型
  • 原文地址:https://www.cnblogs.com/caiwan/p/2874931.html
Copyright © 2011-2022 走看看