Android嵌入式操作系统开发
- 格式:doc
- 大小:69.00 KB
- 文档页数:8
浅谈Android--嵌入式操作系统Android(读音:[ˈændrɔid],中文俗称安卓)是一个以Linux为基础的半开源操作系统,主要用于移动设备,由Google成立的Open Handset Alliance (OHA,开放手持设备联盟)持续领导与开发中。
--题记.维基百科说起嵌入式系统,曾经在保罗大叔的著作《黑客与画家》里看到多次,然后不明所以,就去查了嵌入式系统。
如果说嵌入式系统给我的第一印象是硬件,那么是我还不知道嵌入式在我生活里已经出现了很多年了。
大到冰箱,自动存款机(ATM),小到电子手表,遥控器。
在维基百科解答后,我对嵌入式直观的理解,是一种特定的植入硬件并极具针对性的计算机系统。
后来慢慢了解嵌入式的软件方面,就知道了嵌入式操作系统,而其中的佼佼者,就是如今已经超越ios,占据半壁江山的Android。
之所以会说Android,原因有二:一,因为Android如今炙手可热,在新一季度的日本手机软件营销额上,以Java等语言为Android系统开发的Apps,疯狂揽金,李开复断言在两年内,中国内地手机游戏软件市场,将会百花齐放;二,我虽并非研究Java也非致力于Android系统,但是Android系统的内核,却是我所熟悉的Linux内核。
而我将自己的开发平台转移到Linux系统,并以Python,Perl以及Lisp语言作为未来的生存工具,所以,就让我们谈一谈Android。
题记中套用维基百科对于Android的介绍,主要的目的,就是为了澄清一件事实“认知”——Android并没有真正的中文名。
Google并没有为Android命名,只有为其版本取名,且翻译成中文:4.2.x Jelly Bean 果冻豆,4.0.x Ice Cream Sandwich 冰激凌三明治,3.x.x HoneyComb 蜂巢,2.3.x Ginger Bread 姜饼。
而“安卓”一词,也是我们自己对其中文简称,就像Facebook并没有为其在中国大陆市场取名一样。
主流嵌入式操作系统介绍嵌入式操作系统,又称为嵌入式操作平台,是针对特定应用领域和硬件平台所设计和优化的操作系统。
它主要用于控制、管理和运行嵌入式设备,如智能手机、家用电器、汽车控制系统等。
本文将介绍几种主流的嵌入式操作系统。
一、嵌入式Linux嵌入式Linux是指将Linux操作系统适配嵌入式设备的一种形式,它保留了Linux操作系统的优点,如开源、稳定、成熟的生态系统等。
嵌入式Linux具有丰富的设备驱动、多任务管理能力和良好的可扩展性,可以在各种硬件平台上运行。
在嵌入式Linux中,通常使用的是裁剪版的Linux内核,该内核只保留了必要的功能和驱动程序,以节省存储空间和资源,并提高嵌入式设备的运行效率。
嵌入式Linux还提供了适用于嵌入式设备的工具链和库文件,方便开发人员进行应用程序的开发和调试。
二、嵌入式Windows嵌入式Windows是指将微软的Windows操作系统适配嵌入式设备的一种形式。
与桌面版的Windows相比,嵌入式Windows通常经过了裁剪和优化,以适应嵌入式设备的资源限制和实时性要求。
嵌入式Windows具有直观易用的界面和丰富的应用生态系统,开发人员可以使用熟悉的开发工具和编程语言进行应用程序的开发。
嵌入式Windows还提供了强大的多媒体处理能力和网络连接功能,适用于需要图形界面和复杂功能的嵌入式设备。
三、嵌入式Android嵌入式Android是指将谷歌的Android操作系统适配嵌入式设备的一种形式。
嵌入式Android基于Linux内核,具有开源性和稳定性的特点,同时融合了丰富的应用生态系统和用户界面设计。
嵌入式Android支持多任务管理、开放式应用程序架构和丰富的应用程序开发接口,方便开发人员进行自定义应用的开发。
嵌入式Android还支持网络连接和云服务,适用于需要与互联网进行交互的嵌入式设备。
四、实时操作系统实时操作系统(RTOS)是一种专门设计用于实时应用的嵌入式操作系统。
嵌入式系统开发嵌入式系统是指内嵌在其他设备或系统中,实现特定功能的计算机系统。
它通常集成了硬件和软件,通过专门的开发平台进行开发和编程。
嵌入式系统广泛应用于各个领域,如汽车、家电、医疗设备、通信设备等。
本文将围绕嵌入式系统开发展开,介绍嵌入式系统的基本原理、开发流程以及相关技术。
一、嵌入式系统的基本原理嵌入式系统的基本原理是将处理器、存储器、输入输出设备等硬件组件集成在一起,通过操作系统和应用程序实现特定的功能需求。
常见的嵌入式系统采用单片机或微处理器作为核心处理器,具有较小的体积和功耗。
嵌入式系统的设计需要考虑硬件平台的选择、外设的接口设计、系统调度和任务管理等方面。
同时,软件开发也是嵌入式系统的重要组成部分,包括操作系统的移植、设备驱动程序的编写以及应用程序的开发。
二、嵌入式系统开发流程嵌入式系统的开发流程包括需求分析、硬件设计、软件开发、集成测试和发布等环节。
下面将逐一介绍各个环节的内容。
1. 需求分析在嵌入式系统开发之前,需要明确系统的功能需求和性能要求。
通过与用户沟通和需求分析,确定硬件平台、输入输出设备和外部接口等方面的需求。
2. 硬件设计硬件设计是指基于嵌入式系统的功能需求,选择合适的处理器、存储器、外设等硬件组件,并进行相应的电路设计和PCB布局。
硬件设计需要考虑系统的稳定性、扩展性和功耗等因素。
3. 软件开发软件开发是嵌入式系统开发的关键环节。
首先,根据硬件平台的选择,进行操作系统的移植和配置。
然后,编写设备驱动程序,实现对外设的控制和数据交换。
最后,根据系统需求,开发应用程序,实现特定功能。
4. 集成测试集成测试是将硬件和软件进行整合,测试系统的功能和性能是否满足需求。
通过功能测试、性能测试和稳定性测试,发现并修复系统中的缺陷和问题。
5. 发布在集成测试通过后,将嵌入式系统制作成最终产品,进行出厂测试和质量控制。
然后,将产品发布给客户或上线市场。
三、嵌入式系统开发的相关技术嵌入式系统开发涉及到多个技术领域,下面将介绍几个重要的技术。
嵌入式系统中的操作系统选择在现代的嵌入式系统设计中,选择一个合适的操作系统对于系统的稳定性、性能和适应性都起着至关重要的作用。
基于不同的应用需求,嵌入式系统开发人员可以选择不同的操作系统,在设计阶段就将系统的功能需求和性能需求分别考虑进去,以便完成一个高质量和可靠可控的嵌入式系统。
一般来说,嵌入式系统可以分为实时嵌入式系统和非实时嵌入式系统两类。
实时嵌入式系统对于响应时间、延迟时间和中断处理速度等都有高要求,因此需要选择一种采用实时调度算法的操作系统来满足需求。
而非实时嵌入式系统往往需要处理网络通信、数据管理和多媒体等,需要选择一种非实时操作系统来满足需求。
以下将介绍常用的嵌入式操作系统及其特点。
1. 常见的实时操作系统(1)FreeRTOSFreeRTOS是一种基于内核抢占的实时操作系统,通常用于小型嵌入式系统。
它提供了小巧、可移植、高效的内核,并包含了许多功能实现的细节,使得它成为程序员和工程师的首选。
它适用于单一应用程序和多任务应用程序,并且可以方便地配置和扩展。
(2)VxWorksVxWorks是一种实时多任务操作系统,广泛应用于航天、军事、网络、机器人和医疗等领域。
它支持多种处理器架构、网络协议、文件系统和通信协议,并且具有高度可靠性和可扩展性。
它还支持多种开发环境和调试工具,使得开发和测试嵌入式系统变得非常方便。
(3)μC/OSμC/OS是一种小型实时操作系统,适用于单片机和其他小型处理器。
它提供了可定制的底层接口和一组高效的内核,可支持多任务、多线程、多进程和中断处理。
它具有小巧、高效、可移植和可扩展等特点,被广泛应用于汽车控制、仪器仪表、家电应用等领域。
2. 常见的非实时操作系统(1)LinuxLinux是一种开源的普通操作系统,它的内核是非实时的,可以应用于各种嵌入式系统。
它拥有强大的网络功能、通用文件系统和各种可用的驱动程序、应用程序等。
由于它是开源的,因此在开发过程中可以得到广泛的技术支持和文档资料,具有良好的可扩展性和稳定性。
嵌入式实时操作系统的设计与开发随着科技的不断发展,嵌入式系统在很多领域得到了广泛的应用,例如智能家居、物联网、智能医疗等。
嵌入式系统是一种专门为特定应用领域设计的计算机系统,具有高效、稳定、耐用等特点。
而实时操作系统是嵌入式系统的重要组成部分,它能够确保系统在实时性、可靠性、安全性等方面具有高水平的性能。
因此,嵌入式实时操作系统的设计与开发是嵌入式系统开发中的重要环节。
一、嵌入式实时操作系统的基本概念实时操作系统是指能够在规定的时间内响应某个事件的操作系统。
在一个实时系统中,时间是非常宝贵的资源,系统必须在预定时间内完成所需的操作,才能保证系统的可靠性和安全性。
嵌入式实时操作系统是一种应用于嵌入式系统中的实时操作系统,它有着更高的实时性和可靠性,可以为嵌入式系统提供更好的性能和稳定性。
在嵌入式实时操作系统中,任务的优先级和时间限制是非常重要的。
每个任务都有各自的时间限制和执行优先级,系统必须保证任务不会发生竞争或死锁,以免影响系统的正常运行。
而在一些高要求的场景中,例如商业飞机、炮火定位等领域,实时性是首要的,对于一些时间非常敏感的应用,响应时间和执行速度必须能够达到毫秒或者微秒级别。
二、嵌入式实时操作系统的特点嵌入式实时操作系统与其他操作系统相比有着许多独特的特点。
1.轻量级嵌入式实时操作系统必须是轻量级的,在保证实时性和可靠性的前提下,尽可能减少系统的资源占用和功耗。
由于嵌入式设备通常的资源比较有限,因此轻量级的操作系统在这种情况下显得尤为重要。
2.快速响应嵌入式实时操作系统必须能够快速响应各种事件,在规定的时间内完成任务。
在这种现实的场景中,延迟和响应速度的问题在业务上是不能被容忍的。
3.优先级调度嵌入式实时操作系统中,每个任务都有自己的优先级和时间限制,系统必须按照优先级轮询任务,及时分配资源。
优先级调度是嵌入式实时操作系统中最核心的功能之一,也是实时性和可靠性的重要保证。
三、嵌入式实时操作系统的设计和开发环节非常关键,关系到整个系统的性能和可靠性。
《嵌入式系统开发与应用》教学教案一、教学目标1. 了解嵌入式系统的概念、特点和应用领域。
2. 掌握嵌入式系统的基本组成和开发流程。
3. 学习嵌入式操作系统的基本原理和常用操作系统。
4. 掌握嵌入式系统编程方法和常用编程工具。
5. 培养学生的嵌入式系统设计和开发能力。
二、教学内容1. 嵌入式系统概述1.1 嵌入式系统的定义1.2 嵌入式系统的特点1.3 嵌入式系统的应用领域2. 嵌入式系统的基本组成2.1 硬件平台2.2 软件系统2.3 中间件和驱动程序3. 嵌入式系统开发流程3.1 需求分析3.2 硬件选型和系统设计3.3 软件开发3.4 系统集成与测试3.5 产品发布与维护4. 嵌入式操作系统原理4.1 嵌入式操作系统的概念4.2 嵌入式操作系统的分类4.3 嵌入式操作系统的特点4.4 常用嵌入式操作系统介绍5. 嵌入式系统编程方法5.1 嵌入式编程语言5.2 嵌入式系统编程工具5.3 嵌入式系统编程规范5.4 嵌入式系统编程实例三、教学方法1. 讲授法:讲解嵌入式系统的基本概念、原理和开发流程。
2. 案例分析法:分析实际项目中的嵌入式系统设计和开发案例。
3. 实验法:动手实践,掌握嵌入式系统编程方法和工具。
4. 小组讨论法:分组讨论,培养团队合作能力。
四、教学资源1. 教材:《嵌入式系统开发与应用》2. 课件:教学PPT3. 实验设备:嵌入式开发板、编程器、仿真器等4. 在线资源:相关论文、博客、教程、论坛等五、教学评价1. 课堂参与度:观察学生在课堂上的发言和讨论情况。
2. 作业完成情况:评估学生作业的质量和完成速度。
3. 实验报告:评估学生在实验过程中的操作能力和解决问题的能力。
4. 期末考试:测试学生对嵌入式系统开发与应用知识的掌握程度。
六、教学内容6. 嵌入式系统硬件平台6.1 微控制器(MCU)6.2 应用处理器(AP)6.3 系统级芯片(SoC)6.4 硬件选型的考虑因素7. 嵌入式系统软件系统7.1 固件编程7.2 嵌入式操作系统7.3 中间件与驱动程序开发7.4 软件开发工具与环境8. 嵌入式系统中间件与驱动程序8.1 中间件的概念与作用8.2 常用中间件介绍8.3 驱动程序的概念与开发8.4 设备驱动程序的框架9. 嵌入式系统项目开发流程9.1 需求分析与规格说明书编写9.2 硬件设计与选型9.3 软件设计与开发9.4 系统集成与测试9.5 项目管理与迭代10. 嵌入式系统案例分析与实践10.1 案例选择与分析10.2 系统设计与开发过程10.3 项目实施与调试10.4 项目报告与评审七、教学方法1. 案例分析法:通过分析具体的嵌入式系统项目案例,使学生了解项目开发的实际过程。
嵌入式操作系统的通用硬件抽象层设计摘要:基于嵌入式操作系统硬件抽象层理论,设计一种用于嵌入式操作系统内核开发的通用硬件抽象层平台。
通用硬件抽象层能够为嵌入式操作系统内核的设计开发屏蔽硬件平台的特性,提供统一的硬件相关的服务接口,可以使嵌入式操作系统内核的设计开发不依赖于特定的硬件平台,同时开发的嵌入式操作系统内核具有更强的可移植性。
关键词:嵌入式操作系统通用硬件抽象层(HAL)BSP V开发模式引言为了便于操作系统在不同硬件结构上进行移植,美国微软公司首先提出了将底层与硬件相关的部分单独设计成硬件抽象层美国微软公司提出了将操作系统底层与硬件相关的部分单独设计成硬件抽象层HAL(Hardware Abstraction Layer)的思想。
硬件抽象层的引入大大推动了嵌入式操作系统的通用程度,为嵌入式操作系统的广泛应用提供了可能。
然而,目前BSP形式的硬件抽象层仅仅能够解决有限的几种操作系统在同样有限的BSP所支持的硬件平台上的移植,而对绝大多数需要根据不同嵌入式应用而专门定制的嵌入式操作系统来说能起的作用则非常有限。
1 硬件抽象层原理1.1 硬件抽象层概念嵌入式系统是一类特殊的计算机系统。
它自底向上包括3个主要部分:硬件环境、嵌入式操作系统和嵌入式应用程序。
硬件环境是整个嵌入式操作系统和应用程序运行的硬件平台,不同的应用通常有不同的硬件环境;因此如何有效地使嵌入式操作应用于各种不同的应用环境,是嵌入式操作系统发展中所必须解决的关键问题。
硬件抽象层通过硬件抽象层接口向操作系统以及应用程序提供对硬件进行抽象后的服务。
当操作系统或应用程序使用硬件抽象层API进行设计时,只要硬件抽象层API能够在下层硬件平台上实现,那么操作系统和应用程序的代码就可以移植。
这样,原先嵌入式系统的3层结构逐步演化为一种4层结构。
图1显示了引入硬件抽象层后的嵌入式系统的结构。
在整个嵌入式系统设计过程中,硬件抽象层同样发挥着不可替代的作用。
嵌入式系统开发学习心得体会_经验总结本文主要介绍的是嵌入式系统开发学习心得体会及经验总结,首先介绍了嵌入式系统开发的三大关键点,其次推荐了嵌入式系统开发必读的书籍,最后介绍了学习嵌入式系统开发的体会及经验总结。
嵌入式系统开发简介嵌入式系统开发是对于除了电脑之外的所有电子设备上操作系统的开发,开发对象有手机,掌上电脑,机电系统等,一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成。
嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。
它一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成,用于实现对其他设备的控制、监视或管理等功能。
嵌入式系统一般指非PC系统,它包括硬件和软件两部分。
硬件包括处理器/微处理器、存储器及外设器件和I/O端口、图形控制器等。
软件部分包括操作系统软件(OS)(要求实时和多任务操作)和应用程序编程。
有时设计人员把这两种软件组合在一起。
应用程序控制着系统的运作和行为;而操作系统控制着应用程序编程与硬件的交互作用。
嵌入式系统开发的三大关键点1、嵌入式系统是相对于PC平台而言的,使用的平台一般是针对ARM,PPC,DSP等非PC平台的,所以使用的编译和调试工具不是VC6.0,而是不同的平台需要专门的编译开发工具,交叉编译是嵌入式特有的概念;2、嵌入式系统往往指带有操作系统的系统,以前简单的系统可以直接在裸机(如51单片机)上开发,而现在OS成为嵌入式的一个基本特征,已经有各种实时内核或者全功能的OS,因此对程序员要求较高;3、嵌入式系统往往包括软件和硬件两个部分,软件开发人员往往也需要知道硬件的知识,只有知道硬件的特性才能开发出高性能的程序。
另外不想在PC上开发,驱动程序都已经有了,在嵌入式系统中由于所接的外设复杂,很多时候需要自己编写驱动程序,结果是在。
操作系统的分类及特点操作系统是计算机系统的核心组件之一,它负责管理计算机的硬件和软件资源,并提供用户和应用程序的接口。
随着计算机科学技术的不断发展,操作系统也不断演化和分类。
根据功能、结构和应用领域的不同,操作系统可以分为多种不同的类型,每种类型都有着自己独特的特点和功能。
一、按功能分类1.批处理操作系统批处理操作系统是计算机的第一个操作系统,它主要用于处理大量相似的任务。
用户通过批处理作业的方式提交任务,操作系统按照一定的顺序依次执行这些任务。
批处理系统的特点是高效、稳定,能够提高计算机的利用率,但用户交互性较差。
2.分时操作系统分时操作系统是为了提高计算机的交互性而设计的。
它可以同时为多个用户提供服务,每个用户都可以独立地使用计算机资源。
分时系统可以根据用户的需求动态分配资源,更适合人机交互。
3.实时操作系统实时操作系统是为了满足对时间要求很高的应用而设计的,例如工业控制系统、航空航天系统等。
实时系统需要能够在规定的时间范围内完成任务,所以它的特点是响应时间短、可靠性高。
4.网络操作系统随着计算机网络的普及和发展,出现了专门针对网络环境设计的操作系统,称为网络操作系统。
网络操作系统的主要功能是管理网络资源、提供网络服务,确保网络的安全和稳定运行。
二、按结构分类1.批处理操作系统批处理操作系统的结构较为简单,用于按顺序执行一系列任务。
2.分时操作系统分时操作系统需要支持多用户同时访问,因此它的结构更加复杂,需要有良好的进程管理和内存管理能力。
3.实时操作系统实时操作系统的结构需要能够保证任务在规定时间内完成,所以它需要具有高效的调度算法和实时性能。
4.分布式操作系统分布式操作系统用于管理分布在多台计算机上的资源,因此它的结构需要能够支持分布式文件系统、进程通信、容错等功能。
三、按应用领域分类1.个人操作系统个人操作系统是为个人计算机设计的,它通常具有图形用户界面,易于使用,支持多媒体应用和办公软件等。
选择题(1)对于Android系统命名自1.5 起,用甜点作为系统版本代号,按26个字母顺序,Android 2.3 版本的名称是(C)A、ÉclairB、FroyoC、GingerbreadD、Honeycomb(2)Android是基于Linux内核的软件开发平台和操作系统,采用软件堆层的架构,共分为4层,下列描述错误的是(D)A、Linux内核,提供操作系统内核管理的底层基础功能B、中间件层,由函数库和Android运行时构成C、应用程序框架层,提供了Android平台基本的管理功能和组件重用机制D、应用层,提供多媒体框架,实现音频、视频的播放和录制功能,广泛支持多种流行的音视频格式(3)针对Application Framework应用程序框架层描述不正确的是()DA、Activity Manager:管理运行应用程序B、Content Provider:提供应用程序的数据共享C、Notification Manager:显示提示和状态栏D、Views System:用于管理系统显示设置(4)处理菜单项单击事件的方法不包含()CA、使用onOptionsItemSelected(MenuItem item)响应B、使用onMenuItemClick(MenuItem item)响应C、使用onCreateOptionsMenu(Menu menu)响应D、使用onMenuItemSelected(int featureId ,MenuItem item)响应(5)Android中文件操作模式中实现文件的追加方式的是()DA、MODE_PRIVA TEB、MODE_WORLD_READABLEC、MODE_WORLD_WRITEABLED、MODE_APPEND(6)进度条哪个属性是用于设置设置星级每次增量值()DA、android:numStarsB、android:maxC、android:progressD、android:stepSize(7)Android表示下拉列表的组件是()BA、GalleryB、SpinnerC、GridViewD、ListView(8)ListView控件通过ArrayAdapter定义数据源时,可以指定列表项添加单选按钮,即textViewResourceId的值为()CA、simple_list_item_checkedB、simple_list_item_1C、simple_list_item_single_choiceD、simple_list_item_multiple_choice(9)下列关于Notification说法不正确的是()DA、Notification对象需要NotificatinManager来管理B、使用NotificationManager的notify方法显示notification消息C、在显示Notification时可以设置通知时的默认声音和震动D、Notification中存在方法可以清除消息(10)下列语句用于实现调用Intent标准动作发送短信的语句是()DA、string="tel:5556"; uri=Uri.parse(string);intent.setAction(Intent.ACTION_DIAL); intent.setData(uri);B、string="tel:5556"; uri=Uri.parse(string);intent.setAction(Intent.ACTION_CALL); intent.setData(uri);C、string=""; uri=Uri.parse(string);intent.setAction(Intent.ACTION_VIEW); intent.setData(uri);D、case 1: string="tel:5556"; uri=Uri.parse(string);intent.setAction(Intent.ACTION_SEND); intent.setData(uri);(11)Android项目工程下面的assets目录的作用是什么( ) CA、放置应用到的图片资源。
B、放置字符串,颜色,数组等常量数据C、主要放置多媒体等数据文件D、放置一些与UI相应的布局文件,都是xml文件(12)关于res/raw目录说法正确的是( ) CA、这里的文件最终以二进制的格式存储到指定的包中B、这里的文件最终不会以二进制的格式存储到指定的包中C、这里的文件是原封不动的存储到设备上不会转换为二进制的格式D、这里的文件是原封不动的存储到设备上会转换为二进制的格式(13)Hanlder是线程与Activity通信的桥梁,如果线程处理不当,你的机器就会变得越慢,那么线程销毁的方法是( )BA、onClear()B、onDestroy()C、onFinish()D、onStop()(14)下列有关类、对象和实例的叙述,正确的是哪一项?()BA、类就是对象,对象就是类,实例是对象的另一个名称,三者没有差别B、类是对象的抽象,对象是类的具体化,实例是对象的另一个名称C、对象是类的抽象,类是对象的具体化,实例是对象的另一个名称D、类是对象的抽象,对象是类的具体化,实例是类的另一个名称(15)下列哪项是String的赋值正确的?()AA、“Hello”B、…world‟C、\u2345D、new String(“good”)(16)下述代码执行后,有几个引用变量和几个对象?()AStudent stu = new Student(“Mike”);Student stua;Stua = stu;A、2个引用变量,1个对象B、1个引用变量,1个对象C、2个引用变量,2个对象D、1个引用变量,2个对象(17)下面的对自定style的方式正确的是()AA、<resources><style name="myStyle"><item name="android:layout_width">fill_parent</item></style></resources>B、<style name="myStyle"><item name="android:layout_width">fill_parent</item></style>C、<resources><item name="android:layout_width">fill_parent</item></resources>D、<resources><style name="android:layout_width">fill_parent</style></resources>(18)Activity对一些资源以及状态的操作保存,保存在生命周期的哪个函数中进行( )BA、onPause()B、onStart()C、onResume()D、onCreate()(19)关于ContenValues类说法正确的是( )DA、和Hashtable比较类似,可以存储键值对,但是所存储的键值对当中的键是String类型,而值也是String类型B、和Hashtable比较类似,可以存储键值对,但是所存储的键值对当中的键可以为空,而值都是String类型C、和Hashtable比较类似,可以存储键值对,但是所存储的键值对当中的键是任意类型,而值都是基本类型D、和Hashtable比较类似,可以存储键值对,但是所存储的键值对当中的键是String类型,而值都是基本类型(20)程序:class TestApp{public static void main(String[] args){for(int i=0;i<5;i++)System.out.print(i+1);System.out.println(i);}}上述程序运行后的结果是哪项?()DA、123456B、123455C、123450D、编译错误(21)类Teacher:class Teacher{String name;float salary;Teacher(String name){ = name;}Teacher(String name,float salary){ = name;this.salary = salary;}}执行语句Teacher t = new Teacher(“Tom”,2000.0f);后,字段salary的值是哪一项?()DA、2000B、0.0fC、null;D、2000.0f(22)程序:class DemoApp{public static void main(String[] args){int x = 5;int y = ++x + x++;System.out.println(“y=”+y+”,x=”+x);}}以上程序运行后的输出结果是哪项?()CA、y=10,x=5B、y=11,x=6C、y=12,x=7D、y=11,x=7(23)程序:class TestApp{public static void main(String[] args){for(int i=0;i<10;i++){if(i==3)break;System.out.print(i);}}}程序运行后的输出是哪项?()BA、0123B、012C、0123456789D、012456789(24)在MainActivity界面上显示2秒提示信息,下列代码正确的是()DA、Toast.makeText(MainActivity.class, 2,"操作成功!").show();B、Toast.makeText(MainActivity.this, 2000,"操作成功!").show();C、Toast.makeText(MainActivity.this, "操作成功!",2).show();D、Toast.makeText(MainActivity.this, "操作成功!",2000).show();(25)给一个对话框添加一个“确定”按钮的事件监听,下列代码正确的是()BA、dialog.setOnClickListener("确定", new OnClickListener() {public void onClick(View arg0) {// TODO Auto-generated method stub}});B、dialog.setPositiveButton("确定", new OnClickListener(){public void onClick(DialogInterface dialog, int which){// TODO Auto-generated method stub}});C、dialog.setNegativeButton("确定", new OnClickListener(){public void onClick(View arg0){// TODO Auto-generated method stub}});D、dialog.setNegativeButton("确定", new OnClickListener(){public void onClick(DialogInterface dialog, int which){// TODO Auto-generated method stub}});(26)关于AndroidManifest.xml文件下列描述不正确()AA、Activity、Service、Intent都必须在文件中进行显示的注册和配置。