Android-应用程序基础及原理概要

Android-应用程序基础及原理概要

一 Android程序的基本特性

1 apk是Android应用程序的安装格式,dex是Android二进制执行文件格式

2 Android是基于liunx的多用户操作系统,每个应用程序都是使用不同的用户

3 默认情况下,一个程序一个userid,系统设定的,不需要手动去设定,这样的程序,用户有权限进行所有的操作

4 每一个进程都有自己的吸泥机实例,所以内个程序相对独立

5 默认情况下,应用程序都有自己的linux进程,系统会决定何时关闭它,当资源不够的时候,系统根据优先级自动关闭某些进程

6 可以给两个程序共享一个userid,让彼此相互通信

7 程序可以请求访问系统资源,比如通讯录,短信等,但是需要在安装程序的时候授权

二 移动终端开发的局限性

更低的处理器

有限的内存

有限的存储空间

小屏幕的低分辨率

VGA:640x480

HVGA:480x320

QVGA:320x240

WVGA:800x480

数据传输的高成本

数据传输的低速度和高延迟

不稳定的数据连接

有限的电量

三 开发移动终端需要思考的问题

性能:快和灵敏

响应能力:拒绝ANR,I/O操作(File, sql, network)和复杂的运算(比如游戏的移动运算)最好用异步模式

无缝交互:与第三方程序的交互和前后台的切换

安全:对操作权限的考虑

详细可以参考官网的文档

四 Android七大组件

1 Activity :活动

Activity是Android应用程序的一个界面,可以通过这个界面与用户交互

一个应用程序通常包含多个Activity

Activity通过布局管理器添加各种View

通过setContentView(int) 方法可以将视图呈现出来

需要在配置文件manifest.xml文件内注册

2 Service  :服务

Service运行在后台,负责处理一些用户看不到,并且会有持续时间的事情

Service不生成UI,不可见

所有用户实现的Service必须继承系统的Service类,并在配置文件manifest.xml文件内注册

3 Content Provide :多个程序间的数据共享

数据在Android当中是程序私有的

Content Provide提供了多个程序间数据交互的机制

Content Provide暴露出来一些标准的API来对数据进行操作

不需要再配置文件内注册

4 Broadcast Receiver :广播接收

Broadcast Receicver负责对外部事件做出响应

Broadcast Receicver不生成UI,不可见

所有用户实现的Broadcast Receiver必须继承系统的Broadcast Receiver类,并在配置文件manifest.xml文件内注册

应用程序可以通过Context.sendBroadcast()将自己的intent广播出去,其他程序通过自身的Broadcast Receiver获取后进行时间处理

需要在配置文件manifest.xml文件内注册

5 Intent:前面四大组件中的三个都需要Intent(除了Content Provide)对象(参数对象),用于三大组件的通信和参数传递动态传递

6 Launcher&widget:launcher是系统启动时优先加载的程序,就是主界面和应用程序列表,但是它也是activity

widget就是小插件,就是长按系统界面弹出来要安装的小插件,例如天气,电量控制

7 Notification:提醒,就是下拉栏里面的通知,例如未接来电,QQ消息等等

时间: 2024-10-16 06:11:07

Android-应用程序基础及原理概要的相关文章

Android Application Fundamentals——Android应用程序基础知识

Application Fundamentals--应用程序基础知识 Key classes--关键类 Activity Service BroadcastReceiver ContentProvider Intent In this document--在这篇文章中 Application Components--应用程序组件 Activating components: intents--激活组件:意图 Shutting down components--关闭组件 The manifest

【转】Android开发之旅:应用程序基础及组件

为了后面的例子做准备,本篇及接下来几篇将介绍Android应用程序的原理及术语,这些也是作为一个Android的开发人员必须要了解,且深刻理解的东西.本篇的主题如下: 1.应用程序基础 2.应用程序组件 2.1.活动(Activities) 2.2.服务(Services) 2.3.广播接收者(Broadcast receivers) 2.4.内容提供者(Content providers) 因为这些内容比较理论,且没有用例子来说明,看上去会比较枯燥,我就把这几篇写得算比较短,方便大家吸收. 1

Android自复制传播APP原理学习(翻译)

 Android自复制传播APP原理学习(翻译) 1 背景介绍 论文链接:http://arxiv.org/abs/1511.00444 项目地址:https://github.com/Tribler/self-compile-Android 吃完晚饭偶然看到这篇论文,当时就被吸引了,马上翻译总结了一下.如有错误欢迎斧正. 该论文的研究出发点比较高大上这里我们就不多说了,简而言之就是想通过移动设备来实现一个自组网,在发生灾难的时候,手机之间能够自动传输关键数据,减少损失.整个目标通过设计一个能够

Android系统Recovery工作原理之使用update.zip升级过程分析(一)

通过分析update.zip包在具体Android系统升级的过程,来理解Android系统中Recovery模式服务的工作原理.我们先从update.zip包的制作开始,然后是Android系统的启动模式分析,Recovery工作原理,如何从我们上层开始选择system update到重启到Recovery服务,以及在Recovery服务中具体怎样处理update.zip包升级的,我们的安装脚本updater-script怎样被解析并执行的等一系列问题.分析过程中所用的Android源码是gin

揭秘Android App的工作原理-乐居猫学Android开发

Android App的工作原理 Android系统是基于liunx内核的,但是与传统的基于liunx的pc系统不同,用户对Android app没有绝对的掌控权.pc系统中,在应用程序的系统菜单上选择"退出"或者"关闭"之类的选项会直接杀死进程.在Android系统中不是这样的.而是由系统,当系统需要释放内存来运行新进程或者保证某些后台进程和前端进程顺利执行的时候才会释放相应应用程序的资源,这个释放过程有一个重要性的层次,接下来就听乐居猫做一下说明: androi

ANDROID内存优化以及原理(大汇总——上)

写在最前: 本文的思路主要借鉴了2014年AnDevCon开发者大会的一个演讲PPT,加上把网上搜集的各种内存零散知识点进行汇总.挑选.简化后整理而成. 所以我将本文定义为一个工具类的文章,如果你在ANDROID开发中遇到关于内存问题,或者马上要参加面试,或者就是单纯的学习或复习一下内存相关知识,都欢迎阅读.(本文最后我会尽量列出所参考的文章). 内存简介: RAM(random access memory)随机存取存储器.说白了就是内存. 一般Java在内存分配时会涉及到以下区域: 寄存器(R

Android 长截屏原理

https://android-notes.github.io/2016/12/03/android%E9%95%BF%E6%88%AA%E5%B1%8F%E5%8E%9F%E7%90%86/   android长截屏原理 小米系统自带的长截屏应该很多人都用过,效果不错.当长截屏时listview就会自动滚动,当按下停止截屏时,就会得到一张完整的截屏. 该篇就介绍一下长截屏的原理 上篇中介绍了android屏幕共享实现方式,该篇的原理和上一篇基本一致. 获取view影像 当我们想得到一个view

Android系统Recovery工作原理之使用update.zip升级过程分析(六)---Recovery服务流程细节【转】

本文转载自:http://blog.csdn.net/mu0206mu/article/details/7465439  Android系统Recovery工作原理之使用update.zip升级过程分析(六)---Recovery服务流程细节            Recovery服务毫无疑问是Recovery启动模式中最核心的部分.它完成Recovery模式所有的工作.Recovery程序对应的源码文件位于:/gingerbread0919/bootable/recovery/recovery

[转]深入理解 Android消息处理系统的原理

原文地址:深入理解 Android消息处理系统的原理作者:hoarn Android应用程序也是消息驱动的,按道理来说也应该提供消息循环机制.实际上谷歌参考了Windows的消息循环机制,也在Android系统中实现了消息循环机制. Android通过Looper.Handler来实现消息循环机制,Android消息循环是针对线程的(每个线程都可以有自己的消息队列和消息循环). 本文深入介绍一下Android消息处理系统原理. Android系统中Looper负责管理线程的消息队列和消息循环,具