「Android高级工程师」BAT大厂面试基础题集合-下 Github标星6

D、 Uri uri = Uri.parse(“sms/”);

3.Android中创建内容提供者要继承( )。

A、 ContentData

B、 ContentProvider

C、 ContentObserver

D、 ContentDataProvider

4.在Android中的Activity种通过下面哪个方法来得到ContentResolver的实例对象。( )

A、 new ContentResolver

B、 getContentResolver()

C、 newInstance()

D、 ContentUris.newInstance()

5.若要实现对系统联系人的增删改查,需要使用的系统ContentProvider的Uri为( )。

A、

Contacts.Photos.CONTENT_URI

B、

Contacts.People.CONTENT_URI

C、

Contacts.Phones.CONTENT_URI

D、

Media.EXTERNAL_CONTENT_URI

6.ContentProvider中的()方法根据传入的Uri查询指定条件下的数据。

A、 delete

B、 insert

C、 query

D、 update

7.定义一个ContentProvider过程中,需要增加匹配的uri,请问在UriMatcher.addURI(“youAuthority”,”item/”,1)语句中井号代表()。

A、 某个字段

B、 表名

C、 匹配任意URI

D、 id

8.当观察到的Uri代表的数据发生变化时,会触发ContentObserver中的()方法。

A、 onCreate()

B、 notifyChange()

C、 onChange()

D、 以上说法都不对

9.短信的内容提供者是()

A、 ContactProvider

B、 MessageProvider

C、 SmsProvider

D、 TelephonyProvider

10.在下列选项中,联系人信息内容提供者的主机名是()

A、 contact

B、 com.android.contacts

C、

com.android.provider.contact

D、

com.android.provider.contacts

11.下面关于ContentProvider描述错误的是()。

A、 ContentProvider可以暴露数据

B、 ContentProvider用于实现跨程序共享数据

C、 ContentProvider不是四大组件

D、 ContentProvider通过Uri的形式对外提供数据

12.在下列选项中,关于内容提供者的说法错误的是()

A、 ContentProvider 是一个抽象类,只有继承后才能使用

B、 内容提供者只有在AndroidManifest.xml文件中注册后才能运行

C、 内容提供者为其它应用程序提供了统一的访问数据库的方式

D、 内容提供者不是抽象类

13.如果要调用现成的 ContentProvider,获得如下()对象才能调用其方法进行增删查改。

A、 CursorLoader

B、 ContentResolver

C、 Cursor

D、 ContentProvider

14.下面哪些功能需要用ContentProvider来实现()。

A、 读取系统中的短信内容

B、 建立一个数据库

C、 开机后自动启动一个程序

D、 播放一段音乐

15.短信内容提供者的主机名是()

A、 sms

B、 com.android.sms

C、 smsProvider

D、 com.android.smsProvider

16.在读取联系人信息案例中,没有操作的表是()

A、 raw_contacts

B、 data

C、 mimetypes

D、 contacts

17.在Provider的节点中,用来指定内容提供者的主机名的属性是()

A、 android:name

B、 android:authorities

C、 android:process

D、 android:label

18.可以在Activity中得到ContentResolver实例对象的方法是()

A、 new ContentResolver()

B、 getContentResolver()

C、 newInstance()

D、 ContentUris.newInstance()

19.在下列选项中,关于ContentResolver的说法错误的是()

A、 ContentResolver通过uri匹配到内容提供者

B、 通过ContentResolver可以在其它应用程序中访问内容提供者

C、 ContentResolver的增删改查方法与目标内容提供者的增删改查方法是一一对应

D、 ContentResolver不需要通过uri匹配到内容提供者

20.自定义内容观察者时,继承的类是()

A、 BaseObserver

B、 ContentObserver

C、 BasicObserver

D、 DefaultObserver

21.在下列选项中,关于content provider的功能说话正确的是()

A、 读取系统中的短信内容

B、 建立一个数据库

C、 开机后自动启动一个程序

D、 播放一段音乐

22.在Activity中,获得ContentResolver对象的方法是()

A、 getContentResolver()

B、 getResolver()

C、 getContentResolvers()

D、 getResolvers()

判断题

  1. Uri是由scheme、authorites、path三部分组成。(√ )

  2. Uri是指统一资源标示符。(√ )

  3. ContentProvider与ContentResolver相互配合使用的。(√ )

  4. path部分代表资源(或者数据),这个部分是不可改变的。(× )

  5. 内容提供者主要功能是实现跨程序共享数据的功能。( √)

  6. ContentProvider中的getType()方法是用来获取当前Uri路径指定数据的类型。( √)

  7. provider中的android:authorities代表了访问本provider的路径,这里的路径不是唯一的。(× )

  8. provider中的android:name代表是继承于ContentProvider类的的全路径名称。( √ )

  9. Android中创建内容提供者需要继承【ContentProvider】类。( √)

  10. ContentResolver的notifyChange(Uri uri,ContentObserver cob)方法中,参数ContentObserver表示数据发生变化时指定具体的观察者接收消息。( √)

  11. Android中的ContentResolver主要作用是获取通过内容提供者暴露出来的数据。( ×)

  12. Android中使用内容解析者查询联系人数据库信息的时候我们只要关心2张表就可以了。(× )

  13. 利用内容观察者可以监听短信数据库的变化,当短信数据库发生变化的时候会执行内容观察者的onChange()方法。( √)

  14. ContentProvider可以将数据暴露给其他程序。(√ )

  15. Android中通过内容解析者查询短信数据库的内容时,不需要加入读短信的权限.(× )

  16. 内容提供者为其他应用程序提供了统一的访问数据库的方式,可以让其他应用程序来调用。( √)

  17. Android中的ContentResolver是Android的四大组件之一。(×)

  18. Android中的短信数据库的内容我们可以直接通过内容解析者进行查询.(×)

  19. Android中创建内容提供者要继承ContentObserver。(×)

  20. 联系人信息是存放在数据库的sms表中的。(√ )

  21. 内容提供者只有在AndroidManifest.xml文件中注册后,才能运行。( √)

  22. Android 中的ContentResolver 查询数据是通过url来获取内容提供者暴露的数据。(√ )

  23. 读取短息数据时,是通过内容提供者读取的。(× )

  24. 在短信接收器案例中,自定义的短信内容提供者SmsContentObserver类,继承了ContentObserver类。(√ )

  25. 注册内容观察者是通过ContentResolver的registerContentObserver()方法注册的。(√ )

  26. ContentResolver的增删改查方法与目标内容提供者的增删改查方法不是一一对应的。( ×)

  27. 在短信接收器案例中,短信内容提供者的数据发生变化时,会触发onChange()方法的调用。(√ )

  28. ContentResolver是通过Uri匹配内容提供者的。(√ )

填空题

  1. 为了解析Uri对象,Android系统提供了一个辅助工具类_____用于匹配Uri。UriMatcher

  2. Android中通过ContentResover.query()查询短信数据库的时候,第一个Uri参数如何写___ ____ contentprovider

  3. 内容观察者是通过观察____来观察数据库的变化_消息中心__

  4. _____是用来观察指定Uri所代表的数据。消息中心

  5. 利用内容解析者读取短信数据库内容时,短信数据库_____表主要用来存储短信信息_SmsInfo_

  6. 使用___ ____可以操作其他应用的数据。ContentResolver

  7. resolver.registerContentObserver()方法用于__ _____。注册内容观察者

  8. 创建UriMatcher对象时调用UriMatcher(int code),参数通常使用UriMatcher.NO_MATCH,表示路径不满足条件返回____-1___。

  9. 当ContentObserver观察到指定Uri代表的数据发生变化时,就会触发ContentObserver的_____方法。onChange()

  10. 内容提供者把私有的数据给暴露出来,我们通过_____来进行查询数据_ContentResolver_

  11. 创建一个内容提供者类AccountContentProvider,需要让它继承父类___ ___ ContentProvider_

  12. 在Android中,是通过____ ___读取联系人信息的。ContentResolver

  13. 注册provider时需要指定两个属性___android.name____和android:authorities。

  14. 短信数据是存放在___ ___表中的。_SmsInfo

  15. Android中通过内容提供者来读取联系人信息,__ ____表用来保存联系人信息的. _SmsInfo

  16. 在短信接收器案例中,注册短信内容观察者时,使用的到Uri是____。onChange_

  17. __主要是用来观察内容提供者里面数据的变化情况_ContentObserver。

  18. 在Android中,通常使用____ ___调用内容提供者。消息中心

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7vilbz1L-1591090939074)(https://upload-images.jianshu.io/upload_images/22459598-7000344155e7e569?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]

第07章 广播

=====================================================================

1.关于BroadcastReceiver的说法不正确的是( ).

A、 广播接收器是android四大组件之一

B、 对有序广播,系统会根据接收者声明的优先级别按顺序逐个执行接收者

C、 接收者声明的优先级别在的android:priority属性中声明,数值越大优先级别越高

D、 在配置文件manifest中配置接收器叫做动态注册

2.要发送一个广播,需要实现sendBroadcast方法,假设其中intent=new Intent(“com.itheima.myandroid”),那么com.itheima.myandroid ( ).

A、 是接收者activity的名字

B、 与接收广播的程序的配置文件中过滤器中的名字相同

C、 与定义的receiver的android:name相同

D、 以上都不对

3.Android中广播分为()种.

A、1

B、2

C、3

D、4

4.继承BroadcastReceiver会重写( )方法。

A、 OnReceiver()

B、 onUpdate()

C、 onCreate()

D、 onStart()

5.广播接收者需要在清单文件配置()节点

A、 receiver

B、 broadReceiver

C、 service

D、 contentProvider

6.关于sendBroadcast()方法说法正确的是( ).

A、 该方法是发送一条有序广播

B、 该方法是发送一条无序广播

C、 该方法即是发送有序广播也可以发送无序广播

D、 以上说法都不正确

7.关于abortBroadcast说法正确的是()

A、 该方法的作用是发送有序广播

B、 该方法的作用是用于拦截无序广播

C、 发送一条有序广播

D、 通过该方法可以终止有序广播

8.Android中定义广播接收者要继承( ).

A、 BroadcastReceiver

B、 BroadCast

C、 Receiver

D、 BroadcastReboot

9.在清单文件中注册了NEW_OUTGOING_CALL,代码中获取到广播事件的方法是( ).

A、 getAction()

B、 getActionCall()

C、 getMethod()

D、 getOutCall()

10.手机注册

android.intent.action.BOOT_COMPLETED广播事件,说法正确的是( )

A、 定义该广播接收者不需要在清单文件里面配置

B、 手机重启的广播事件需要添加相应的权限

C、 不需要任何的权限

D、 该广播事件会很浪费时间

11.关于短信拦截的广播事件说法错误的是©.

A、 监听用户的短信到来的广播事件在高版本ADT里该事件找不到了

B、 需要注册 权限

C、 在国内国外都可用随意注册这样广播事件

D、 以上说法都正确

12.()广播是当应用程序关闭后,如果接收到其他应用程序发出的广播,那么该程序会自动重新启动。

A、 常驻型广播

B、 非常驻型广播

C、 以上两种都可以

D、 以上说法都不对

13.关于广播接收者说法错误的是( ).

A、 Android中定义广播接收者要继承BroadCastReceiver

B、 Android中定义广播接收者的目的之一是方便我们开发者进行开发

C、 Android系统中内置了很多系统级别的广播

D、 Android中定义广播这个组件意义不是很大

14.关于有序广播和无序广播说法正确的是( ).

A、 有序广播可以被拦截 数据可以被修改,无序广播数据不可以被拦截,数据不可以被修改

B、 有序广播和无序广播类似

C、 有序广播不可以被拦截

D、 无序广播是按照优先级进行发送

15.有序广播可以通过( )方法拦截广播. ( )

A、 abort( )

B、 abortReceiver( )

C、 Receiver( )

D、 abortBroadcast( )

16.Ip拨号器中我们把ip号码通过sharedPreferences保存起来,以下说法错误的是( ).

A、 通过上下文来初始化sharedPreferences

B、 使用sharedPreferences需要获取sharedPreferences的编辑器.

C、 sharedPreferences保存数据后实际上生成了一个xml文件

D、 使用sharedPreferences初始化后可以直接保存数据.

17.自定义BroadcastReceiver时在androidManifest中用哪个标签定义( )

A、 receiver

B、 activity

C、 application

D、 uses-sdk

18.对于一些特殊的广播事件,比如屏幕锁屏和解锁,以下说法正确的是( ).

A、 对于这样的广播事件,需要采用动态代码的方式进行注册,在清单文件注册不生效

B、 直接在清单文件里面配置相应的动作就可以

C、 对文件操作的权限

D、 设置程序开机第一启动的权限

19.setResultData()方法的作用是( );

A、 修改广播接收者的数据

B、 修改数据并往下传递

C、 设置广播接收者的数据

D、 以上都不对

20.注册外拨电话的广播事件对应的action是( ).

A、

android_intent.action.NEW_OUTGOING_CALL

B、

android_intent.action.NEW_CALL

C、

android_intent.action.OUTGOINT_CALL

D、

android_intent.action.OUTGOINT_CALL_DATA

21.请阅读以上代码,下面说法不正确的是( )

A、 以上代码进行的是广播的动态注册过程,当程序退出后这个广播接收器将不能再接收到任何广播

B、 以上代码分别建立了一个广播接收器和一个意图过滤器

C、 以上代码进行的是广播的动态注册过程,如果得到广播意图的Action,则此接收器可以接收任何的广播

D、 以上代码进行了广播的注册过程,即使本程序退出后这个广播接收器仍能再接收发送的广播

22. BroadcastReceiver广播中有几种注册方式( ).

A、 一种

B、 两种

C、 三种

D、 四种

23. 下列关于广播接收者,描述错误的是( )。

A、 广播接收者是四大组件之一

B、 广播接收者必须要在清单文件中注册

C、 广播接收者无需注册就可以监听广播事件

D、 广播接收者创建时需要继承BroadcastReceiver

24. 在android中android:permission="

android.permission.RECEIVE_BOOT_COMPLETED"权限是干什么的( ).

A、 没什么用

B、 在数据库增删改查时用的权限

C、 对文件操作的权限

D、 设置程序开机第一启动的权限

判断题

  1. Android中定义广播接收者,定义一个类要继承BroadCastReceiver类.( √)

  2. 有序广播配置优先级对应的属性是property.( ×)

  3. 配置手机重启的广播事件不需要加额外的权限.( ×)

  4. Android中广播接收者事件可以在清单文件里面注册,也可以通过代码的方式注册.( √ )

  5. Android中通过sendBroadCast方法发送无序广播( √)

  6. 广播接收者不在清单文件中注册也能接收广播。(√ )

  7. 手机重启对应的广播事件是BOOT_COMPLETED.( √ )

  8. 代码注册广播需要调用registerReceiver方法.( √)

  9. Android程序中,广播只有一种即无序广播.( × )

  10. 拦截有序广播的对应的方法是abortBroadcast().(√ )

  11. Android中广播接收者必须在清单文件里面注册(× )

  12. BroadcastReceiver广播中有2种注册方式.( √ )

  13. 注册外拨电话的广播事件时不需要加额外的权限.( × )

  14. 广播分有序广播和无序广播.( √ )

  15. 注册系统短信到来的广播事件不需要接收短信的权限.( × )

  16. 通过sendOrderBroadCast发送有序广播可以指定一个最终的广播接收者.( √)

  17. 有序广播和无序广播都可以被拦截.( × )

  18. 广播接收者只能监听来自程序的广播,不能监听来自系统的广播。( ×)

  19. 注册系统短信到来的广播事件需要加接收短信的权限.( √)

  20. 一个广播事件可以有多个广播接收者接收。( √)

  21. 发送自定义广播可以通过sendbroadCast方法进行发送(√ )

  22. Android系统内置了很多广播,例如手机开机完成会发送一条广播。( √)

  23. Android中广播分为有序广播和无序广播2种.( √ )

  24. 有序广播和无序广播都可以被拦截.( ×)

  25. 注册外拨电话的广播事件对应的action是android_intent.action.NEW_OUTGOING_CALL .( √ )

  26. Android中所有广播接收事件必须都在清单文件注册.( ×)

填空题

  1. ___方法可以用来拦截有序广播,终止广播__abortBroadcast()

  2. Android中发送有序广播和无序广播分别对应哪两个方法___ abortBroadcast()_,sendOrderedBroadcast().

  3. 有序广播配置优先级需要在清单文件配置___ __属性. android:priority

  4. 代码注册广播需要调用___registerReceiver()____方法,解除广播需要调用___unregisterReceiver()____方法。

  5. sendBroadCast是发送___无序____广播.

  6. 注册系统短信到来的广播事件类型的action是___android.permission.RECEIVE_SMS____.

  7. 拦截有序广播的方法是______. abortBroadcast()_

  8. 在Android系统中,广播分为___有序____广播和___无序____广播

  9. BroadcastReceiver广播中有___2____种注册方式.

  10. 注册广播有两种方式,常驻型广播与__非常驻型广播_____。

  11. 开机自动运行android程序的广播在android的manifest文件中添加的action属性是___ antion android:name=” android.intent.action.BOOT_COMPLETED”____.

  12. ____ ___方法是发送有序广播. sendOrderedBroadcast()

  13. Android中定义广播接收者要继承__ ___类. BroadcastReceiver

  14. 手机重启对应的广播事件是____antion android:name=” android.intent.action.BOOT_COMPLETED”____.

  15. 注册系统短信到来的广播事件需要加入的权限是___ __. android .permission.RECEIVE_SMS

  16. 广播是一种运用在应用程序之间__ ____的机制。_消息传递

  17. 在清单文件中注册了NEW_OUTGOING_CALL,代码中获取到广播事件的方法是____._getOutCall()

  18. __ ___是用于过滤、接收并响应广播的一类组件。广播接收者

  19. Android清单文件配置广播接收者需要配置____ ___节点receive

  20. 注册外拨电话的广播事件是__ antion android:name=” android.intent.action.NEW_OUTGOING_CALL_____

第08章 服务

=====================================================================

选择题

1.关于AIDL说法正确的是( )

A、 AIDL语言是java语言的演变

B、 IPC全称是Interface process communication,AIDL语言可以解决进程间通信

C、 AIDL语言语法复杂,学习成本高

D、 以上说法都不正确

2.Context.startService方式的service生命周期下面正确的描述是( ).

A、 启动时 onCreate() –> onStart()

B、 停止时,onStop()–> onDestroy()

C、 启动时 onCreate()–>onStart()->onResume()

D、 停止时,onStop()

3.以下关于Service的说法,正确的是( )

A、 Service是可以与用户直接交换

B、 每个Service class可以在AndroidManifest.xml文件中有相应的< service>声明,也可以不声明直接使用

C、 Service是Android四大组件之一

D、 Service只能通过startService方式开启

4.关于Service和Thread的区别说法,不正确的是( ).

A、 service默认运行在声明它的应用进程的主线程中。

B、 service里可以执行密集运算或阻塞操作

C、 可以在Service里创建一个Thread

D、 当有耗时或阻塞的操作时应该在其中创建一个线程.

5.关于MediaPlayer说法正确的是( )

A、 MediaPlayer只能播放音频文件

B、 MediaPlayer播放音频文件必须放到Service里面

C、 MediaPlayer既可以播放音频文件也可以播放视频文件

D、 以上说法都不正确

6.以startService开启服务以下说法正确的是( )

A、 startService方式开启服务,服务一旦被开启,服务就会在后台长期运行

B、 服务开启后只能关机后才能关闭服务

C、 服务不需要在清单文件里注册

D、 服务停止时会调用onStop()

7.android中绑定一个service的方法是哪个( ).

A、 bindService(你加一下老师qq:2212771512,她会把资料发给你的 )

B、 startService()

C、 unBindService()

D、 onBind()

8.通过bindService方式开启服务,服务生命周期是( )

A、 onCreate()—onStart()—onBind()—onDestroy()

B、 onCreate()—onBind()—onDestroy()

C、 onCreate()—onBind()—onUnBind()—onDestroy()

D、 onCreate()—onStart()—onBind()—onUnBind()—onDestroy()

9.关于远程服务和本地服务说法正确的是( ).

A、 远程服务是在Tomcat服务器上的服务

B、 本地服务和远程服务一样

C、 AIDL是用来解决进程间通信的语言

D、 以上都不正确

10.把播放音乐的操作放到Service里以下说法正确的是().

A、 可以提供运行效率

B、 播放音乐的操作必须放入到服务里

C、 在Service里更安全

D、 放到服务里目的是提升进程的优先级,不容易被系统回收

11.关于IPC说法正确的是( )

A、 IPC全称是Inner process communication指进程间通信

B、 IPC全称是Interface process communication

C、 进程间通信指的是在一个应用内进行通信

D、 以上说法都不正确

12.以下关于服务的生命周期说法正确的是( )

A、A.服务的生命周期和Activity一样

B、服务的创建会执行onCreate()

C、启动时 onCreate()–>onStart()->onResume()

A、 通过startService方式开启服务,首先会调用onCreate 和 onStart方法

13.通过bindService方法来启动一个Service那么服务的生命周期正确的是( ).

A、 onCreate()—onStart()—onBind()—onDestroy()

B、 onCreate()—onBind()—onDestroy()

C、 onCreate()—onBind()—onUnbind()—onDestroy()

D、 onCreate()—onStart()—onBind()—onUnBind()—onDestroy()

14.以下关于Service的说法,不正确的是()。

A、 Service是没有用户可见的界面,不与用户交互

B、 每个Service class可以在AndroidManifest.xml文件中有相应的< service>声明,也可以不声明直接使用

C、 Service可以通过 Context.startService()来启动

D、 Service可以通过Context.bindService()来启动

15.关于服务的创建说法错误的是( ).

A、 Android中创建服务需要继承Service类

B、 Android 中的服务需要在清单文件配置

C、 Android 中的服务可以理解成是在后台运行且没有界面的activity

D、 Android中定服务能做的事情完全可以开一个子线程替代

16.关于AIDL描述错误的是( ).

A、 AIDL全称是Android interface definition Language

B、 AIDL出现目的是解决进程间通信

C、 AIDL定义接口的源代码必须以.aidl结尾

D、 AIDL语言就是java语言的演变

判断题

  1. Android中想要创建一个服务,定义一个类继承Service,并需要在清单文件中注册.(√ )

  2. 通过bind方式开启服务,服务被成功绑定后会调用服务的onBind方法。(√ )

  3. 通过startService方式开启服务,首先会调用OnCreate方法,多次调用startService方法只会调用onStart()方法.(× )

  4. 通过bindService方式开启服务和通过startService方式开启服务,服务的生命周期一样.( × )

  5. IPC全称是Inner process communication叫进程间通信( ×)

  6. 服务只有一种开启方式即startService().(× )

  7. Android中服务的生命周期和Activity的生命周期一样.( × )

  8. AIDL语言是用来解决进程间通信( √)

  9. 通过startService()方式开启服务首先会调用服务的onCreate方法,然后调用服务的OnStartCommand方法,当开启服务的Activity退出时,会执行服务的onDestroy方法。(√ )

  10. 创建一个Service,需要在清单文件中进行配置( √)

  11. Android中服务可以理解成是在后台长期运行并且没有界面的activity.( √ )

  12. 远程服务和本地服务都运行在同一个进程中.( ×)

  13. 远程服务是指运行在Tomcat上的服务( ×)

  14. AIDL 全称是Android interface definition language叫Android接口定义语言.( √ )

  15. Android中服务是四大组件之一.( √)

  16. 我们把播放音乐操作最后放到Service里进行操作.( √ )

  17. Android中创建服务组件需要继承Service类。(√ )

填空题

  1. 通过bindService方式开启服务,服务的生命周期是____onCreate()->onBind()->onUnBind()->onDestroy()___.

  2. Android进程间通信(IPC)可以通过____AIDL___技术来进行通信

  3. 通过Context.startService()方式开启服务后在,再次调用开启服务的方法会执行服务生命周期的___onStartCommand()____方法.

  4. IPC的全称是___ Inter-Process Communication____.

  5. 创建一个Service,需要在_____文件中进行配置. 清单

  6. 服务可以通过___startService____方法和_____bindService__方法来开启服务.

  7. 通过bindService方式开启服务后,当服务的调用者关闭后需要对服务进行解绑服务,解绑服务调用的方法是_____.onUnBind()

  8. 我们把播放音乐操作最后放到_____里进行操作. Service

  9. 本地服务和远程服务通过_____来实现服务的通信_AIDL_

  10. Android中创建服务需要继承____ ___类. Service

  11. 通过bindService方式开启服务,服务被绑定成功后调用服务的_____方法. onBind()

  12. 采用startService()方法开启服务,肯定会调用____ 方法。onCreat_

  13. 通过bindService方式开启的服务,____ ___方法可以进行解绑服务. onUnBind

  14. 在Android中,用于管理后台服务的控件是__ ____。_Service

  15. 采用____ ___方法开启服务后,多次调用该方法,只会执行onStart方法. startService

  16. Android中服务需要在清单文件中配置___ ____节点. service

  17. Android中有____StartService()___方式开启服务和___bindService()____方式开启服务.

  18. 下面是书本上的课后习题以及答案

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bcfWcHyK-1591090939110)(https://upload-images.jianshu.io/upload_images/22459598-a6eafff636aaa3d8?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]

1.1 习题

====================================================================

一、 填空题

1、 Android 是 Google 公司基于__Linux____平台开发的手机及平板电脑的___操作系统___。

2、 Android 系统采用分层架构,由高到低依次为___应用程序层___、应用程序框架层、核心类库___和___Linux 内核。

3、 ADB 的常见指令中,用于开启 ADB 服务的是 adb start-server____。

4、 在 Android 程序中,src 目录用于放置程序的___ java 代码文件___。

5、 Android 程序开发完成后,如果要发布到互联网上供别人使用,需要将程序___ 打包成.apk 文件___。

二、 判断题

1、 Android 实际上就是一个手机( ×)。

2、 WCDMA 是中国自己独自制定的 3G 标准,中国移动使用的就是这种标准(×)。

3、 Android 第 1 个版本 Android1.1,是 2008 年 9 月发布的(√)。

4、 gen 目录是自动生成的,主要有一个 R.java 文件,该文件可手动修改(× )。

5、 AndroidManifest.xml 文件是整个程序的配置文件( √)。

三、选择题

1、 随着智能手机的发展,移动通信技术也在不断地升级,目前传输最快的通信技术是()

A、 1G B、2G C、3G D、4G

2、 ADT Bundle 中包含了三个重要组成部分,分别是( )。

A、 Eclipse B、SDK C、SDK Manager.exe D、ADB

3、 应用程序层是一个核心应用程序的集合,主要包括( )。

A、 活动管理器 B、短信程序 C、音频驱动 D、Dalvik 虚拟机

4、 ADB 的常见指令中“列出所有设备”的指令是( )。

A、 adb uninstall B、 adb install C、adb device D、adb emulator –avd

5、 创建程序时,填写的 Application Name 表示( )。

A、 应用名称 B、项目名称 C、项目的包名 D、类的名字 )。

四、 简答题

1、 请简要说明 Android 体系结构中每个层的功能

答:Android 体系结构总共包含四层,分别是:

 应用程序层:设备上安装的软件应用都属于这一层

 应用程序框架层:包含应用 API

 核心类库:包含系统库和运行环境,系统库包含了底层 C 代码;运行环境包含了 Java

的核心库和 Dalvik 虚拟机

 Linux 内核:提供 Android 的底层驱动。

2、 请简要说明 ADB Bundle 开发工具中 SDK 的作用。

答:SDK 包含了 Android 的 API 源代码、各种工具、示例工程、用到的各种资源模板等。

五、 编程题

1、编写任意一个 Android 程序并运行起来。

1.2 习题

====================================================================

一、填空题

1、 Android 中的布局分为六种,分别是__RelativeLayout____、LinearLayout、TableLayout、GirdLayout、FrameLayout__和___AbsoluteLayout。

2、 Android 相对布局中,表示“是否跟父布局左对齐”的属性是

___android:layout_alignParentLeft。

3、 线性布局主要有两种形式,一种___水平___线性布局,一种是____竖直__线性布局。

4、 创建 Android 程序时,默认使用的布局是___RelativeLayout___。

5、 LogCat 区域中有 V、D、I、W 和 E 五个字母,其中 V 代表____显示全部信息__、D 代表____显示调试信息__、I 代表

显示一般信息、W 代表___显示警告信息___、E 代表___显示错误信息___。

二、 判断题

1、 相对布局中 android:layout_alignRight 属性表示“与指定控件右对齐”( √ )。

2、 Toast 的作用是显示一些提示信息( √)。

3、 TableRow 必须要设置 layout_width 和 layout_height 属性(×)。

4、 帧布局中可以添加多个控件,这些控件会重叠的在屏幕左上角显示(√)。

5、 Android 程序中是不支持国际化的(×)。

三、 选择题

1、 以下属性中,哪个属性可以“在指定控件左边”是( )

A、 android:layout_alignLeft B、

android:layout_alignParentLeft

C、android:layout_left D、android:layout_toLeftOf

2、 表格布局中 android:layout_column 属性的作用是指定( )。

A、 行数 B、列数 C、总行数 D、总列数

3、 实际开发中刮刮乐游戏的布局是按照( )布局写的。

A、 相对布局 B 线性布局 C 帧布局 D 绝对布局

4、 网格布局是 Android( )新增的布局。

A、3.0 B、3.1 C、3.2 D、4.0

5、 相对布局中,“是否跟父布局底部对齐”是属性( )。

A、

android:layout_alignBottom B、

android:layout_alignParentBottom

C、

android:layout_alignBaseline D、android:layout_below

四、 简答题

1、 请简述一下如何在程序中使用 Toast。

使用 Toast 可以直接调用 Tosast 的静态方法:

Toast.makeText(this, text, duration).show();

也可以创建出 Toast 对象,如:

Toast toast = new Toast(this);

toast.setText(“提示信息”);

toast.show();

2、 请说明布局有几种类型,每种类型的作用。

答:一共有六种布局,它们的作用分别是:

 RelativeLayout:相对于其他控件或者容器决定控件的位置;

 LinearLayout:使控件以竖直或者水平方向排列;

 TableLayout:使控件以表格形式排列;

 GirdLayout:能使控件交错显示,能够避免因布局嵌套对设备性能的影响,更利于自由

布局的开发;

 FrameLayout:使控件按照创建顺序在屏幕的左上角重叠显示;

 AbsoluteLayout:通过绝对的坐标控制控件摆放的位置。

3、 请编写一个用户登录界面,界面中必须要有文本提示信息(TextView),编辑框(EditText),按钮(Button),分别用于显示“用户名”、“密码”,输入用户名、密码,登录功能。

4、 自定义一个样式,使用这个样式将界面中的背景色修改,并且美化界面中的文字信息。

1.3 习题

====================================================================

一、 填空题

1、 Activity 生命周期的三种状态分别是__运行状态____、暂停状态____和___停止状态_。

2、 Activity 的四种启动模式是__ standard____、singleTop、singleTask___和___singleInstance。

3、 Android 中 Intent 寻找目标组件的方式有两种___隐式 Intent___和____显示 Intent__。

4、 Activity 生命周期中“回到前台,再次可见时执行”时调用的方法是__ onRestart()。

5、 要在 Activity 中实现数据回传,则需要使用__ startActivityForResult()方法开启另一个 Activity。

二、 判断题

1、 Activity 是 Android 应用程序的四大组件之一(√)。

2、 Intent 一般只用于启动 Activity 不能开启广播和服务(× )。

3、 Intent 可以用来开启 Activity,同样它也可以用来在 Activity 之间传递数据(√ )。

4、 Activity 默认的启动模式是 singleTop 模式(× )。

5、 在数据传递时,如果需要获取返回的数据,需要使用 onActivityResult()方法(√ )。

三、 选择题

1、 一个应用程序默认会包含( )个 Activity。

A、1 个 B、5 个 C 、10 个 D、若干个

2、 下列方法中,Activity 第一次启动到关闭不会执行的是( )。

A、 onCreate() B、onStart() C、onResume() D、onRestart()

3、 下列组件中,不能使用 Intent 启动的是( )。

A、 Activity B、启动服务 C、广播 D 内容提供者

4、 startActivityForResult()方法接收两个参数,第一个是 Intent,第二个是( )。

A、 resultCode B、request C、requestCode D、data

5、 下列关于 Activity 的描述,错误的是( )。

A、 Activity 是 Android 的四大组件之一

B、 Activity 有四种启动模式

C、 Activity 通常用于开启一个广播事件

D、 Activity 就像一个界面管理员,用户在界面上的操作是通过 Activity 来管理。

四、 简答题

1、 请简要说明 Activity 四种启动模式的区别。

1、四种启动模式分别是:

 Standard:每当启动一个新的 Activity,它就会进入任务栈,并处于栈顶的位置,对于使

用 standard 模式的 Activity,系统不会判断该 Activity 在栈中是否存在,每次启动都会创

建一个新的实例。

 SingleTop:与 standard 类似,不同的是,当启动的 Activity 已经位于栈顶时,则直接使

用它不创建新的实例。如果启动的 Activity 没有位于栈顶时,则创建一个新的实例位于

栈顶。

 SingleTask:创建的 Activity 只存在一个实例。已经存在则直接使用该实例,并将当前

Activity 之上的所有 Activity 出栈,如果没有发现则创建一个新的实例。

 singleInstance:启动一个新的任务栈管理 Activity

2、 请简要说明 Activity 的三种状态以及不同状态使用的方法。

2、Activity 三种状态分别是:

 运行状态:该状态下可以对界面进行操作

 暂停状态:界面可见但不具有焦点无法点击

 停止状态:界面不可见,一般在停止状态时保存数据以防止程序被系统强制杀死。

五、 编程题

1、 请编写一个程序,通过隐式意图打开系统中的浏览器。

2、 请编写一个数据传递的小程序,要求在第一个界面输入姓名、年龄,第二个界面上面显示“恭喜您!来到这个世界 n 年!”。

1.4 习题

====================================================================

一、 填空题

1、 序列化是将对象状态转换为 可保持或传输___的过程。

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助

因此我收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
C 、10 个 D、若干个

2、 下列方法中,Activity 第一次启动到关闭不会执行的是( )。

A、 onCreate() B、onStart() C、onResume() D、onRestart()

3、 下列组件中,不能使用 Intent 启动的是( )。

A、 Activity B、启动服务 C、广播 D 内容提供者

4、 startActivityForResult()方法接收两个参数,第一个是 Intent,第二个是( )。

A、 resultCode B、request C、requestCode D、data

5、 下列关于 Activity 的描述,错误的是( )。

A、 Activity 是 Android 的四大组件之一

B、 Activity 有四种启动模式

C、 Activity 通常用于开启一个广播事件

D、 Activity 就像一个界面管理员,用户在界面上的操作是通过 Activity 来管理。

四、 简答题

1、 请简要说明 Activity 四种启动模式的区别。

1、四种启动模式分别是:

 Standard:每当启动一个新的 Activity,它就会进入任务栈,并处于栈顶的位置,对于使

用 standard 模式的 Activity,系统不会判断该 Activity 在栈中是否存在,每次启动都会创

建一个新的实例。

 SingleTop:与 standard 类似,不同的是,当启动的 Activity 已经位于栈顶时,则直接使

用它不创建新的实例。如果启动的 Activity 没有位于栈顶时,则创建一个新的实例位于

栈顶。

 SingleTask:创建的 Activity 只存在一个实例。已经存在则直接使用该实例,并将当前

Activity 之上的所有 Activity 出栈,如果没有发现则创建一个新的实例。

 singleInstance:启动一个新的任务栈管理 Activity

2、 请简要说明 Activity 的三种状态以及不同状态使用的方法。

2、Activity 三种状态分别是:

 运行状态:该状态下可以对界面进行操作

 暂停状态:界面可见但不具有焦点无法点击

 停止状态:界面不可见,一般在停止状态时保存数据以防止程序被系统强制杀死。

五、 编程题

1、 请编写一个程序,通过隐式意图打开系统中的浏览器。

2、 请编写一个数据传递的小程序,要求在第一个界面输入姓名、年龄,第二个界面上面显示“恭喜您!来到这个世界 n 年!”。

1.4 习题

====================================================================

一、 填空题

1、 序列化是将对象状态转换为 可保持或传输___的过程。

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助

因此我收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

[外链图片转存中…(img-dxkG8uck-1715794738135)]

[外链图片转存中…(img-NV2iUpbN-1715794738137)]

[外链图片转存中…(img-g83Jovci-1715794738138)]

[外链图片转存中…(img-U39EHBtM-1715794738138)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

  • 21
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值