草庐IT

Android移动开发基础案例教程第2版课后习题

我想去拉萨。 2023-04-04 原文

Android移动开发基础案例教程第2版课后习题

一、填空题

  1. Dalvik中的Dx工具会把部分class文件转换成( )文件。
  2. 如果希望在XML布局文件中调用颜色资源,可以使用( )调用。
  3. Android程序入口的Activity是在( )文件中注册的。
  4. Android中 查看应用程序日志的工具是( )

dex @color AndroidMainifest.xml LogCat

二、判断题

  1. Dalvik是 Google公司设计的用于Android平台的虚拟机。
  2. Android应用程序的主要语言是Java.
  3. Android系统采用分层架构,分别是应用程序层、应用程序框架层、核心类库和Linux内核。
  4. 第三代移动通信技术(3G)包括TD-LTE和FDD-LTE两种制式。
  5. Android程序中,Log.e()用于输出警告级别的日志信息。
  6. 每个Dalvik虚拟机实例都是一个独立的进程空间,并且每个进程之间不可以通信。

√ √ √ × × ×

三、选择题

  1. Dalvik虚拟机是基于( )的架构。 A.栈 B.堆 C.寄存器 D.存储器
  2. Android项目中的主题和样式资源,通常放在( ) 目录。 A. res/drawable B. res/layout C. res/values D. assets
  3. 下列关于AndroidManifest.xml文件的说法中,错误的是( )。 A.它是整个程序的配置文件 B.可以在该文件中配置程序所需的权限 C.可以在该文件中注册程序用到的组件 D.该文件可以设置UI布局
  4. Dalvik虚拟机属于Android系统架构中的( ) A.应用程序层 B.应用程序框架层 C.核心类库层 D. Linux内核层
  5. Android中 短信、联系人管理、浏览器等属于Android系统架构中的( ) A.应用程序层 B. 应用程序框架层 C.核心类库层 D. Linux内核层

c c d c a

一、填空题

  1. Android的常见布局都直接或者间接的继承自( )类。
  2. Android中 的TableLayout继承自( )。
  3. 表格布局TableLayout通过( )布局控制表格的行数。
  4. ( )布局通过相对定位的方式指定子控件的位置。
  5. 在R.java文件中,android:id属性会自动生成对应的( )类型的值。

ViewGroup LinearLayout TableRow RelativeLayout int

二、判断题

  1. ViewGroup是盛放界面控件的容器。
  2. 如果在帧布局FrameLayout中放入三个所有属性都相同的按钮,那么能够在屏幕上显示的是第1个被添加的按钮。
  3. Android中的布局文件通常放在res/layout文件夹中。
  4. TableLayout继承自LinearLayout, 因此它完全支持LinearLayout所支持的属性。
  5. LinearLayout布局中的android:layout_weight属性用于设置布局内控件所占的权重。

√ × √ √ √

三、选择题

  1. 下列属性中,用于设置线性布局方向的是( )。 A. orientation B. gravity C. layout gravity D. padding

  2. 下列选项中,不属于Android布局的是( )。

    A. FrameLayout B. LinearLayout C. Button D. RelativeLayout

  3. 帧布局FrameLayout是将其中的组件放在自己的( )。

    A.左上角 B.右上角 C.左下角 D.右下角

  4. 对于XML布局文件,android:layout_width属性的值不可以是( )。

    A. match_parent B. fill_parent C. wrap_content D. match_content

  5. 下列关于RelativeLayout的描述,正确的是( )。

    A. RelativeLayout表示绝对布局,可以自定义控件的x、y的位置 B. RelativeLayout表示帧布局,可以实现标签切换的功能 C. RelativeLayout表示相对布局,其中控件的位置都是相对位置 D. RelativeLayout表示表格布局,需要配合TableRow 一起使用

a c a d c

一、判断题

  1. Android的控件样式, 每一个XML属性都对应一个Java方法。
  2. 当指定RadioButton按钮的android:checked属性为true时,表示未选中状态。
  3. AlertDialog对话框能够直接通过new关键字创建对象。
  4. Toast是Android系统提供的轻量级信息提醒机制,用于向用户提示即时消息。
  5. ListView列表中的数据是通过Adapter加载的。

√ × × √ √

二、选择题

  1. 在XML布局中定义了一个Button, 决定Button按钮上显示文字的属性是( ) A. android:value B. android:text C. android:id D. android:textvalue
  2. 下列选项中,( )用于设置TextView中文字显示的大小。 A. android:textSize=“18” B. android:size=“18” C. android:textSize=“18sp” D. android:size=“18sp”
  3. 使用EditText控件时, 当文本内容为空时,如果想做一些提示, 那么可以使用的属性是( )。 A. android:text B. android:background C. android:inputType D. android:hint
  4. 为了让一个imageView显示一张图片,可以通过设置的属性是( )。 A. android:src B. android:background C. android: img D. android:value
  5. 下列关于ListView的说法中, 正确的是( ) A. ListView的条目不能设置点击事件 B. ListView不设 置Adapter也能显示数据内容 C. 当教据超出能显示范围时,ListView自动具有可滚动的特性 D. 若ListView当前能显示10条, 一共有100条数据, 则产生了100个View
  6. CheckBox被选择的监听事件通常使用( )方法。 A. setOnClickListener B. setOnCheckedChangeListener C. setOnMenuItemSelectedListener D. setOnCheckedListener
  7. 当使用EditText控件时, 能够使文本框设置为多行显示的属性是( )。 A. android:lines B. android:layout_height C. android:textcolor D. android:textsize
  8. 下列关于AlertDialog的描述,错误的是( ) A.使用new关键字创建AlertDialog的实例 B.对话框的显示需要调用show()方法 C. setPositiveButton()方法是 用来设置确定按钮的 D. setNegativeButton()方法是用来设置取消按钮的

b c d a c b a a

一、填空题

  1. Activity的启动模式包括standard, singleTop,singleTask和( )。
  2. 启动一个新的Activity并且获取这个Activity的返回教据, 需要重写( )方法。
  3. 发送隐式Intent后,Android系统会使用( )匹配相应的组件。
  4. 在清单文件中为Activity添加< intent-filter>标签时, 必须添加的属性名为( )否则隐式Intent无法开启该Activity.
  5. Activity的( )方法用于关闭当前的Activity。

singleintance startActivityForResult() IntentFilter action finsh()

二、判断题

  1. 如果Activity不设置启动模式,则默认为standard.
  2. Fragment与Activity的生命周期方法是一致的。
  3. 如果想要关闭当前的Activity, 可以调用Activity提供的finish()方法。
  4. < intent-filter>标签中间只能包含一个action属性。
  5. 默认情况下,Activity的启动方式是standard.

√ × √ × √

三、选择题

  1. 下列选项中,不属于Android四大组件的是( ) A. Service B. Activity C. Handler D. ContentProvider
  2. 下列关于Android中Activity管理方式的描述中,正确的是( ) A. Android以堆的形式管理Activity B. Android以栈的形式管理Activity C. Android以树的形式管理Activity D. Android以链表的形式管理Activity
  3. 下列选项中,( )不是Activity生命周期方法。 A. onCreate() B. startActivity() C. onStart() D. onResume()
  4. 下列方法中,( )是启动Activity的方法。 A. startActivity() B. goToActivity() C. startActivityResult() D.以上都是
  5. 下列关于Intent的描述中,正确的是( ) A. Intent不能够实现应用程序间的数据共享 B. Intent可以实现界面的切换, 还可以在不同组件间直接进行数据传递 C. 使用显式Intent可以不指定要跳转的目标组件 D. 隐式Intent不会明确指出需要激活的目标组件,所以无法实现组件之间的数据跳转

c b b a b

一、判断题

  1. SQLite是Android自带的一个轻量级的数据库,支持基本SQL语法。
  2. Android中的文件存储方式, 分为内部存储方式和外部存储方式。
  3. 使用openFileOutput()方式打开应用程序的输出流时,只需指定文件名。
  4. 当Android SDK版本低于23时,应用程序想要操作SD卡数据,必须在清单文件中添加权限。
  5. SQLiteDatabase类的update()方法用于删除数据库表中的数据。
  6. SQLite数据库的事 务操作满足原子性、一致性、 隔离性和持续性。

√ √ × √ × √

二、选择题

  1. 下列关于SharedPreferences存取文件的描述中,错误的是( )。 A. 属于移动存储解决方式 B. SharedPreferences处理的就是key-value对 C. 读取xml的路径是/sdcard/shared_prefs D.文本的保存格式是xml
  2. 下列选项中,不属于getSharedPreferences方法的文件操作模式参数是( )。 A. Context.MODE_PRIVATE B. Context.MODE_PUBLIC C. Context.MODE_WORLD_ READABLE D. Context.MODE_WORLD_WRITEABLE
  3. 下列方法中,( )方法是shardPreferences获取其编辑器的方法。 A. getEdit() B. edit() C. setEdit() D. getAll()
  4. Android对教据库的表进行查询操作时,会使用SQLietDatabase中的( ) 方法。 A. insert() B. execSQL() C. query() D. updata()
  5. 下列关于SQLite数据库的描述中, 错误的是( ) A. SqliteOpenHelper有创建数据库和更新数据库版本的的功能 B. SqliteDatabase类是用来操作数据库的 C. 每次调用SqliteDatabase的getWritableDatabase方法时,都会执行SqliteOpenHelper的onCreate()方法 D. 当数据库版本发生变化时,会调用SqliteOpenHelper的onUpgrade()方法更新数据库
  6. 下列初始化SharedPreferences的内代码中, 正确的是( ) A. SharedPreferences sp = new SharedPreferences(); B. SharedPrefe / rences sp = SharedPreferences.getDefault(); C. SharedPreferences sp = SharedPreferences.Factory(); D. SharedPreferences sp = getSharedPreferences();

c b b c c d

一、判断题

  1. Uri主要由三部分组成,分别是scheme,authority和path。
  2. 内容观察ContentObserver用于观察指定URI代表的数据的变化。
  3. 内容提供者主要功能是实现跨程序共享数据的功能,
  4. Android中通过内容解析者查询短信数据库的内容时不需要加入读短信的权限。
  5. Android系统的UriMatcher类用于匹配Uri.

√ √ √ × √

二、选择题

  1. 如果一个应用程序想要访问另外一个应用程序的数据库,那么需要通过( )实现, A. BroadcastReceiver B. Activity C. ContentProvider D. AIDL

  2. 下列方法中,( )能够得到ContentResolver的实例对象。 A. new ContentResolver() B. getContentResolver() C. newInstance() D. ContentUris.newInstance()

  3. 自定义内容观察者时,需要继承的类是( ) A. BaseObserver B. ContentObserver C. BasicObserver D. DefalutObserver

  4. 对查询系统信息时,内容提供者对应的Uri为( ).

    这里指的是系统短信

    A. Contacts.Photos.CONTENT_URI B. Contacts.People.CONTENT_URI C. content://sms/ D. Media.EXTERNAL_CONTENT_URI

  5. 下列关于ContentProvider的描述, 错误的是( ) A. ContentProvider是一个抽象类,只有继承后才能使用 B. ContentProvider只有在AndroidManifest.xml文件中注册后才能运行 C. ContentProvider为其他应用程序提供了统一的访问数据库的方式 D.以上说法都不对

c b b c d

一、填空题

  1. ( )用来监听来自系统或者应用程序的广播。
  2. 广播接收者的注册方式有两种,分别是( )和( )。

BroadcastReceiver 动态注册 静态注册

二、判断题

  1. Broadcast表示广播,它是一种运用在应用程序之间传递消息的机制。
  2. 在清单文件注册广播接收者时,可在< intent-filer>标签中使用priority属性设置优先级别, 属性值越大优先级越高。
  3. 有序广播的广播效率比无序广播更高。
  4. 动态注册的广播接收者的生命周期依赖于注册广播的组件。
  5. Android中广播接收者必须在清单文件里面注册。

1、√ 2、√ 3、× 4、√ 5、×

三、选择题

  1. 关于广播类型的说法,错误的是( )。 (多选) A. Android中的广播类型分有序广 播和无序广播 B.无序广播是按照一定的优先级进行接收 C.无序广播可以被拦截,可以被修改数据 D.有序广播按照一定的优先级进行发送
  2. 广播作为Android组件间的通信方式,使用的场景有( )。(多选) A.在同一个APP内部的同一组件内进行消息通信 B.不同APP的组件之间进行消息通信 C.在同一个APP内部的不同组件之间进行消息通信(单个进程) D. 在同一个APP具有多个进程的不同组件之间进行消息通信

1.BC

2.ABCD

一、填空题

  1. 如果想要停止bindService()方法启动的服务,需要调用( )方法。
  2. Android系统的服务的通信方式分为( )和( )。
  3. 远程服务通过( )实现服务的通信。

onUnbind 本地通信 远程通信 AIDL

二、判断题

  1. Service服务是运行在子线程中的。
  2. 不管使用哪种方式启动Service, 它的生命周期都是一样的。
  3. 使用服务的通信方式进行通信时,必须保证服务是以绑定的方式开启的,否则无法通信。
  4. 一个组件只能绑定一个服务。
  5. 远程服务和本地服务都运行在同一个进程中。

1、× 2、× 3、√ 4、× 5、×

三、选择题

  1. 如果通过bindService方式开启服务, 那么服务的生命周期是( ). A. onCreate() →onstart()→onBind()→onDestroy() B. onCreate()→onBind()→onDestroy() C. onCreate()→onBind()→onUnBind()→onDestroy() D. onCreate() →onStart()→onBind ()→onUnBind()→onDestroy()
  2. 下列关于Service服务的描述中,错误的是( ) A. Service是没有用户可见的界面,不能与用户交互 B. Service可以通过Context.startService()来启动 C. Service可以通过Context.bindService()来启动 D. Service无须在清单文件中进行配置
  3. 下列关于Service的方法描述,错误的是( )。 A. onCreate()表示第一次创建服务时执行的方法 B. 调用startService()方法启动服务时执行的方法是onStartCommand() C. 调用bindService()方法启动服务时执行的方法是onBind() D. 调用startService()方法断开服务绑定时执行的方法是onUnbind()

c d d

一、填空题

  1. HttpURLConnection继承自( )类。
  2. Android系统默认提供的内置浏览器使用的是( )引擎。
  3. Android中解析JSON数据的org.json包中,最重要的两个类是( )和JSONArray.

URLConnection webkit JSONObject

二、判断题

  1. HttpURLConnection用于发送HTTP请求和获取HTTP响应。
  2. Android中 的WebView控件专门用于浏览网页,其使用方法与其他控件一样。
  3. Android中要访问网络,必须在AndroidManifest.xml中注册网络访问权限。
  4. HttpURLConnection是抽象类, 不能直接实例化对象,需要使用URL的openConnection()方法获得。
  5. 使用HttpURLConnection进行HTTP网络通信时,GET方式发送的请求只能发送大小在1024个字节内的数据.
  6. Android内置的浏览器使用的是WebView引擎。

1、√ 2、√ 3、√ 4、√ 5、√ 6、×

三、选择题

  1. Android针对HTTP实现网络通信的方式主要包括( )。(多选) A. 使用HttpURLConnection实现 B. 使用ServiceConnection实现 C. 使用HttpClient实现 D. 使用HttpConnection实现
  2. Android中的HttpURLConnection中的输入/输出流操作,在HttpClient中被统一封装成了( )。(多选) A. HttpGet B. HttpPost C. HttpRequest D. HtpResponse

1.ABCD 2、ABD

一、判断题

  1. SurfaceView继承自View, 它是显示图像的控件。
  2. SurfaceView具有双缓冲技术。
  3. MediaPlayer播放视频,SurfaceView 显示视频时必须在子线程中更新。
  4. Android中可以使用SoundPool同时播放多个音频文件。
  5. 使用VideoView播放视频时, 需要使用setVideoPath( )设置播放视频路径,

1、√ 2、√ 3、× 4、√ 5、√

二、选择题

  1. 下列关于多媒体应用开发的描述中,正确的是( ) (多选) A. 可以使用mediaPlayer或SoundPool播放音频 B. 使用MediaPlayer每次只能播放一个音频,适用于播放长音乐或背景音乐 C. 使用SoundPool可以同时播放多个短小音频,适用于播放按键音或消息提示音 D. SoundPool和SurfaceView一起使用,还可以播放视频
  2. MediaPlayer 中的setAudio StreamType()方法支持的音频类型包括( ).(多 选) A.音乐 B.响铃 C.闹钟 D.提示音
  3. 下列关于MediaPlayer的描述, 错误的是( ) A. MediaPlayer是用于播放音频和视频的 B. MediaPlayer对音频文件提供了非常全面的控制方法 C. MediaPlayer会调用底层的音频驱动播放音频 D. MediaPlayer只可以播放音频,不能播放视频

1、ABC 2、ABC 3、D

有关Android移动开发基础案例教程第2版课后习题的更多相关文章

  1. ruby - 多次弹出/移动 ruby​​ 数组 - 2

    我的代码目前看起来像这样numbers=[1,2,3,4,5]defpop_threepop=[]3.times{pop有没有办法在一行中完成pop_three方法中的内容?我基本上想做类似numbers.slice(0,3)的事情,但要删除切片中的数组项。嗯...嗯,我想我刚刚意识到我可以试试slice! 最佳答案 是numbers.pop(3)或者numbers.shift(3)如果你想要另一边。 关于ruby-多次弹出/移动ruby​​数组,我们在StackOverflow上找到一

  2. ruby - 使用 C 扩展开发 ruby​​gem 时,如何使用 Rspec 在本地进行测试? - 2

    我正在编写一个包含C扩展的gem。通常当我写一个gem时,我会遵循TDD的过程,我会写一个失败的规范,然后处理代码直到它通过,等等......在“ext/mygem/mygem.c”中我的C扩展和在gemspec的“扩展”中配置的有效extconf.rb,如何运行我的规范并仍然加载我的C扩展?当我更改C代码时,我需要采取哪些步骤来重新编译代码?这可能是个愚蠢的问题,但是从我的gem的开发源代码树中输入“bundleinstall”不会构建任何native扩展。当我手动运行rubyext/mygem/extconf.rb时,我确实得到了一个Makefile(在整个项目的根目录中),然后当

  3. Ruby Sinatra 配置用于生产和开发 - 2

    我已经在Sinatra上创建了应用程序,它代表了一个简单的API。我想在生产和开发上进行部署。我想在部署时选择,是开发还是生产,一些方法的逻辑应该改变,这取决于部署类型。是否有任何想法,如何完成以及解决此问题的一些示例。例子:我有代码get'/api/test'doreturn"Itisdev"end但是在部署到生产环境之后我想在运行/api/test之后看到ItisPROD如何实现? 最佳答案 根据SinatraDocumentation:EnvironmentscanbesetthroughtheRACK_ENVenvironm

  4. ruby - 是否可以覆盖 gemfile 进行本地开发? - 2

    我们的git存储库中目前有一个Gemfile。但是,有一个gem我只在我的环境中本地使用(我的团队不使用它)。为了使用它,我必须将它添加到我们的Gemfile中,但每次我checkout到我们的master/dev主分支时,由于与跟踪的gemfile冲突,我必须删除它。我想要的是类似Gemfile.local的东西,它将继承从Gemfile导入的gems,但也允许在那里导入新的gems以供使用只有我的机器。此文件将在.gitignore中被忽略。这可能吗? 最佳答案 设置BUNDLE_GEMFILE环境变量:BUNDLE_GEMFI

  5. ruby-on-rails - 如何重命名或移动 Rails 的 README_FOR_APP - 2

    当我在我的Rails应用程序根目录中运行rakedoc:app时,API文档是使用/doc/README_FOR_APP作为主页生成的。我想向该文件添加.rdoc扩展名,以便它在GitHub上正确呈现。更好的是,我想将它移动到应用程序根目录(/README.rdoc)。有没有办法通过修改包含的rake/rdoctask任务在我的Rakefile中执行此操作?是否有某个地方可以查找可以修改的主页文件的名称?还是我必须编写一个新的Rake任务?额外的问题:Rails应用程序的两个单独文件/README和/doc/README_FOR_APP背后的逻辑是什么?为什么不只有一个?

  6. ruby - 在 Windows 机器上使用 Ruby 进行开发是否会适得其反? - 2

    这似乎非常适得其反,因为太多的gem会在window上破裂。我一直在处理很多mysql和ruby​​-mysqlgem问题(gem本身发生段错误,一个名为UnixSocket的类显然在Windows机器上不能正常工作,等等)。我只是在浪费时间吗?我应该转向不同的脚本语言吗? 最佳答案 我在Windows上使用Ruby的经验很少,但是当我开始使用Ruby时,我是在Windows上,我的总体印象是它不是Windows原生系统。因此,在主要使用Windows多年之后,开始使用Ruby促使我切换回原来的系统Unix,这次是Linux。Rub

  7. ruby-on-rails - 在 Rails 开发环境中为 .ogv 文件设置 Mime 类型 - 2

    我正在玩HTML5视频并且在ERB中有以下片段:mp4视频从在我的开发环境中运行的服务器很好地流式传输到chrome。然而firefox显示带有海报图像的视频播放器,但带有一个大X。问题似乎是mongrel不确定ogv扩展的mime类型,并且只返回text/plain,如curl所示:$curl-Ihttp://0.0.0.0:3000/pr6.ogvHTTP/1.1200OKConnection:closeDate:Mon,19Apr201012:33:50GMTLast-Modified:Sun,18Apr201012:46:07GMTContent-Type:text/plain

  8. 世界前沿3D开发引擎HOOPS全面讲解——集3D数据读取、3D图形渲染、3D数据发布于一体的全新3D应用开发工具 - 2

    无论您是想搭建桌面端、WEB端或者移动端APP应用,HOOPSPlatform组件都可以为您提供弹性的3D集成架构,同时,由工业领域3D技术专家组成的HOOPS技术团队也能为您提供技术支持服务。如果您的客户期望有一种在多个平台(桌面/WEB/APP,而且某些客户端是“瘦”客户端)快速、方便地将数据接入到3D应用系统的解决方案,并且当访问数据时,在各个平台上的性能和用户体验保持一致,HOOPSPlatform将帮助您完成。利用HOOPSPlatform,您可以开发在任何环境下的3D基础应用架构。HOOPSPlatform可以帮您打造3D创新型产品,HOOPSSDK包含的技术有:快速且准确的CAD

  9. 【鸿蒙应用开发系列】- 获取系统设备信息以及版本API兼容调用方式 - 2

    在应用开发中,有时候我们需要获取系统的设备信息,用于数据上报和行为分析。那在鸿蒙系统中,我们应该怎么去获取设备的系统信息呢,比如说获取手机的系统版本号、手机的制造商、手机型号等数据。1、获取方式这里分为两种情况,一种是设备信息的获取,一种是系统信息的获取。1.1、获取设备信息获取设备信息,鸿蒙的SDK包为我们提供了DeviceInfo类,通过该类的一些静态方法,可以获取设备信息,DeviceInfo类的包路径为:ohos.system.DeviceInfo.具体的方法如下:ModifierandTypeMethodDescriptionstatic StringgetAbiList​()Obt

  10. 「Python|Selenium|场景案例」如何定位iframe中的元素? - 2

    本文主要介绍在使用Selenium进行自动化测试或者任务时,对于使用了iframe的页面,如何定位iframe中的元素文章目录场景描述解决方案具体代码场景描述当我们在使用Selenium进行自动化测试的时候,可能会遇到一些界面或者窗体是使用HTML的iframe标签进行承载的。对于iframe中的标签,如果直接查找是无法找到的,会抛出没有找到元素的异常。比如近在咫尺的例子就是,CSDN的登录窗体就是使用的iframe,大家可以尝试通过F12开发者模式查看到的tag_name,class_name,id或者xpath来定位中的页面元素,会抛出NoSuchElementException异常。解决

随机推荐