Android面试题摘录

时间:2024-11-09 20:08:02

本文中面试题全部选自《精通Android》(英文名“Pro android 4”)一书的章后面试题,不过这套面试题与书中内容结合比较紧密,所以选择使用时请谨慎。

####C2:Android应用程序结构

2.1、Android开发是否需要JRE或JDK?

2.3、Android SDK中的tools和platform-tools目录有什么区别?

2.4、什么是Android的视图(View)?

2.5、什么是Intent?

2.7、选择应用包名时,需要注意什么?

2.8、什么是AVD,它的作用是什么?

2.9、什么是AVD快照?如何使用?

2.10、应用所需要的mp3文件,应该存储在哪一个源文件夹

2.12、Activity的第一个生命周期回调函数是什么?

2.13、Activity的最后一个生命周期回调函数是什么?

2.14、那个类可用于记录应用的日志信息?

2.15、用于记录日志信息的的方法有哪些?区别是什么?

####C3:Android资源

3.1、我们可以命名的资源有哪些?

3.2、R.Java是什么?

3.3、为什么R.Java如此方便的用于处理资源?或者说其作用或者是作用机制

3.4、资源引用语法和为UI控件分配ID之间有什么关系?

3.5、生成资源ID时会使用文件扩展名吗?

3.6、如果两个基于文件的资源只有扩展名不同,结果会怎么样?

3.7、什么是原始资源和XML资源,他们与asset有什么不同?

3.8、XML资源能否本地化?

3.9、asset能否本地化?

3.10、你能写出并解释资源引用语法?

3.11、能都预先声明控件ID,如果能,为什么?

3.12、那些XML节点可用于创建ID?

3.13、如果将我文件保存在XML和原始目录中,Android能否会在R.java中卫这些问了见生成ID?

3.14、Android是否会为asset目录的文件生成ID?

3.15、Plurals资源的one和其他的意义是什么?

3,.16、字符串资源中是否可以使用HTML字符串?

3.17、如何在文字视图中显示HTML字符串?

3.18、如何定义一个可拖拽的矩形?

3.19、如何使用一个可以拖拽额形状?

3.20、那一个类可用于读取/rexs/xml目录的xml文件?

3.21、在Android中处理XML文件的主要类是什么?

3.22、AssetManager类有什么作用,如何使用这个类?

3.23、Resources类有什么作用,如何创建它的实例?

3.24、可否在assets文件内创建任意子目录?

3.25、可否在/res/xml资源文件夹下穿件子目录?

3.26、什么是资源配置修饰符?

####C4:ContentProvider

4.1、ContentProvider与网站的机制有什么相似性?

4.2、能否可以对一些内置的ContentProvider进行命名?

4.3、adb工具的作用是什么?

4.6、列举一些Android中的实用命令行工具

4.7、ContentProvider的数据保存在哪儿?

4.8、有什么好方法浏览ContentProvider数据库

4.9、ContentProvider的authority属性是什么意思?

4.10、ContentProvider的authority属性能否可以缩短?

4.11、MIME类型是什么?它们与ContentProvider的关系?

4.12、程序员如何查找访问ContentProvider的URI

4.13、如何使用ContentProvider URI进行数据访问

4.14、如何在ContentProvider查询中添加where子句?

4.15、如何使用游标便历查询结果?

4.16、ContentValues类有什么作用?

4.17、ContentResolver类有什么作用?

4.18、在ContentProvider中保存文件的协议是什么?

4.19、如何使用URIMatcher,它的作用是什么?

####C5:Intent

5.2、什么事显式Intent和隐式Intent?

5.3、Intent的组成部分有那些?

5.4、如何使用Intent将数据发送到接收组件?

5.5、能否为Android应用的主要组件命名?

5.6、Intent的数据部分能否直接包含数据?

5.7、Intent的操作部分是否应该直接引用活动或组件?

5.8、如果Intent中显式指定类名,Intent还应该考虑那些其他部分?

5.9、action.MAIN的意思是什么?

5.10、如果在Intent过滤器中不指定任何操作,是否意味着活动能够响应所有操作?

5.11、如果在Intent过滤器中不指定任何数据,将匹配那类类型的Intent?

5.12、为什么需要在Intent过滤器设置默认活动类别?

5.13、启动器活动是否需要设置默认类别?

5.14、如何调用能够向调用方返回结果的活动?

5.15、调用活动的最快方法是什么?

5.16、action_pick和action_get_content有什么区别?

####C6、用户界面和控件

1、TextView是否能够接受用户输入?

2、什么时候应该在EditText域中使用Spannable?

3、如何自定义ImageButton在按下和释放操作时的外观?

4、适配器是否始终需要从ContentProvider获取数据?

5、一个ListView可否包含多个视图?

6、ListView是否始终要包含至少一个TextView?

7、ListVIew项的布局由什么定义?它们的位置在哪里?

8、Spinner与其它列表控件有何不同?

9、TableLayout和GridView,哪一种布局更适合以行和列的格式显示数据库表名列表?

10、什么时候应该在用户界面上使用AbsoluteLayout?

11、android:layout_weight的作用是什么?

12、android:gravity和android:layout_gravity有何区别?

13、是否可以将活动强制显示在一个指定方向上?

14、那一个布局管理器可用管理android:Layout_to_right of?

15、在什么情况下,列表适配器的ID等于它的位置值?

####C7、菜单

1、在Android SDK中,那种类型菜单可用?

2、菜单项有那些重要属性?

3、创建菜单项会调用那些回调方法?

4、响应菜单项会调用那些回调方法?

5、菜单项目的顺序是否受其组ID的影响?

6、如何在处理菜单项上附加单击事件的监听器?

7、如何使用Intent响应菜单项?

8、是否可以通过菜单项的Intent启动一个服务?

9、展开的菜单是指什么?

10、如何给菜单项添加图像?

11、菜单展开时,是否会显示图像?

12、Android的长单击是指什么?

13、从所属位置来看?菜单和上下文菜单有什么不同?

14、用于创建上下文菜单的回调方法是什么?

15、用于响应上下文菜单的回调方法是什么?

16、每一个视图都会调用OnCreateContextMenu吗?

17、如何出发上下文菜单的创建?、

18、回调方法onCreateContextMenu()可以接受那三个参数?

19、如何在应用中附加交替菜单?

20、如何在菜单每次调用或应用数据发生变化时,动态修改菜单行为?

21、XML菜单文件保存在哪里?

22、每一个菜单都需要单独的XML菜单文件吗?

23、如何使用R.Java识别菜单项ID?

24、如何蒋XML文件定义的餐点附加到活动?

25、菜单ID和菜单项ID是否属于相同的资源类型?

26、菜单填充类的作用是什么?

27、如何活得一个菜单填充类的实例?

####C8、Fragment

1、Fragment的父类是什么?

2、碎片和活动之间有什么相同点、

3、碎片和活动之间有什么不同点?

4、恢复堆栈的作用是什么?

5、是否存在某个不实用恢复堆栈的应用程序?

6、回滚FragmentTransaction,将应用程序恢复到前一个状态:这个说法正确吗?

7、<fragment>标签如何指定使用那个碎片?

8、数据适配器应该附加到ListFragment上,还是附加到ListFragment的ListView上?

9、有哪些不同方法可以查找应用程序中正在运行的碎片?

10、插值器是什么,它有什么作用

11、列举一些可以使用动画生成器的视图尺寸

12、是否可以在一个自定义尺寸类上使用动画生成器?如果可以,动画生成器需要使用什么对象?、

####C9、对话框

1、在对话框fragment显示之后,代码能否立即读取提示对黄跨fragment的用户输入?为什么?

2、使用DialogFragment的哪一种方法可以构建视图层次?

3、使用哪一种方法可以返回一个马上可以使用的对话框?

4、对话框Fragment的可以使用用来显示对话框?

5、这个方法有那两种调用方式,那种方式更简单一些?

6、通过使用onDismiss(),能否判断用户单击了对话框碎片的按钮?为什么?

7、DialogFragment能否显示另外一个DialogFragment?如果可以,新的对话框Fragmen显示时,能否会对另一个DialogFragment产生影响?

8、在何处设置对话框的样式和主题?

9、Toast消息的持续时间选择有那些?

10、如何获取一个对话框Fragment,记住配置变化(如设备旋转)时用户输入的内容?

####C10、ActionBar

1、什么是操作栏,它的主要可视化组件是什么?

2、操作栏包括那三种类型?

3、如何将菜单项显示为操作栏图标?

4、R.id.home是什么?

5、如何设计一种模式,使所有活动都共享一个通用的操作栏/菜单栏?\

6、如何获得一个操作栏实例?

7、如何在操作栏上添加选项卡?

8、如何响应操作栏的选项卡单击操作?

9、一个操作栏是否能够控制多个活动?

10、菜单项显示在操作栏时,可能包含那些值?

11、为什么对列表导航组建来说,SpinnerAdapter很重要?

12、如何将一族可单击的项目传递给列表导航选项卡?

13、如何使用碎片简化操作栏模式?

14、在操作栏中实现搜索部件需要使用那些制品?

####C11、高级调试和分析

1、判断题:如果要调试应用程序,必须将AndroidManifest.xml文件中的<application>标签的android:debuggable属性显式地设置为true。

4、使用那一个DDMS特性可以获取关于应用程序当前内存分配的统计信息?

5、如何确定应用程序运行的线程数量?

6、如何去顶应用程序中某一个方法的调用次数,以及该方法的执行时间?

7、在哪里能够获取设备屏幕的截图?

12、如何在运行的模拟器上创建一个Linux shell会话?

13、如何在真实设备上做上题操作,真实设备存在那些限制?

14、如何确定模拟器的端口号,从而可以使用Emulator Console连接模拟器?

15、StrictMode主要检查哪两个方面的内容?

####C12、响应配置变化

1、判断题:所有配置变化都是由设备旋转引起的吗?

2、那一个Android基本特性使平配置更易于变化?

3、那一个回调方法可以向互动通知配置变化?

4、默认的配置变化回调方法有什么作用?

5、在保存状态时,那些对象的类型不能保存在打包对象中?

6、在配置变化过程中,那些状态信息不应该保存在打包对象中?

7、哪一种Fragment更适合使用setRetainInstate(true)方法调用?

####C13、首选项及保存状态

1、列出物种不同类型的首选项。

2、那一个首选项属性可用于存储所选择的值?

3、一个应用程序可以有多少个共享首选项文件?

4、那一个源目录通常用于存放首选项定义文件?

5、包名为name com.androidbook.myapp的应用程序的共享首选项文件的位置在哪里?

6、共享首选项文件第一次在何时创建:在应用程序安装时,还是安装之后的某个时间?如何是后者,具体在什么时间创建?

7、如何要升级应用程序,并且增加一些新的首选项,应该考虑那些问题?

8、如果要接受init首选项的值,应该使用那一个类的那一个方法?

9、在AndroidManifest.xml文件中,应该使用那一个分类名设置PreferenceActivity?

10、在首选项XML中,哪两个标签可用于创建标题?

11、是否允许在共享首选项文件中保存一个值,但又不在首选项屏幕上显示?

12、Editor类的commit()方法有什么重要之处?

####C14、探索安全性和权限

3、那一个工具用来创建和查看数字证书?

4、那一个工具可用于创建应用程序数字帧数签名?

5、zipalign对应用程序起什么作用?

6、zipalign是否会大幅增加应用程序的大小?为什么?

7、如果已安装的应用程序证书过期,该应用程序是否会在设备上停止运行?

8、应用程序的权限证明保存在那一个文件中?

9、在应用程序为另一个活动授予URI权限职之前,必须先执行那些操作?

####C15、构建和使用服务

1、为什么在主UI线程上调用Web服务是一种较差的实践?

3、Android提供那些解析XML的方法?

4、调用Web服务可能发生那些异常?这些异常的处理方法是什么?

5、处理HTTP连接的轻量类是什么?

6、AsyncTask的4个回调方法是什么?那些方法运行在主UI线程上?那些是可选的?

7、AsyncTask实例可以执行多少次?

8、如何强制要求DownloadManager只通过WiFi网络下载内容、

9、Android服务提供了独占的后台线程?

10、在Android应用程序中使用服务的原因是什么?

11、能否可以绑定本地服务?

12、请指出一个从服务向NotificationManager发送通知的原因?

13、ThreadGroups适合用于执行什么操作?

14、Parcelable是否可用于向活动发送数据?为什么?

15、为什么不要从服务启动一个活动?

####C16、包

1、如何查看设备所安装的应用或程序包?

2、如何强制中止或卸载应用程序?

3、如何使用PKI保证程序包的所有权?

4、称公共密钥和私有密钥都是非对称密钥,这意味着什么?

5、一个程序包是否可以包含多个证书或密钥?

6、是否可以使用相同的证书创建多个程序包的签名?

7、什么时候应该使用相同的密钥创建多个程序包的签名?

8、linux进程和程序包文件存在什么关系?

9、.apk进程运行在那一个用户ID之下?

10、什么是共享用户ID?

11、共享用户ID的前提条件是什么?

12、共享用户ID的有点是什么?

13、那一个API可用于读取其它程序包拥有的文件?

14、什么是库项目,什么时候使用它?

15、库项目是否能够包含一些UI组件,如活动?

16、如果不确定那一个应用将来会使用那一个库,那么应该如何命名这个库的程序包?

17、一个库是否能够使用与应用程序不同的报名?

18、一个库项目能否使用其它Jar文件?

19、是否需要在应用的配置清单文件的库中定义活动

20、如何标明一个项目是库项目?

21、能否直接在使用库的项目中编辑库项目的源文件?

22、从4.0开始为什么库的R.java文件的ID变成非final的?

23、为什么不能在库的Java源文件中使用switch语句?

24、使用库的主应用程序项目是否需要添加包含整个库项目及其资源的Jar文件?