Q:简述Android平台体系结构的层次划分,并说明各个层次的作用。

A:Android是基于Linux内核的软件平台和操作系统,采用了软件堆栈的架构,共分为4层:第一层Linux内核,提供有操作系统内核管理的底层基础功能;第二层中间层,由函数库和Android运行时构成;第三层应用程序框架层,提供了Android平台的管理功能和组件重用机制;第四层应用程序层,提供了一系列核心应用程序。

Q:在AndroidSDK中,Android模拟器,Android调试桥和DBMS 是Android应用程序开发过程中经常使用的工具,简述这三个工具的用途。

A:Android模拟器

支持多种屏幕分辨率和不同的外观,支持加载SD卡映像文件,更改模拟网络状态,延迟

和速度,模拟电话呼叫和接收短信等;不支持接听真实电话,USB连接,摄像头捕获,设

备耳机,电池电量和AC电源检测,SD卡插拔检查和使用蓝牙设备

Android调试桥(Android Debug Bridge,ADB)

用于连接Android设备或模拟器的工具,负责将应用程序安装到模拟器和设备中,或从

模拟器或设备中传输文件

DDMS

Android系统中内置的调试工具,监视Android系统中进程、堆栈信息,查看logcat日

志,实现端口转发服务和屏幕截图功能,模拟器电话呼叫和SMS短信,以及浏览Android

模拟器文件系统等.

Q:简述Activity声明周期的4种状态,以及状态之间的变换关系。

A:Activity生命周期指Activity从启动到销毁的过程Activity启动后处于活动状态,此时Activity在用户界面中处于最上层,完全能被用

户看到,能够与用户进行交互。如果用户启动了新的Activity,部分遮挡了当前的

Activity,则当前的Activity转换为暂停状态,该Activity不再处于用户界面的最上

层,且不能够与用户进行交互。如果用户启动了新的Activity完全遮挡当前的Activity,

则当前的Activity转换为停止状态,停止状态的Activity 将优先被终止。活动状态的

Activity被用户关闭后,或暂停状态或停止状态的Activity被系统终止后Activity便

进入了非活动状态。

Q:简述Android系统三大菜单的特点以及使用方式

A:菜单是应用程序中非常重要的组成部分,在不占用界面空间的前提下,为应用程序提供了统一的功能和设置界面,为程序开发人员提供了易于使用的编程。

Android系统支持三种菜单

选项菜单(Option Menu):按设备上Menu 键显示的菜单。

子菜单(Submenu):其它两种菜单都可以加入子菜单,但子菜单不能再嵌套子菜单

快捷菜单(Context Menu):长按特定界面view显示,跟具体的 view 绑定在一起,类

似PC上鼠标右键菜单。

Q:简述Intent的定义和用途.

A:Intent是一个动作的完整描述,包含了动作的产生组件、接收组件和传递的数据信息

Intent也可称为一个在不同组件之间传递的消息,这个消息在到达接收组件后,接收组

件会执行相关的动作,Intent为Activity、Service和BroadcastReceiver等组件提供

交互能力。Intent的用途:启动Activity和Service,在Android系统上发布广播消息.

Q:简述Service的基本原理和用途。

A:Service是Android系统提供的Service(服务)组件,不直接与用户进行交互,能够长期在后台运行,在实际应用中,有很多应用需要使用Service,经常提到的例子就是MP3播放器。Service被系统终止,在系统资源恢复后Service 也将自动恢复运行状态,因此可以认为Service是在系统中永久运行的组件。Service除了可以实现后台服务功能,还可以用于进程间通信(Inter Process Communication,IPC),解决不同Android应用程序进程之间的调用和通讯问题。Q:简述R.java和AndroidManifest.xml文件的用途

A:AndroidManifest.xml是XML格式的Android程序声明文件,包含了Android系统运行Android程序前所必须掌握的重要信息,这些信息包括应用程序名称、图标、包名称、

模块组成、授权和SDK最低版本等R.java文件是ADT自动生成的文件包含对drawable、layout和values目录内的资源的引用指针,Android程序能够直接通过R类引用目录中的资源。

Q:简述Android系统的4种基本组件Activity,Service,BroadcastReceiver和ContentProviser的用途。A: Activity是Android程序的呈现层,显示可视化的用户界面,并接收与用户交互所产生界面事件。Android应用程序可以包含一个或多个Activity,一般需要指定一个程序启动时显示的Activity。几乎所有的Activity都是和用户进行交互的,Activity主要关注视图窗体创建,对用户表现为全屏窗体。从视觉效果来看,一个Activity占据当前的窗口,响应所有窗口事件,具备有控件,菜单等界面元素。从内部逻辑来看,Activity需要为了保持各个界面状态,需要做很多持久化的事情,还需要妥善管理生命周期,和一些转跳逻辑。

Service一般用于没有用户界面,但需要长时间在后台运行的应用,可公开Service的程序接口,供其他进程调用。

Service是Android实现程序后台运行的解决方案,用于执行不需要和用户交互且要求长期运行的任务。不能运行在一个独立的进程当中,而依赖创建服务时所在的应用程序进程。只能在后台运行,可以和其他组件进行交互。Broadcast Receiver用来接收广播消息的组件,不包含任何用户界面。可以启动Activity或者Notification通知用户接收到重要信息。广播接收器是一个专注于接收广播通知信息,并做出对应处理的组件。

ContentProvider是Android系统提供的一种标准的共享数据的机制,其他程序通过ContentProvider访问程序的私有数据.Android系统内部提供一些内置的ContentProvider,能够为应用程序提供重要的数据信息,同一份数据,手机内没有更多的空间存储两次以上。针对这种情况,Android提供了Content Provider,它是不同应用程序间共享数据的标准API,统一了数据访问方式。包括添加、删除、修改和查询等操作。

Q:简述6种界面布局的特点

A:线性布局(LinearLayout)是一种重要的界面布局,在线性布局中,所有的子元素都按照垂直或水平的顺序在界面上排列,如果垂直排列,则每行仅包含一个界面元素,如果水平排列,则每列仅包含一个界面元素;

框架布局(FrameLayout)是最简单的界面布局,是用来存放一个元素的空白空间,且子元素的位置是不能够指定的,只能够放置在空白空间的左上角,如果有多个子元素,后放置的子元素将遮挡先放置的子元素;

表格布局(TableLayout)是一种常用的界面布局,通过指定行和列将界面元素添加

到表格中,网格的边界对用户是不可见的。表格布局支持嵌套,可以将表格布局放

置在表格布局的表格中可以在表格布局中添加其他界面布局,例如线性布局、相对

布局等;

相对布局(RelativeLayout)是一种非常灵活的布局方式,能够通过指定界面元素

与其他元素的相对位置关系,确定界面中所有元素的布局位置,能够最大程度保证

在各种屏幕尺寸的手机上正确显示界面布局

绝对布局(AbsoluteLayout)能通过指定界面元素的坐标位置,来确定用户界面的

整体布局绝对布局是一种不推荐使用的界面布局,因为通过X轴和Y轴确定界面元

素位置后,Android系统不能够根据不同屏幕对界面元素的位置进行调整,降低了

界面布局对不同类型和尺寸屏幕的适应能力

网格布局(GridLayout)将用户界面划分为网格,界面元素可随意摆放在网格中,

网格布局比表格布局(TableLayout)在界面设计上更加灵活,在网格布局中界面元

素可以占用多个网格,而在表格布局只能将界面元素指定在一个表格行(TableRow)

中,不能跨越多个表格行。

android平台体系结构的层次划分,Android复习相关推荐

  1. 大数据平台架构的层次划分

    1. 数据源层:包括传统的数据库,数据仓库,分布式数据库,NOSQL数据库,半结构化数据,无结构化数据,爬虫,日志系统等,是大数据平台的数据产生机构. 2. 数据整理层:包括数据清洗.数据转换.数据加 ...

  2. 基于Android平台的记事本软件(Android Studio项目+报告+app文件)

    移动应用开发技术 期末考核报告 题   目:        基于Android平台的记事本软件             学生姓名     学生学号                           ...

  3. android平台与ios下载地址,Android与iOS用户下载时间分布

    根据91手机娱乐数据统计,我们特别将Android系统用户的下载行为与IOS系统用户的下载行为进行了对比分析,按一天24小时来看,我们发现Android与iOS系统用户下载的高峰点与低峰点几乎雷同,不 ...

  4. 基于Android平台的LED照明,基于Android平台的LED照明Wifi控制

    摘要: 传统的照明控制系统需要进行复杂的布线,并且结构体系庞大,适用于室外照明.本文提出的Wifi控制方式,其组织架构简洁,适用于室内照明.本文主要研究了在Android系统平台上开发一款LED灯光控 ...

  5. 基于Android平台im软件开发,基于Android平台IM软件多媒体数据传输保护

    Protection for Instant Messanger Media data Transmission Based-on Android WU Weina 1 吴维娜(1992- ),女,北 ...

  6. 基于android平台的旅游系统,基于Android平台的智能导游系统设计方案

    图3 智能导游系统应用功能模块设计 3. 1 游客信息管理模块 游客信息管理模块负责对团队游客的信息进行管理,支持数据存储.查询.修改等功能,以随时记录游客信息,方便对旅游团队进行管理. Androi ...

  7. android平台下拼图游戏设计,android 拼图游戏 源码下载

    [实例简介] [实例截图] [核心代码] package com.game.pintu; import java.util.ArrayList; import java.util.List; impo ...

  8. Android平台开发指导(Android Porting Guide)

    本文为Android平台开发人员和Android设备制造商提供了底层开发指导.如果你对Android的上层应用开发很感兴趣,请访问Android Developers Site. 关于这份指导书 这份 ...

  9. android加密技术框架,Android平台下文件透明加密技术的研究与实现

    摘要: 移动互联网的迅速发展使得手机应用不断丰富,智能手机的快速兴起为现代人们的生活带来了全新的体验.然而,人们在尽情享受这些全新体验的同时也在面临着日益突出的手机数据安全问题.目前,市场上已经出现了 ...

最新文章

  1. 我看过的编译原理方面的好文章
  2. 独家 | PHM数据竞赛首个中国夺冠团队经验分享(常用模型赛题详解PPT视频)
  3. 显示部分数据标签_长春市农贸市场监测数据显示:粮油和水果价格平稳,部分副食品价格小幅波动...
  4. 计算机与音乐课题,泉州实验小学《小学音乐学科教学与信息技术整合的研究》结题报告...
  5. 电脑组装DIY ≈☆ 菜鸟入门步步学 ☆≈(图文)
  6. DB2 pureScale在线备份恢复实例1
  7. 多任务Python爬虫
  8. TikZ学习笔记(三)图形的标记与交点
  9. 如何将同一云服务下的虚拟机从经典部署模型迁移到 Azure Resource Manager
  10. python杀线程_python-有什么办法可以杀死线程吗?
  11. 转:UIViewController中各方法调用顺序及功能详解
  12. html如何设置自动点击事件,使用javascript给html元素添加click事件
  13. 全球高效能人士给青年的50个忠告(上) --转载
  14. docker创建容器共享目录
  15. Linux 系统进程、线程之间的爱恨纠葛
  16. CocosCreator之KUOKUO总结微信排行榜子域工程深坑
  17. 是谁在我的心里打了个结(十七)袋子
  18. iOS 视图实现圆角效果的三种方法及比较
  19. Docker容器时间与宿主机不一致?3个解决方案
  20. 线程状态:分离状态(detached)与可结合状态(joinable)

热门文章

  1. 每周一荐:iOS应用iThoughts
  2. html点击按钮弹出悬浮窗_JS设置弹出小窗口。
  3. DCDC电源电流定义
  4. WHMCS对接星外开通挂机宝、VPS教程(附带插件下载)
  5. 海南之行--绝望之行
  6. 利用 CSS 的 clip-path 属性快速画三角形
  7. 解决win10双击.jar包无法运行
  8. IBM X3650 M3 管理口IP如何更改
  9. 公安部规定婚车用“百年好合”遮牌扣12分-百年好合-婚车-扣分
  10. [虚幻4] 手雷抛物线预测(c++代码实现)