安卓233

1、下面关于Fragment的描述,正确的是----使用Fragment,能使程序更加合理和充分地利用屏幕的空间
2、下列选项中,属于设置VideoView控件加载视频的方法的是----setVideoPath()
3、下列选项中,属于自定义内容观察者继承的类的是----ContentObserver
4、下面关于OnGestureListener接口的描述,正确的是()。
A、可以监听一些单击、滑动、长按等手势
B、当用户手指在屏幕上“拖过”(快速滑动时松手)时会触发OnGestureListener接口中的onFling()方法
C、当用户手指松开时一定会触发onSingleTapUp()方法
D、当用户按下屏幕时会触发onShowPress()方法

B选项中,当用户手指在屏幕上“拖过”会执行onFling()方法。C选项中当用户手指松开时,如果没有触发onScroll()方法和onLongPress()方法,才会触发onSingleTapUp()方法。

5、下列选项中,属于设置VideoView重新播放视频的方法的是----resume()
6、下列选项中,属于设置ListView分割线颜色的方法是----android:divider
7、下列选项中,属于设置补间动画播放时长的属性的是----android:duration
8、下列选项中,属于View监听触摸事件时,必须实现的接口的是----View.OnTouchListener
9、下列选项中,属于设置TableLayout布局中的控件显示位置的属性为----android:layout_column
10、下列选项中,属于后退键的是----KEYCODE_BACK
11、下面关于ListView的描述,错误的是----ListView必须实现滚动条的显示,才能实现滑动功能
正确

----ListView以列表的形式展示数据内容
----ListView的条目之间显示分割线
----ListView能够根据列表的高度自适应屏幕显示

12、下列选项中,属于SQLiteDatabase中开启数据库事务方法的是----beginTransaction()
13、下列选项中,属于Android中使用的数据库的是----SQLite
14、下列选项中。属于控件上的焦点发生改变时触发的方法的是----onFocusChanged()
15、下列选项中,属于处理屏幕触摸事件的方法的是----onTouchEvent()
16、下列选项中,属于Editor类中存储String类型参数的方法的是----putString()
17、下列选项中,属于开启Activity方法的是----startActivity()
18、下列选项中,属于获取ContentResolver实例对象的是----getContentResolver()

19、下列选项中,属于在清单文件中配置服务的标签的是

20、下列选项中,属于获取SurfaceHolder类的方法的是----getHolder()
21、下列选项中,属于为ListView添加适配器的方法的是----setAdapter()
22、下面关于HttpURLConnection访问网络的描述,正确的是----使用HttpURLConnection访问网络时需要设置超时时间,以防止连接被阻塞时无响应,影响用户体验
23、下列选项中,属于可以长期运行在后台的组件的是----Service
24、下面关于Service的描述,错误的是----Service依赖于Activity,当Activity销毁时,Service也被销毁
25、下列选项中,属于Matrix类中用于旋转图片的方法的是----setRotate(),setTranslate()用于平移图像,setScale()用于缩放图像,setSkew()方法用于倾斜图像。
26、下列选项中,属于数据库版本号增加时调用的方法的是----onUpgrade()
27、下列选项中,属于WebView类的方法的是----setWebChromeClient()
28、下面关于Android中消息机制的描述,正确的是----Handler是用来发送消息和处理消息的

29、下列选项中,属于在清单文件中配置广播接收者标签的是

30、下面关于Bitmap的描述,错误的是----Config表示位图
31、下列选项中,属于设置EditText控件中输入的内容只能是数字的属性的是----android:phoneNumber
32、下列选项中,属于Android对数据库表中的数据进行修改操作的方法是----update()
33、下列选项中,属于SharedPreferences获取编辑器的方法为----edit()
34、下面关于Android各版本代号的描述,正确的是----Android 5.0 Lollipop(棒棒糖)
35、下列选项中,属于Dalvik虚拟机基于的架构的是----寄存器
36、下面关于SimpleAdapter的描述,正确的是----SimpleAdapter数据适配器
37、下列选项中,属于在BaseAdapter中获取ListView条目总数的方法的是----getCount()
38、下面关于Looper主消息的循环器的描述,正确的是----Looper用来监视消息队列里面的数据,一旦发现消息队列里面有数据就把消息给取出来
39、下列选项中,属于指定文件只能被当前程序读写的操作模式的是----MODE_PRIVATE
40、下列选项中,属于接收系统广播的组件的是----BroadcastReceiver
41、下列选项中,属于设置WebView控件支持JavaScript代码的方法的是----setJavaScriptEnabled()
42、下面关于bindService()方法启动服务的描述,正确的是----可以通过unbindService()方法停止该服务
43、下列选项中,用于EditText控件中内容为空时显示提示文本信息的属性为----android:hint
44、下列选项中,属于Android系统提供的处理物理按键事件的回调方法的是----onKeyDown()
45、下面关于GestureDetector的接口描述,正确的是----OnGestureListener接口用于监听一些单击、滑动、长按等手势
答案说明 :
OnDoubleTapListener接口用于监听双击和单击手势,OnContextClickListener接口用于监听鼠标/触摸板右击手势。选项C中,SimpleOnGestureListener是类。
46、下列选项中,属于位图工厂的是----BitmapFactory
47、下列选项中,属于在GestureLibray类中获取手势库中所有手势名称的方法的是----getGestures()
48、下面关于WebView的描述,正确的是----可以使用loadData()加载HTML代码
答案说明 :
WebView类提供了loadData()和 loadDataWithBaseURL()方法加载HTML代码。当使用loadData()方法来加载带中文的HTML内容时会产生乱码,但是使用loadDataWithBaseURL()方法就不会出现这种情况。
49、下列选项中,属于在XML文件中调用drawable文件夹中的icon图片资源代码的是----@drawable/icon

50、下列选项中,属于线性布局的标签是()。

51、下面关于服务通信描述,正确的是----AIDL定义接口的源代码必须以.aidl结尾
答案说明 :
A选项中,远程服务通过AIDL进行通讯,B选项中,AIDL接口中用到的数据类型,除了基本数据类型String、List、Map、CharSequence之外,其他类型全部都需要导入包。
52、下面关于LogCat的描述,正确的是----Android使用android.util.Log类的静态方法实现输出程序的调试信息
B选项中LogCat区域中日志信息根据日志级别的不同显示不同的颜色,C选项中Warning级别的日志是警告信息,error级别的日志显示的是错误信息。
53、下列选项中,属于Android Studio工具中创建项目时选择的按钮的是Start a new Android Studio project
Open an existing Android Studio project选项为打开已经存在的Android Studio项目,Profile or debug APK选项为配置和调试APK,Import an Android code sample选项为导入官方样例。
54、Canvas类中用于绘制椭圆形的方法为----drawOval()
Canvas类中的drawCircle()绘制圆形,drawRect()绘制矩形,drawRoundRect()绘制圆角矩形。
55、下列选项中,属于只能在View中重写的方法的是----onFocusChanged()
56、下列选项中,属于系统软件Gestures Builder保存手势的路径的是----/storage/emulated/0/gestures
57、下列选项中,属于自定义View中测量尺寸的方法的是----onMeasure()
58、下列选项中,属于HttpURLConnection提交数据后请求成功的状态码的是----200
59、设置画笔是否使用抗锯齿功能的方法为----setAntiAlias()
setDither()方法用于指定是否使用图像抖动处理,setXfermode()方法用于设置图像的混合模式,setARGB()方法用于设置画笔的颜色。
60、下面关于任务栈的描述,正确的是----任务栈有压栈和出栈的操作
B、当打开Activity时,该Activity就被压入栈顶。C、当Activity被销毁时,该Activity的实例从栈顶弹出
61、下面关于文件存储的描述,正确的是----外部存储的文件可以被其他应用程序所共享
62、下列选项中,不属于JSON数据的是----{“abc”,12345,false,null}
Object的Json数据必须是“名称:值”的形式
63、下面选项中,属于GestureLibray类中保存手势库的方法的是----save()
64、下列选项中,属于指定项目中所使用的SDK路径的文件的是----local.properties
65、下列选项中,当屏幕密度为460dpi时,属于Android系统查找图片资源文件夹的是----drawable_xxdpi
66、下面关于ContentProvider的URI Authorities描述,正确的是----唯一标识
67、startActivityForResult()方法中提供了两个参数,用于标识请求的来源的参数是----请求码
68、下面关于广播的描述,正确的是----有序广播可以被接收者拦截
69、下列选项中,属于CheckBox控件设置选择监听事件的方法的是----setOnCheckedChangeListener
70、下列选项中,属于RelativeLayout布局中添加view控件的方法的是----addView()
71、下面关于单选对话框的描述,正确的是----单选对话框中的确定按钮是通过setPositiveButton()方法实现的
点击返回键或者是单选对话框外的区域也可是单选对话框消失
72、下列选项中,属于获取WebSettings对象的方法的是----getSettings()
73、下列选项中,属于在相对布局中将当前控件显示在某控件上方的属性的是----android:layout_above
74、下列选项中,属于Log类中显示黑色的日志内容的方法的是----Log.v()
75、下列选项中,属于在相对布局中将控件显示在另外一个控件的右侧的属性的是----layout_toRightOf
76、下列选项中,属于创建服务时必须实现的方法的是----onBind()
77、下列选项中,属于设置ImageView控件显示图片资源的属性是----android:src
android:src用于设置ImageView控件需要显示的前景图片,android:background属性设置ImageView控件的背景。
78、下列选项中,属于获取SharedPreferences的实例对象的方法是----getSharedPreferences()
79、Android开发中,如果TableLayout的第一个TableRow有两个控件,第二个TableRow有三个控件,那这个TableLayout的列数为----3
80、下面关于Activity生命周期状态的描述,正确的是----Activity在暂停状态用户对他操作没有响应
81、下列选项中,属于OnLongClickListener接口的方法的是----onLongClick()
82、下列关于Fragment的描述,正确的是----可以通过getFragmentManager()方法获取FragmentManager实例。
83、下列选项中,当使用bindService()方法启动的服务时,属于停止服务调用的方法的是----unbindService()
84、下面关于数据存储方式的描述,正确的是----SQLite是Android自带的一个轻量级的数据库
85、下面的选项中,属于应用程序框架层的是----活动管理器
86、下列选项中,不属于OnGestureListener接口中的方法的是----onKeyDown()
87、下面关于静态注册广播接收者中Exported属性的描述,正确的是----是否接收当前程序之外的广播
88、下面关于单元测试的描述,正确的是----ExampleUnitTest属于Junit单元测试类
89、下列选项中,属于Fragment和Activity建立关联时调用的生命周期方法是----onAttach()
90、下列选项中,属于Android中能观察到系统短信数据库变化的类的是----ContentObserver
91、下列选项中,属于Matrix类矩阵前乘的方法的是----preScale()
A选项的setScale()是设置Matrix的矩阵,postScale()方法涉及到Matrix的矩阵的后乘。
92、下列选项中,属于开始提供RecyclerView控件的Android版本的是----Android 5.0
93、下面关于Intent的描述,正确的是----Intent用于启动Activity、Service以及发送广播
94、下面关于SoundPool的描述,正确的是----SoundPool可以同时播放多个短小的音频
95、在相对布局中,用于设置当前控件位于某控件左侧的属性是----android:layout_toLeftOf
96、下列选项中,属于Environment类中获得SD根目录的方法的是----getExternalStorageDirectory()
97、下列选项中,属于没有明确指定组件名的Intent类型的是----隐式Intent
98、下列选项中,属于在清单文件中注册内容提供者时能被其他应用程序使用的属性是----android:exported=“true”
99、下列选项中,不属于onActivityResult()方法中参数的是----result
100、下面关于模拟器的说法,正确的是----在模拟器上可预览和测试Android应用程序。
模拟器属于模拟设备
101、下列选项中,属于操作Android系统短信数据库中数据的类是----ContentResolver
102、下面关于OnDoubleTapListener接口中的方法的描述,正确的是----当用户双击屏幕时会触发onDoubleTap()方法
103、下面关于SQLite数据库的描述中,错误的是----每次调用SqliteDatabase的getWritableDatabase方法时,都会执行SqliteOpenHelper的onCreate()方法
多选题
104、下列选项中,属于Android系统的补间动画的是----透明度渐变动画(AlphaAnimation),旋转动画(RotateAnimation),缩放动画(ScaleAnimation),平移动画(TranslateAnimation)
105、下面关于字符串资源的描述,正确的是----可以在布局文件中调用字符串资源,可以在Java代码中调用字符串资源
A选项标签可以定义字符串资源,B选项资源串资源定义在strings.xml文件中。
106、下面关于广播的描述,错误的是----Android中定义广播接收者要继承Receiver,Android中定义广播接收者只能接收系统定义好的广播
107、下面关于创建程序的描述,正确的是----需要指定程序的项目名称,需要指定程序的存储路径,需要指定程序最小的SDK版本,Android Studio提供了不同类型的Activity
108、下列选项中,属于Android中常用的绘图类的是Bitmap,Bitmap,Factory,Paint,Canvas
109、下列选项中,属于Toast显示提示信息时间的参数的是Toast.LENGTH_SHORT,Toast.LENGTH_LONG
110、下列选项中,属于Android中图片资源格式的是----.png.jpg.gif.png
111、下列选项中,属于隐式Intent匹配过滤器中属性的是----action,category,data
112、下列选项中,属于Fragment生命周期状态的是----启动状态,运行状态,暂停状态,销毁状态
113、下列选项中,属于startService()方法启动服务时执行的生命周期方法的是----onCreate(),onStartCommand()
114、下列选项中,属于用户触摸屏幕时产生的手势的是----按下,滑动,弹起
115、下列选项中,属于布局的宽度值的是----fill_parent,match_parent,80dp,wrap_content
116、下列选项中,属于设置MediaPlayer数据源的方法的是----create(),setDataSource()
117、下列选项中,属于RecyclerView控件显示效果的是----竖向列表效果,瀑布流效果,GridView效果,横向列表效果
118、下面关于Android Studio工具的Default Settings窗口的描述,正确的是----在该窗口中可以设置Android SDK的存储路径,在该窗口中可以查看SDK版本,在该窗口中可以下载Tools工具
119、下面关于主题和样式资源的描述,正确的是----主题是包含一种或多种的格式化属性集合,主题可用于改变窗体的样式,主题和样式资源可以定义在styles.xml文件中
120、下列选项中,属于SharedPreferences保存的数据类型的是----long,Set,float
121、下列选项中,属于Bitmap的每个像素占用2个字节的值的是----Config.ARGB_4444,Config.565,Config.ALPHA_8
122、下列选项中,属于ContentProvider类中的方法的是----onCreate(),getType(),insert(),query()
123、下列选项中,属于WebView控件中的方法的是----loadUrl(),capturePicture(),goBack(),stopLoading()
124、下面关于安装Android Studio3.2版本的描述,正确的是----可以下载SDK,可以选择UI主题
125、下列选项中,属于ConstraintLayout布局新特性的是----相对定位,居中定位和倾向,Chain
126、下面关于Button控件的描述,正确的是----Button控件表示按钮,Button继承自TextView,Button控件可以显示图片,Button控件可以设置点击事件
127、下列选项中,属于Service生命周期方法的是----onStartCommand(),onUnbind(),onBind(),onDestory()
128、下面关于颜色资源的定义,正确的是----#fff,#ffff,#ffffff
129、下列选项中,属于Android体系结构中的应用程序层的是----联系人程序,短信程序130、
130、下面关于Tomcat的描述,正确的是----Tomcat是Sun公司推荐的运行Servlet和JSP的容器,Tomcat的源代码是完全公开的,Tomcat可以作为独立的Web服务器软件,Tomcat运行稳定、可靠、效率高。
131、下列选项中,属于事件监听的处理模型的是----Event Source,Event,Event Listener
132、下列选项中,属于ListView适配器的是----BaseAdapter,SimpleAdapter,ArrayAdapter
133、下面关于SurfaceView的描述,正确的是----SurfaceView控件可以和MediaPlayer类结合使用,SurfaceView控件具有双缓存机制
134、下面关于CheckBox控件的描述,正确的是----CheckBox表示复选框,他可以实现多选功能,可以通过android:checked属性指定是否选中的状态
135、下面关于onKeyDown()方法的描述,正确的是----该方法主要用于捕捉手机键盘被按下的事件,Android程序中所有的View都可以重写该方法,该方法是KeyEvent.Callback接口中的抽象方法
136、下面关于bindService()方法的描述,正确的是----bindService也是开启服务的一种方法,通过bindService方式开启服务可以调用服务里面的方法,bindService方式开启服务,服务的特点是不求同时生,但求同时死。
137、下列选项中,属于MediaPlayer支持的音频类型的是----AudioManager.STREAM_MUSIC,AudioManager.STREAM_RING,AudioManager.STREAM_ALARM,AudioManager.STREAM_NOTIFICTION
138、下面关于JSON数据的描述,正确的是----JSON数据易于人阅读和编写,易于机器解析和生成,JSON数据能有效地提升网络传输效率
JSON数据不可以直接显示到程序的界面上,需要将该数据解析为一个集合或对象的形式才可以显示到界面上
139、下面关于尺寸资源单位的描述,正确的是----每个px对应屏幕上的一个点,dp是一种与屏幕密度无关的尺寸单位
in是标准长度单位,sp主要用于处理字体的大小。
140、下面关于AlertDialog对话框的描述,正确的是----AlertDialog对话框用于提示一些重要信息或者显示一些需要用户额外交互的内容,可以调用AlertDialog.Builder的create()方法创建AlertDialog对象,AlterDialog一般包含标题、内容和按钮三个区域,AlertDialog对话框的内容可以为简单文本、单选列表、多选列表
141、下列选项中,属于Activity之间进行数据回传时所用到的方法的是----startActivityForResult(),setResult(),onActivityResult()
142、下面关于startService()方法启动服务的描述,正确的是----服务会长期在后台运行,启动服务的组件与服务之间没有关联,可以通过stopService()方法停止该服务
143、下面关于广播机制的描述,正确的是----广播发送者异步执行,可以使用广播在不同程序之间进行通讯
144、下列选项中,属于MIME类型的是----video/mpeg,audio/mpeg,image/ipeg
145、下列选项中,属于HttpURLConnection中的方法的是----setRequestMethod(),setConnectTimeout(),disconnect()
选项C的openConnection()属于URL类的方法。
146、下列选项中,属于Log类中显示红色的日志内容的方法的是----Log.e(),Log.wtf()
147、下面关于Android程序结构的描述,正确的是----src/main/res目录用于存放程序的资源文件,src/main/java目用于存放程序的代码文件,libs文件夹用于存放第三方jar包
setting.gradle用于配置在Android程序中使用到的子项目,而build.gradle是程序的gradle构建脚本。
148、下列选项中,属于Activity之间传递的数据类型的是----
A、String
B、int[]
C、Parcelable
D、double
149、下列的选项中,属于KeyEvent.Callback接口中的方法的是----
A、onKeyUp()
B、onKeyDown()
150、下面关于颜色资源的描述,正确的是----
A、在XML布局文件中可通过@color调用颜色资源
B、可以通过调用getResources().getColor()方法加载颜色资源
C、颜色资源通常定义在res/values/colors.xml文件中
151、下列选项中,属于设置TextView控件中文本内容样式的是----
A、bold
B、italic
C、normal
152、下列选项中,属于Intent传递数据的方法的是----
A、putExtra()
B、putExtras()
153、下列选项中,属于RecyclerView适配器的方法的是----
A、onCreateViewHolder()
C、onBindViewHolder()
154、下面关于通信技术的描述,正确的是----
B、蜂窝电话标准很容易被窃听
C、4G是集3G与WLAN于一体的通信技术
D、2G时代也有智能手机,可以支持一些简单的Java小程序
1G指最初的模拟、仅限语音的蜂窝电话标准。
155、自定义View时,属于onMeasure方法的测量模式的----
A、EXACTLY
B、AT_MOST
D、UNSPECIFIED
判断题
156、Google以Apache开源许可证的授权方式,发布了Android的源代码。

157、Android的四大组件包括Activity、Service、ContentProvider和Receiver。

答案说明 :
Android的四大组件包括Activity、Service、ContentProvider和BroadcastReceiver。
158、HttpURLConnection可以发送和接收长度不超过1k的数据。

159、手机的手写输入的原理是根据用户输入的内容在预先定义的词库中查找最佳匹配项供用户选择。

160、远程服务通信是通过AIDL(Android Interface Definition Language)实现的。

161、Android中WebView控件加载网页时,必须在AndroidManifest.xml中注册网络访问权限。

162、OnFocusChangeListener接口用于处理控件焦点发生改变的事件。

163、过滤器中的action属性用来指定Intent对象的动作。

164、LinearLayout通过以父容器或其它子控件为参照物,指定布局中子控件的位置。

答案说明 :
相对布局通过以父容器或其它子控件为参照物,指定布局中子控件的位置。而LinearLayout通常指定布局内的子控件水平或者竖直排列。
165、Android中服务的生命周期方法和Activity的生命周期方法一样。

166、SQLite数据库的事务操作满足原子性、一致性、隔离性和持续性。

167、颜色值的内容必须是Alpha-Red-Green-Blue的形式。

答案说明 :
颜色值的内容可以不用设置Alpha透明度。
168、通过隐式意图Intent启动Activity时,需要明确指定激活组件的名称。

答案说明 :
隐式Intent不会明确的指出需要激活的目标组件。
169、SharedPreferences使用XML格式将数据存储到设备中。

170、android:textSize属性可以设置TextView中的文本显示的大小。

171、在日志过滤器中,可以使用TAG过滤信息。

172、与ListView不同的是,RecyclerView加载数据时不需要适配器。

173、使用HttpURLConnection访问网络的两种网络请求方式分别为GET、POST。

174、使用SoundPool可以循环播放音频。

175、使用Gson库解析数据时,创建实体类的成员名称必须与JSON数据中的key值一致。

176、普通对话框的内容区域是由AlertDialog.Builder对象调用setMessage()方法设置的。

177、单元测试包括Android单元测试和Junit单元测试。

178、使用XML布局文件控制界面布局,能够有效的将界面中布局的代码和Java代码隔离,使程序的结构更加清晰。

179、在Android Studio工具中可以编辑代码,不可以查看布局效果。

180、Activity是一个负责与用户交互的组件。

181、TextView控件用于显示文本信息。

182、布局资源文件只能在Java代码中调用。

答案说明 :
布局资源文件不仅可以在Java代码中调用,也可以在XML文件中调用。
183、android:foregroundGravity属性用于设置FrameLayout布局中前景图像显示的位置。

184、ContentProvider实现了不同应用之间的数据共享。

185、AlterDialog可以调用show()方法显示对话框。

186、在主线程中必须使用Looper.loop()方法开启消息循环才能使用Handler发送消息。

187、颜色值必须以“#”开头,“#”后面显示Alpha-Red-Green-Blue形式的内容,其中Alpha(透明度)必须定义。

答案说明 :
颜色值必须以“#”开头,“#”后面显示Alpha-Red-Green-Blue形式的内容,其中Alpha(透明度)可以省略不写。
188、TableLayout布局中,通过添加TableRow布局控制表格的列数。

答案说明 :
TableRow布局可以控制表格的行数
189、Activity创建时,执行了生命周期中的onCreate()方法。

190、Activity销毁时执行执行方法是onDestroy()。

191、布局的android:id属性用于设置当前布局的唯一标识。

192、WebView控件加载网页时,不能设置放大缩小的功能。

答案说明 :
WebView控件加载网页时,可以通过setSupportZoom()和setBuiltInZoomControls()设置放大缩小的功能。
193、ContentResolver中的增、删、改、查方法可以根据Uri操作ContentProvider提供的数据。

194、GestureDetector类可以根据用户触摸的轨迹来判断绘制的手势。

195、自定义的广播只能被本应用的广播接收者接收,不能跨应用发布信息。

答案说明 :
自定义的广播不仅能被本应用接收,也可以跨应用发布信息。
196、TextView控件中只能显示文本信息,不能显示图片。

答案说明 :
TextView控件中即能显示文本信息,也能显示图片。
197、Fragment的生命周期是独立的,不受其他组件的影响。

答案说明 :
Fragment是被嵌入到Activity中使用的,因此他的生命周期的状态直接受其所属Activity的生命周期状态影响。
198、Android系统的Linux内核层主要提供了构建应用程序时用到的各种API。

答案说明 :
Android系统的应用程序框架层主要提供了构建应用程序时用到的各种API,而Linux内核层为Android设备的各种硬件提供了底层的驱动。
199、Android系统提供的五种常用布局必须指定其宽高。

200、ContentProvider的getType()方法用于返回指定Uri代表的数据类型MIME。

201、android:orientation属性设置线性布局中控件竖直排列的属性值为vertical。

202、android:layout_height属性用于设置布局的高度。

203、Java代码只能编写代码逻辑,不能编写布局界面。

204、Android系统中的手势编辑控件为GestureOverlayView。

205、多个组件可以绑定一个服务。

206、SurfaceView继承自VideoView,他是显示图像的控件。

答案说明 :
SurfaceView继承自View,他是显示图像的控件。
207、单选对话框的内容区域是由AlertDialog.Builder对象调用通过setMessage()实现的。

答案说明 :
单选列表通过AlertDialog.Builder对象调用setSingleChoiceItem()方法设置的。
208、Config.ARGB_8888表示Bitmap的每个像素占用2个字节

答案说明 :
Config.ARGB_8888表示Bitmap的每个像素占用4个字节
209、SQLiteDatabase类中insert()方法用于在数据库中添加数据。

210、通常情况下,应用图标资源存放在src文件夹中。

答案说明 :
应用图标资源通常存放在以mipmap开头的文件夹。
211、在Java代码中可通过调用getResources().getDimension()方法加载尺寸资源。

212、Log类所输出的日志内容分为五个级别。

答案说明 :
Log类所输出的日志内容分为六个级别,由低到高分别是Verbose、Debug、Info、Warning、Error、Assert。
213、Android系统中,onTouchEvent()方法用于处理屏幕的触摸事件。

214、Android中SimpleAdapter数据适配器继承BaseAdapter类。

215、当用户在该控件上松开某个按键时触发的方法为onKeyUp()。

216、使用setDisplay()方法可以将SurfaceView控件与MediaPlayer类进行关联。

217、WebView类使用loadData()方法加载带中文的HTML内容时不会产生乱码。

答案说明 :
WebView类的loadDataWithBaseURL()方法加载带中文的HTML内容时不会产生乱码。
218、getDuration()用户获取MediaPlayer中载入音频文件的时长。

219、VideoView控件自带播放/暂停、倒带、快进等按钮。

答案说明 :
VideoView控件需要使用控制器才能显示播放/暂停、倒带、快进等按钮。
220、Gson库中的fromJson()用于解析对象结构的JSON数据。

221、Canvas类中的drawCircle()方法用于绘制椭圆形。

答案说明 :
Canvas类中的drawCircle()方法用于绘制圆形。
222、在Service中可以直接进行耗时操作。

223、当打开一个Activity时,会启动一个新的任务栈来管理该Activity实例,那么该Activity的启动模式为singleTask。

答案说明 :
singleInstance启动模式会开启一个新的任务栈来管理Activity实例。
224、Android Studio集成了Android开发所需的工具。

225、ContentValues类是通过键值对的形式存入数据的。

226、Service可以长期在后台运行,永远不会被销毁。

227、Android系统提供了两种实现动画效果的方式,分别为补间动画和逐帧动画。

228、SharedPreferences将数据保存在.txt的文件中。

229、使用完SQLiteDatabase对象,需要使用close()关闭数据库连接。

230、Android中数据只能存储到sd卡上。

231、第二代移动通信技术能够处理图像、音乐、视频流等多种媒体形式。

答案说明 :
第三代移动通信技术以上才可以处理图像、音乐、视频流等多种媒体形式。
232、android:phoneNumber属性用于设置EditText输入框中的内容只能输入数字。

233、双击、弹起操作属于键盘事件。

答案说明 :
双击、弹起操作属于触摸事件
234、当应用程序被卸载时,存储的内部文件不会被删除。

235、onKeyUp()方法用于捕捉键盘按键弹起的事件。

236、创建模拟器时,不需要使用系统镜像。

237、MediaPlayer类中的prepare()方法是在子线程中执行的异步操作。

答案说明 :
prepareAsync()方法是异步操作而prepare()方法是同步操作
238、RadioButton表示单选按钮,可以通过android:checked属性指定“选中”和“未选中”的状态。

239、通过getIntent()方法可以获取到Intent对象。

240、退出当前Activity时,依次调用了生命周期的onPause()、onStop()、onDestroy()方法。

241、HTTP规定了浏览器和服务器之间互相通信的规则。

242、补间动画就是顺序播放一组预定义的静态图像,形成的动画效果

答案说明 :
逐帧动画是顺序播放一组预定义的静态图像,形成的动画效果
243、获取到HttpURLConnection实例conn后,获取服务器返回数据的方法是getInputStream()。

答案说明 :
getInputStream()方法是获取服务器返回的数据,因为服务器返回数据是以流的形式返回。
244、standard是Activity默认的启动模式,使用该模式的Activity,每次启动时就会在栈顶创建一个新的Activity实例。

245、使用query()方法可以修改数据库中的数据。

246、ExampleInstrumentedTest属于Junit单元测试类。

答案说明 :
ExampleInstrumentedTest属于Android单元测试类。
247、图片资源根据用途不同分为应用图标资源和界面中使用的图片资源。

248、IntentFilter中可以罗列多个action属性,但是隐式Intent携带的属性只要与其中一个action属性匹配成功即可。

249、MediaPlayer能够同时播放多个音频。

答案说明 :
SoundPool能够同时播放多个音频,而MediaPlayer一次只能播放一个音频。
250、Android单元测试不需要依赖Android设备,在本地即可运行。

251、onKeyDown()方法主要用于捕捉手机键盘被按下的事件。

252、Bundle类通过键值对的形式保存数据。

253、在子线程中可以更新UI界面。

答案说明 :
UI界面只能在UI线程中更新。
254、Handler中sendMessage()方法用于处理消息。

答案说明 :
Handler中sendMessage()方法用于发送消息。
255、程序中的app文件夹用于存放程序的代码和资源等内容。

256、Android系统的Linux内核层主要提供了构建应用程序时用到的各种API。

答案说明 :
Android系统的应用程序框架层主要提供了构建应用程序时用到的各种API,而Linux内核层为Android设备的各种硬件提供了底层的驱动。
257、VideoView可以使用setVideoPath()方法加载网络视频。

答案说明 :
VideoView可以使用setVideoURI()方法加载网络视频。
258、Android应用的每个界面必须有且只有一个ViewGroup容器。

259、主题资源定义在res/values目录下的dimens.xml文件中。

答案说明 :
主题资源定义在res/values目录下的styles.xml文件中。
260、如果把线性布局布局的方向设置为水平方向,则该布局内的控件会摆放在同一行。

答案说明 :
在线性布局文件中,如果把方向设置为水平方向,控件会摆放在同一行。
261、广播机制使用的是观察者模式,该模式是基于消息的发布/订阅事件模型实现的。

262、通过调用finish()方法可以关闭Activity。

263、当Toast提示Wifi连接时,会打断用户点击按钮的操作。

264、通过FragmentManager的beginTransaction()可以开启FragmentTransaction。

265、帧布局容器的前景图像始终处于布局的最上层,不会被其他的控件覆盖。

266、在Activity的方法中可以通过getResources().getDrawable()方法调用图片资源。

267、在线性布局中,设置控件内权重的属性为android:layout_weight。

268、通过Editor的remove()方法可以清空SharedPreferences文件中保存的数据。

答案说明 :
清空SharedPreferences文件中保存的数据的方法为clear()。
269、外部存储的文件可以被其他的应用程序所共享,这种方式的存储是不安全的。

270、ConstraintLayout是Android Studio2.2新添加的布局。

271、Handler中handleMessage()方法用于发送消息。

答案说明 :
Handler中handleMessage()方法用于处理消息。
272、使用完Cursor后,没必要关闭Cursor对象。

273、当用户按下屏幕时会触发OnGestureListener接口的onDown()方法。

274、RelativeLayout通过以父容器或其它子控件为参照物,指定布局中子控件的位置。

275、布局资源通常用于搭建程序中的各个界面布局。

276、按键事件的事件监听器必须实现的接口为View.OnTouchListener。

答案说明 :
按键事件的事件监听器必须实现的接口为View.OnKeyListener。
277、2013年7月25日Android7.0 Nougat(牛轧糖)版本发布。

答案说明 :
Android7.0发布时间为2016年8月22日。
278、OnDoubleTapListener接口只能监听双击手势而不能监听单击手势。

答案说明 :
OnDoubleTapListener接口可以监听双击手势和单击手势。
279、Android SDK的下载包括SDK版本和Tools工具。

280、Activity处于暂停状态时,他是可见的,可以与用户进行交互。

答案说明 :
在某些情况下,Activity对用户来说仍然可见,但他它无法获取焦点,用户对他它操作没有响应,
281、在创建SoundPool对象时,可以指定SoundPool容纳多少个音频。

282、在Android Studio的Device File Explorer窗口中可以导出系统软件Gestures Builder保存的手势库。

283、RadioGroup继承自LinearLayout,可以使用android:orientation属性控制RadioButton的排列方向。

284、在SQLiteDatabase中,endTransaction()方法用于关闭数据库事务。

285、setTextSize()方法用于设置画笔绘制文本时文字的大小。

286、Gson库比JSONArray类解析JSON数据时更加方便快捷,便于提高开发效率。

287、每一个Android应用在底层都会对应一个独立的Dalvik虚拟机实例。

288、Tomcat不仅具有Web服务器的基本功能,还提供了数据库连接池等许多通用组件功能。

289、AlterDialog可以调用dismiss()方法取消该对话框。

290、可以在Activity中重写onFocusChanged()方法,用于监听焦点是否改变。

答案说明 :
onFocusChanged()方法只能在View中重写
291、使用create()方法创建MediaPlayer对象并设置音频文件时,必须调用prepare()方法解析数据。

292、Android中创建内容提供者时,需要要继承ContentProvider类。

293、在java代码中使用getResources().getString()方法加载字符串资源。

294、Android系统的应用程序层是一个核心应用程序的集合。

295、px是一种与屏幕密度无关的尺寸单位。

答案说明 :
每个px对应屏幕上的一个点,是与屏幕密度有关的尺寸单位。
296、启动服务的方法有两种,分别为startService()方法、bindService()方法。

297、AlertDialog可以通过new关键字创建对象。

答案说明 :
AlertDialog对象是调用AlertDialog.Builder的create()方法创建的。
298、Activity可以通过重写onActivityResult()方法获取回传的数据。

299、当onTouchEvent()方法返回false时,表示并未完全处理该事件,继续等待该控件进行处理该事件。

答案说明 :
当onTouchEvent()方法返回false时,表示并未完全处理该事件,更希望其他回调方法继续对其进行处理。
300、seekTo()用于设置VideoView从指定位置开始播放视频。

301、用户当前操作的Activity位于任务栈的顶部。

302、Log类所输出的Warning级别的日志内容显示的是红色的警告信息。

答案说明 :
Log类所输出的Warning级别的日志内容显示的是橙色的警告信息。
303、继承android.support.v4.app.Fragment的类只能兼容Android 3.0以上的版本。

答案说明 :
可以兼容1.6以上的Android系统版本。
304、android:editable属性用于设置EditText控件的输入框是否可编辑。

305、通过ListView中的android:dividerHeight属性可以设置分割线的高度。

306、Android 代码中加入Toast.makeText(Context,Text,Time);即可显示Toast

答案说明 :
显示使用show()方法才能显示Toast。
307、GestureLibrary类提供的recognize()方法用于识别手势。

308、根据开启目标组件的方式不同,Intent被分为两种类型,分别为显示Intent和隐式Intent。

309、当鼠标/触摸板右击时会触发OnContextClickListener接口中的 onContextClick()方法。

310、Uri的组成包括scheme、authority和path。

311、ListView不设置Adapter也能显示数据内容。

312、注册短信内容观察者时,使用的到Uri为"Content://sms/"。

313、短信程序属于Android系统架构中的应用程序框架层。

答案说明 :
短信程序属于Android系统架构中的应用程序层。
314、当使用startService()方法启动的服务时,其他组件调用stopService()方法可以停止该服务。

315、SQLiteOpenHelper主要用于对数据库中的数据进行增删改查的操作。

答案说明 :
SQLiteDatabase主要用于对数据库中的数据进行增删改查的操作。而SQLiteOpenHelper主要用于创建和更新数据库。
316、HTTP响应是客户端在与服务器端建立连接后,向服务器端发送的请求。

答案说明 :
当客户端在与服务器端建立连接后,向服务器端发送的请求,被称作HTTP请求。服务器端接收到请求后会做出响应,称为HTTP响应
317、android:background属性值只能引用图片资源。

答案说明 :
android:background属性值可以引用图片资源,也可以引用颜色资源。
318、Android中服务能做的事情完全可以开一个子线程替代。

319、创建自定义对话框时,必须调用show()方法才会执行自定义对话框类的onCreate()方法。

320、SharedPreferences文件的存储路径是/sdcard/shared_prefs。

答案说明 :
SharedPreferences文件的存储路径为data/data//shared_prefs
321、当控件获得焦点时会触发OnFocusChangeListener接口中的回调方法onFocusChange(),而控件失去焦点时,不能触发该方法。

答案说明 :
当控件获得焦点或者失去焦点时都会触发OnFocusChangeListener接口中的回调方法onFocusChange()。
322、多选对话框的内容区域是通过AlertDialog.Builder对象调用setMultiChoiceItems()方法设置的。

323、广播接收者必须在清单文件中注册之后才能接收广播。

324、Activity不用在AndroidManifest.xml文件中注册就可以运行。

答案说明 :
Activity必须在AndroidManifest.xml文件中注册,否则启动该Activity时程序会报错
325、使用不同的方法启动服务,服务的生命周期是一样的。

326、abortBroadcast()方法能够拦截无序广播。

答案说明 :
abortBroadcast()方法能够拦截有序广播。
327、Matrix类本身可以对图形或图像进行变换。

答案说明 :
Matrix类本身并不能对图形或图像进行变换,但是他与其他API结合能够控制图形图像的变换。
328、实现逐帧动画时,只需要定义动画开始和结束的关键帧,其他过渡有系统自动计算补齐。

答案说明 :
逐帧动画是顺序播放一组预定义的静态图像,而形成的动画效果,只有定义了静态图像,才能显示过度的动画,系统不会自动补齐。
329、当Activity处于运行状态时,Android会尽可能地保持这种状态,即使出现内存不足的情况,Android也会先销毁栈底的Activity,来确保当前Activity正常运行。

330、如果创建的Fragment继承的是android.app.Fragment类,则不兼容的Android 4.0的系统版本。

答案说明 :
android.app.Fragment类兼容3.0以上的系统版本。
331、在动态注册广播接收者时,可以使用IntentFilter的setPriority()方法设置广播接收者的优先级。

332、Activity从启动到用户完全可见会执行onCreate,onStart(),onResume()三个方法。

333、通过bindService()方法开启服务和通过startService()方法开启服务,服务的生命周期一样。

答案说明 :
当通过startService()方法启动服务时,执行的生命周期方法依次为onCreate()、onStartCommand()、onDestroy()。当通过bindService()方法启动服务时,执行的生命周期方法依次为onCreate()、onBind()、onUnbind()、onDestroy()。
334、当activity A用startActivityForResult()启动activity B时,activity A可以在onActivityResult()方法接收activity B回传的数据。

335、Fragment关联的视图被移除时调用的生命周期方法为onDestroyView()。

336、ImageView使用android:src属性设置图片时,该图片会自动填充满控件。

答案说明 :
android:src属性设置的图片为原图的宽高比,不会填充满控件。
337、如果两个广播接收者的优先级相同,则能同时接收到有序广播。

答案说明 :
当两个广播接收者的优先级相同时,先注册的广播接收者优先接收到有序广播。
338、setTextSize()方法用于设置TextView的文字大小。

339、当Activity使用setResult()方法时,将跳转到使用startActivityForResult()请求数据的界面。

答案说明 :
setResult()只负责返回数据,没有跳转的功能。
340、主题可以设置View控件的具体样式。

答案说明 :
样式可以设置View控件的具体样式。
341、当动态注册广播时,Activity销毁之后,广播接收者仍然可以接收到广播。

342、应用程序可以通过onBind()方法返回IBinder对象与Service组件通信。

343、若ListView当前能显示5条,一共有100条数据,一定产生了100个View。

答案说明 :
若ListView做了优化处理后,一共产生了5个View。
344、事件监听的处理模型中的事件源封装了界面组件发生的特定事情。

答案说明 :
事件监听的处理模型中的事件封装了界面组件发生的特定事情。
345、一个Activity中可以包含多个Fragment,一个Fragment只能在一个Activity中使用。

答案说明 :
一个Activity中可以包含多个Fragment,一个Fragment也可以在多个Activity中使用
346、ContentProvider提供的Uri可以随便定义。

347、如果一个Activity的启动模式为singleTop,并且任务栈中已经存在该实例,如果再次打开该Activity时,任务栈直接使用已经存在的实例,并把当前Activity上面的所有实例全部弹出栈。

答案说明 :
题中所说的是singleTask启动模式的作用,singleTop会复用栈顶的Activity实例。
348、过滤器中的data属性用来指定数据的URI或者数据MIME类型。

349、当一个组件通过startService()方法启动服务时,服务会与组件绑定,当组件销毁时,服务也销毁。

答案说明 :
在程序中通过startService()方法启动的服务,会长期在后台运行,并且启动服务的组件与服务之间没有关联,即使启动服务的组件被销毁,服务依旧会运行
350、在布局中使用android:layout_margin属性,可以设置当前布局内控件与该布局的距离。

答案说明 :
布局内的android:padding可以设置当前布局内控件与该布局的距离,而android:layout_margin属性用于设置当前布局与屏幕边界、周围布局或控件的距离。
351、Android最初是由Andy Rubin(安迪•鲁宾)创立的一个手机操作系统。

填空题
352、RelativeLayout通过【相对定位】的方式指定子控件的位置。

353、布局资源存放在res目录中的【layout】文件夹中。
354、主题资源定义在res/values目录下的【styles.xml】文件中。
355、【JSONObject】类用于解析对象结构的JSON数据。
356、【Bitmap】类表示位图,包括像素、长、宽、颜色等描述信息。
357、Android系统默认提供的内置浏览器中使用了开源的【WebKit】引擎。
358、【Paint】类表示画笔,主要用于描述图形的颜色和风格。
359、【WebView】控件专门用于浏览网页。
360、Android中的事件主要有两种,分别为键盘事件、【触摸】事件。
361、【LogCat】是Android中的命令行工具,用于获取程序从启动到关闭的日志信息。
362、【JSONArray】类用于解析数组结构的JSON数据。
363、内容观察者用于观察指定【Uri】代表的数据的变化。
364、在Android系统中,服务的通信方式有两种,分别为本地服务通信、【远程服务通信】。
365、可以使用【SoundPool】代替MediaPlayer播放一些游戏音效(比如:子弹爆炸,物体撞击等)。
366、Activity的启动模式包括standard、singleTop、singleTask、【singleInstance】模式。
367、openFileOutput()方法用于打开应用程序中对应的【输出流】,将数据存储到指定的文件中。
368、【EditText】表示编辑框,用户可在此控件中输入信息。
369、ContentProvider基于【数据库模型】的简单表格提供需要共享的数据。
370、在Android界面中View的宽高和View之间的间距值是通过【尺寸资源】设置的。
371、TableLayout(表格布局)采用【行】、列的形式来管理控件。
372、【RadioGroup】是单选组合框,可容纳多个RadioButton。
373、Android中的广播类型分别为【有序广播】、无序广播。
374、Activity的生命周期指的是Activity从【创建】到销毁的整个过程。
375、广播(Broadcast)机制使用了【观察者】模式实现的。
376、【Intent】被称为意图,是程序中各组件间进行交互的一种重要方式。
377、Android系统的核心类库主要包含了【系统库】和Android运行环境。
378、默认情况下,帧布局中的所有控件会与【左上角】对齐。
379、Handler主要用于发送消息和【处理消息】。
380、广播接收者的注册方式分别为动态注册和【静态注册】。
381、Android Studio是Google为Android提供的一个官方【IDE】工具。
382、Toast.makeText(Context,Text,Time)中的“Time”表示显示时长,该属性有特定的值,Toast.LENGTH_LONG表示较长时间显示,【Toast.LENGTH_SHORT】表示较短时间显示。
383、Android系统提供了GestureLibraries工具类创建【手势库】。
384、Android系统提供了一个辅助工具类【UriMatcher】用于匹配Uri。
385、文件存储方式分为【内部存储】和外部存储。
386、第四代移动通信技术包含【TD-LTE】和FDD-LTE两种制式。
387、JSON数据有两种表示结构,分别是对象结构和【数组】结构。
388、ConstraintLayout布局中的控件可以在【横向】和纵向上以添加约束关系的方式进行相对定位。
389、HttpURLConnection继承自【URLConnection】类。
390、【Config】是Bitmap的内部类,用于指定图片的像素是如何存储的配置信息。
391、Android任务栈特点是【先进后出】。
392、【普通】对话框的内容区域一般显示简单的文本信息。
393、Android的数据存储方式包括文件存储、【SharedPreferences】、SQLite数据库、ContentProvider和网络存储。
394、【信息提醒】Toast是Android系统提供的轻量级
机制,用于向用户提示即时消息。
395、【手势】是指用户手指或触摸笔在触摸屏幕上连续碰撞的行为。
396、在程序中调用【主题】资源可以改变窗体的样式,对整个应用或某个Activity存在全局性影响。
397、Service有两个应用场景,分别为后台运行和【跨进程访问】。
398、AndroidManifest.xml是整个程序的配置文件,在该文件中配置程序所需【权限】和注册程序中用到的四大组件。
399、sendBroadcast()方法用于发送【无序】广播。
400、Dalvik虚拟机中的【Dx】工具会将部分class文件转换成dex文件。
401、sendOrderedBroadcast()方法用于发送【有序】广播。
402、广播接收者通过【Binder】机制在AMS(Activity Manager Service)中注册。
403、Android平台提供了两种事件处理机制,分别为基于【回调】机制的事件处理和基于监听【接口】的事件处理。
404、启动Tomcat的脚本文件是【startup.bat】。
405、处理手机屏幕的触摸事件需要监听的接口是【OnTouchListener】。
406、Android中的样式和【主题】都用于为界面元素定义显示风格。
407、【OnKeyListener】对设备的键盘进行监听的接口为
408、模拟器是一个可以运行在电脑上【虚拟设备】
409、【AndroidManifest.xml】文件是整个程序的配置文件。
410、【HTTP】是一种请求/响应式的协议。
411、数据库【事务】是指SQLite数据库中的一组数据库操作要么同时成功要么同时失败。
412、registerReceiver()方法用于【动态】注册广播接收者。
简答题
413、简述显式Intent和隐式Intent的区别。
显式意图和隐式意图的区别如下所示:
1、显式意图:需要明确指定激活组件的名称。
2、隐式意图:不明确指定组件名,Android系统会根据隐式意图使用IntentFilter匹配相应的组件,匹配的属性主要有action、category、data。
414、编写一个程序,实现按钮的长按监听。
1、在activity_main.xml文件中的布局代码如下所示。

<?xml version="1.0" encoding="utf-8"?>

2、在MainActivity中的代码如下所示。
public class MainActivity extends AppCompatActivity implements View.OnLongClickListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.edittext_layout);
findViewById(R.id.button).setOnLongClickListener(this);
}
@Override
public boolean onLongClick(View v) {
if (v.getId()== R.id.button){
Toast.makeText(MainActivity.this,“长按Button按钮”,Toast.LENGTH_SHORT).show();
}
return true;
}
}
415、简述监听的事件处理流程。
监听事件处理基于Event Source(事件源)、Event(事件)、Event Listener(事件监听器)3个对象进行展开,具体流程如下:
1、为事件源设置一个事件监听器。
2、当用户操作事件源时,会触发事件源的监听器
3、事件源生成对应的事件对象
4、将生成的事件对象作为参数传递给事件监听器。
5、事件监听器对事件对象进行判断,执行对应的事件处理器。
416、列举Android中常用的布局,并简述他们的特点。
Android中有五种常用布局,分别为RelativeLayout(相对布局)、LinearLayout(线性布局)、FrameLayout(帧布局)、TableLayout(表格布局)、ConstraintLayout(约束布局),他们的特点具体如下:
(1) RelativeLayout(相对布局):该布局是通过相对位置的方式指定该布局内子控件的位置。
(2) LinearLayout(线性布局):该布局可通过android:orientation属性指定该布局内的子控件水平和竖直排列。
(3) TableLayout(表格布局):采用行、列的形式来管理控件。他通常搭配TableRow布局使用,一个TableRow代表一行,在TableRow中添加的控件代表一列。
(4) FrameLayout(帧布局):该布局会在屏幕上创建一块空白区域,添加到该区域中的每个子控件占一帧,这些帧会一个一个叠加在一起,后加入的控件会叠加在上一个控件上层。默认情况下,帧布局中的所有控件会与左上角对齐。
(5) ConstraintLayout(约束布局):该布局是Android2.2新添加的布局,他适用于可视化的方式编写界面布局,他有相对定位、居中定位和倾向、Chain等性质。
417、简述AlertDialog对话框的创建过程。
1、 调用AlertDialog的静态内部类Builder创建AlertDialog.Builder的对象。
2、 调用AlertDialog.Builder的setTitle()和setIcon()方法分别设置AlertDialog对话框的标题名称和图标。
3、 调用AlertDialog.Builder的setMessage()、setSingleChoiceItems()或者setMultiChoiceItems()方法设置AlertDialog对话框的内容为简单文本、单选列表或者为多选列表。
4、 调用AlertDialog.Builder的setPositiveButton()和setNegativeButton()方法设置AlertDialog对话框的确定和取消按钮。
5、 调用AlertDialog.Builder的create()方法创建AlertDialog对象。
6、 调用AlertDialog对象的show()方法显示该对话框。
7、 调用AlertDialog对象的dismiss()方法取消该对话框。
418、请编写逻辑代码使用WebView加载“http://www.itheima.com/”网页,并实现网页的缩放功能。
1、activity_main.xml中的布局代码为:

<?xml version="1.0" encoding="utf-8"?>

2、在清单文件中申请网络访问的权限为:

3、MainActivity.java文件中加载网页的代码为:
public class MainActivity extends AppCompatActivity{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.edittext_layout);
WebView webView = (WebView)findViewById(R.id.webView); webView.loadUrl(“http://www.itheima.com/”);
webView.getSettings().setSupportZoom(true); webView.getSettings().setBuiltInZoomControls(true);
}
}
419、简述逐帧动画的工作原理。
逐帧(Frame)动画的工作原理非常简单,类似与动画片的工作原理,他按照事先准备好的静态图片顺序进行播放,并利用人眼的“视觉暂留”原理,使用户产生动画的错觉。
420、使用MyHelper的帮助类获取数据库表information中的account和password两个字段的数据。
public void query(){
MyHelper helper = new MyHelper(this);
SQLiteDatabase db = helper.getReadableDatabase();
Cursor cursor = db.query(“information”, null, null, null,
null, null, null);
if (cursor.getCount() != 0){
while (cursor.moveToNext()){
String name = cursor.getString(cursor.getColumnIndex(“account”));
String price = cursor.getString(cursor.getColumnIndex(“password”));
}
}
cursor.close();
db.close();
}
421、
简述相对布局中android:layout_alignRight与android:layout_toRightOf属性的区别。
1、android:layout_alignRight属性用于设置当前控件的右边界与另外一个控件的右边界对齐。
2、android:layout_toRightOf属性用于设置当前控件位于另外一个控件右侧
422、使用TableLayout布局实现一个简单的计算器界面。
在activity_main.xml中编写计算器的布局,如下所示。

<?xml version="1.0" encoding="utf-8"?>
<TableRow>
    <Button
        android:id="@+id/bt_num7"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="wrap_content"
    android:text="7"/>
    <Button
        android:id="@+id/bt_num8"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="wrap_content"
        android:text="8"/>
    <Button
        android:id="@+id/bt_num9"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="wrap_content"
        android:text="9"/>
    <Button
        android:id="@+id/bt_mult"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="wrap_content"
        android:text="×"/>
</TableRow>

<TableRow>
    <Button
        android:id="@+id/bt_num4"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="wrap_content"
        android:text="4"/>
    <Button
        android:id="@+id/bt_num5"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="wrap_content"
        android:text="5"/>
    <Button
        android:id="@+id/bt_num6"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="wrap_content"
        android:text="6"/>
    <Button
        android:id="@+id/bt_minus"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="wrap_content"
        android:text="-"/>
</TableRow>
<TableRow>
    <Button
        android:id="@+id/bt_num1"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="wrap_content"
        android:text="1"/>
    <Button
        android:id="@+id/bt_num2"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="wrap_content"
        android:text="2"/>
    <Button
        android:id="@+id/bt_num3"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="wrap_content"
        android:text="3"/>
    <Button
        android:id="@+id/bt_plus"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="wrap_content"
        android:text="+"/>
</TableRow>
<TableRow>
    <Button
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="("/>
    <Button
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text=")"/>
    <Button
        android:id="@+id/bt_num0"
        android:layout_width="0dp"
        android:layout_weight="2"
        android:layout_height="wrap_content"
        android:text="0"/>
    <Button
        android:id="@+id/bt_dot"
        android:layout_width="0dp"
        android:layout_weight="2"
        android:layout_height="wrap_content"
        android:text="·"/>
    <Button
        android:id="@+id/bt_equal"
        android:layout_width="0dp"
        android:layout_weight="2"
        android:layout_height="wrap_content"
        android:text="="/>
</TableRow>
答案说明 : 暂无解析 423、 编写一个程序实现两个Button水平显示,Button1占屏幕的2/3,Button2占屏幕的1/3。 1分 我的答案: 参考答案 : <?xml version="1.0" encoding="utf-8"?> 答案说明 : 暂无解析 424、 简述ImageView控件中的android:background属性和android:src属性的异同。 1分 我的答案: 参考答案 : 相同点:android:background属性和android:src属性都可以通过以“@drawable/图片名称”的方式为ImageView设置图片。 区别:android:background属性不仅可以设置图片资源也可以设置颜色资源,设置的图片会根据ImageView的大小进行伸缩,而android:src属性设置的是ImageView的前景图片,并且图片以原图大小显示。 答案说明 : 暂无解析 425、 简述Handler消息机制的工作原理。 1分 我的答案: 参考答案 : Handler消息处理机制主要包括四个关键对象,分别为Handler、Message、MessageQueue、Looper。具体功能如下: (1) Handler主要用于发送消息和处理消息。 (2) Message是在线程之间传递的消息,它可以在内部携带少量的信息,用于在不同线程之间交换数据。 (3) MessageQueue为消息队列,它主要用于存放通过Handler发送的消息。 (4) Looper主要通过调用loop()方法,不断的从MessageQueue中获取消息,并分发到Handler中。 Handler消息机制是通过上述四个关键对象的配合使用而完成的。在UI线程中创建Handler对象,并通过该对象的sendMessage()方法发送消息到MessageQueue中,接着通过Looper调用loop()方法不断的从MessageQueue中获取消息,并分发到Handler中,最终通过Handler的handleMessage()方法处理获取的消息。 答案说明 : 暂无解析 426、 请编写将注册页面的注册信息传递到用户信息页面展示的代码逻辑。 1分 我的答案: 参考答案 : 1、在注册页面通过passData()传递注册信息到用户信息页面 public void passData() { //Activity02.class用户信息页面 Intent intent = new Intent(this, Activity02.class); intent.putExtra("name", et_name.getText().toString().trim()); intent.putExtra("password",et_password.getText().toString().trim()); startActivity(intent); } 2、用户信息页面获取相应数据 Intent intent=getIntent(); String name = intent.getStringExtra("name"); String password = intent.getStringExtra("password"); 答案说明 : 暂无解析 427、 简述广播机制的实现过程。 1分 我的答案: 参考答案 : Android中的广播使用了观察者模式,即基于消息的发布/订阅事件的模式。广播发送者和接收者分别处于观察者模式中的消息发布和订阅两端。广播机制的实现过程具体如下: 广播接收者通过Binder机制在AMS(Activity Manager Service)中进行注册。 广播发送者通过Binder机制向AMS发送广播。 AMS查找符合相应条件(IntentFilter/Permission)的广播接收者,将广播发送到相应的消息循环队列中。 执行消息循环时获取到发送的广播,然后回调广播接收者中的onReceive()方法并在该方法中进行相关处理。 428、请在相对布局中加入两个Button,使Button1水平居中显示且距离父控件顶部200dp,使Button2显示在Button1的左侧且距离Button1底部50dp。

Fragment的生命周期与Activity的生命周期十分相似,Fragment生命周期比Activity多了以下几个方法,具体如下:

1、onAttach():Fragment和Activity建立关联时调用。

2、onCreateView():Fragment创建视图(加载布局)时调用。

3、onActivityCreate():Fragment相关联的Activity已经创建完成时调用。

4、onDestroyView():Fragment关联的视图被移除时调用。

5、onDetach():Fragment和Activity解除关联时调用。
Activity一共有7个方法,这些方法和调用的时机具体如下:
1、onCreate():Activity创建时调用,通常做一些初始化设置。
2、onStart():Activity即将可见时调用。
3、onResume():Activity获取焦点时调用。
4、onPause():当前Activity被其他Activity覆盖或屏幕锁屏时调用。
5、onStop():Activity对用户不可见时调用。
6、onDestroy():Activity销毁时调用。
7、onRestart():Activity从停止状态到再次启动时调用。
Fragment的生命周期图如下
435、
简述使用SoundPool播放音频的步骤。
使用SoundPool播放音频的步骤具体如下所示:
1、通过new关键字创建SoundPool对象。
2、通过load()方法加载音频文件。
3、通过play()方法播放音频文件。
436、
请编写逻辑代码,将用户名(zhangsan)和密码(password)以GET方式提交到网址为“http://192.168.1.100:8080/web/LoginServlet”的服务器上。
//将用户名和密码拼在指定资源路径后面,并对用户名和密码进行编码
String path = “http://192.168.1.100:8080/web/LoginServlet?username=”+URLEncoder.encode(“zhangsan”)+“&password=”+URLEncoder.encode(“123”);
URL url = new URL(path); //创建URL对象
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
conn.setRequestMethod(“GET”); //设置请求方式
conn.setConnectTimeout(5000); //设置超时时间
int responseCode = conn.getResponseCode(); //获取状态码
if(responseCode == 200){ //访问成功
Log.e(“HttpURLConnection”,“提交数据成功”);
}
conn.disconnect();
437、
请使用SharedPreferences的相关知识编写将账户名(传智播客)和密码(it938495)保存到data.xml文件中的逻辑代码。
SharedPreferences sp = getSharedPreferences(“data”,MODE_PRIVATE);
SharedPreferences.Editor editor = sp.edit();
editor.putString(“账户名”, “传智播客”);
editor.putString(“密码”, “it938495”);
editor.commit();
438、简述生命周期有哪几种状态及特点。
生命周期有五中状态,分别为启动状态、运行状态、暂停状态、停止状态和销毁状态。他们的特点具体如下:
1、启动状态:Activity的启动状态很短暂,他是Activity的过渡状态,Activity不会在此状态上停留。
2、运行状态:Activity在此状态时处于界面最前端,它是可见、有焦点的,可以与用户进行交互。
3、暂停状态:Activity对用户来说仍然可见,但它无法获取焦点,用户对它操作没有响应。
4、停止状态:当Activity完全不可见时,他就处于停止状态。
5、销毁状态:当Activity处于此状态时,将被清理出内存。此状态为过渡状态,Activity不会在此状态上停留。
439、
简述有序广播和无序广播的区别。
广播分为有序广播和无序广播,他们有以下几点的区别。
(1) 发送广播时,使用的方法不同。有序广播使用sendOrderedBroadcast()发送广播,而无序广播使用sendBroadcast()方法发送广播。
(2) 广播接收者执行的顺序
a) 有序广播的接收者是顺序执行的。
有序广播按照广播接收者声明的优先级别被依次接收。当在高级别的广播接收者逻辑执行完毕之后,广播才会继续传递。当优先级相同时,先注册的广播接受者优先执行。
b) 无序广播是完全异步执行的。
当发送无序广播时,所有监听这个广播的广播接收者都会接收到此广播消息,但接收和执行的顺序不确定。
(2)拦截广播
有序广播的接收者可拦截广播。如果优先级较高的广播接收者将广播终止,那么广播将不再向后传递。而无序广播则不能被拦截。
(3)效率
有序广播的效率比无序广播低。
440、
简述优化ListView加载数据的方法。
优化ListView加载数据的步骤如下:
1、创建ViewHolder类,在该类中声明需要加载的控件。
2、复用convertView对象从而减少Item对象的创建。
3、使用getTag()和setTag()的方法关联convertView对象和ViewHolder对象。
441、请简要介绍如何通过bindService()的方式调用服务里面的方法。
(1)在服务内部定义一个方法。
(2)定义一个类继承Binder,然后在该类中,间接调用服务里面的方法。
(3)onBind方法中返回定义的Binder类对象。
(4)在Activity初始化方法中调用bindService()方法,当服务被成功绑定,通过该方法的第二个参数serviceConn接口,获取到在服务中定义的Binder类的对象。
(5)利用获取的Binder类对象间接的调用服务里面的方法。
442、
简述五种通信技术的特点。
五种通信技术的特点如下所示:
1、第一代移动通信技术(1G):他是指最初的模拟、仅限语音的蜂窝电话标准,只能进行通话而且很容易被窃听。
2、第二代移动通信技术(2G):以数字语音传输技术为核心,代表是GSM。他相对于1G增加接收数据的功能。2G时代也有智能手机,可以支持一些简单的小程序。2G通信网的传输速度为9.6k/s
3、第三代移动通信技术(3G):指将无线通信与国际互联网等多媒体通信结合的新一代移动通信系统。相比前两代通信技术来说,3G技术在传输声音和数据的速度上有很大的提升。支持至少2M/s、384K/s以及144K/s的传输速度。
4、第四代移动通信技术(4G):该技术包含TD-LTE和FDD-LTE两种制式。4G通信网可以达到10Mbps至20Mbps。
5、第五代移动通信技术(5G):目前尚未正式商用,5G网络意味着超快的数据传输速度,据说可达10Gbps。
443、简述Activity的四种启动模式及其特点。
Activity的四种启动模式分别为standard、singleTop、singleTask和singleInstance,这些模式的特点具体如下:
1、 standard:每启动一个Activity就会在栈顶创建一个新的实例。
2、 singleTop:当被启动的Activity位于栈顶时,复用该Activity实例。
3、 singleTask:当被启动的Activity在栈中存在实例时,会直接复用此Activity实例,并把当前Activity上面的所有实例弹出栈。
4、 singleInstance:会启动一个新的任务栈来管理该Activity。
444、简述在Activity中动态加载Fragment的步骤。
将Fragment动态添加到Activity中的具体步骤如下:
(1)创建一个Fragment的实例对象。
(2)获取FragmentManager(Fragment管理器)的实例。
(3)开启FragmentTransaction(事务)
(4)向Activity的布局容器(一般为FrameLayout)中添加Fragment。
(5)使用commit()方法提交事务。
445、使用XML布局文件的方式,在RelativeLayout中居中显示“I Love Android”。

<?xml version="1.0" encoding="utf-8"?>

446、简述Android系统架构包含的层次以及各层的特点。
Android系统架构从高到低分为四层,分别为依次是应用程序层(Applications)、应用程序框架层(Application Framework)、核心类库(Libraries)和Linux内核(Linux Kernel),各层的特点具体如下:
(1) 应用程序层:一个核心应用程序的集合,安装在手机中的应用程序都属于这一层。
(2) 应用程序架构层:主要提供了构建应用程序时用到的各种API。例如活动管理器(Activity Manager)。
(3) 核心类库:主要包含了系统库和Android运行环境。
(4) Linux内核:他为Android设备的各种硬件提供了底层的驱动,如:显示驱动。
447、简述手机进行横竖屏切换时,当前Activity执行的生命周期方法。
当手机横竖屏切换时,Activity会根据AndroidManifest.xml文件中Activity的configChanges属性值的不同而调用不同的生命周期方法。具体如下:
1、当没有设置configChanges属性值时,调用的方法依次是onPause()、onStop()、onDestory()、onCreate()、onStart()和onResume()的方法。
2、当设置configChanges属性值为“orientation|keyboardHidden”后,Activity进行横竖屏切换时,不执行Activity的生命周期方法。
448、请编写一个程序,实现监测短信数据变化的功能。
在SMSActivity类中创建短信内容观察者的类,示例代码如下所示。
public class SMSActivity extends AppCompatActivity {
SmsObserver smsObserver;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_smsacitivy);
smsObserver = new SmsObserver(new Handler());
getContentResolver().registerContentObserver(Uri.parse(“content://sms”), true,smsObserver);
}
public class SmsObserver extends ContentObserver{
public SmsObserver(Handler handler) {
super(handler);
}

@Override
public void onChange(boolean selfChange) {
    super.onChange(selfChange);
    Toast.makeText(SMSActivity.this,"短信发生变化",Toast.LENGTH_SHORT).show();
}

}
@Override
protected void onDestroy() {
super.onDestroy();
getContentResolver().unregisterContentObserver(smsObserver);
}
}
449、
简述ListView与RecyclerView的区别。
ListView与RecyclerView的区别具体如下:
1、展示效果:RecyclerView控件可以通过LayoutManager类实现横向或竖向的列表效果、瀑布流效果和GridView效果,而ListView控件只能实现竖直的列表效果。
2、适配器:RecyclerView控件使用的是RecyclerView.Adapter适配器,该适配器将BaseAdapter中的getView()方法拆分为onCreateViewHolder()方法和onBindViewHolder()方法,强制使用ViewHolder类,使代码编写规范化,避免了初学者写的代码性能不佳。
3、复用效果:RecyclerView控件复用Item对象的工作由该控件自己实现,而ListView控件复用Item对象的工作需要开发者通过convertView的setTag()方法和getTag()方法进行操作。
4、动画效果:RecyclerView控件可以通过setItemAnimator()方法为Item添加动画效果,而ListView控件不可以通过该方法为Item添加动画效果。
450、编写补间动画的代码,使ImageView中的icon图片从在1秒内从完全不透明到完全透明,并且该动画可以反向无限循环。
1、在layout文件夹中的activity_main.xml中编写布局。代码如下所示:

<?xml version="1.0" encoding="utf-8"?>

2、在res文件夹中创建anim文件夹,在该文件夹的alpha_animation.xml中定义补间动画,代码如下所示:

<?xml version="1.0" encoding="utf-8"?> 3、在MainActivity.java文件中开启动画 public class MainActivity extends AppCompatActivity { ImageView iv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); iv = (ImageView) findViewById(R.id.iv); Animation alpha = AnimationUtils.loadAnimation(this, R.anim.alpha_animation); iv.startAnimation(alpha); } } 答案说明 : 暂无解析

451、 简述使用HttpURLConnection访问网络的步骤。

使用HttpURLConnection访问网络的步骤如下: (1) 创建URL对象。 (2) 调用URL对象的openConnection()方法获取HttpURLConnection对象。 (3) 调用setRequestMethod()方法设置http请求的方式。 (4) 通过setConnectTimeout()方法设置连接的超时时间。 (5) 调用getInputStream()方法获取服务器返回的输入流。 (6) 最后调用disconnect()方法关闭http连接。 答案说明 : 暂无解析 452、 简述Android中的存储方式及特点。 1分 我的答案: 参考答案 : Android平台提供的五种数据存储方式,分别为文件存储、SharedPreferences、SQLite数据库、ContentProvider和网络存储,这些存储方式的特点如下。 (1)文件存储:Android提供了openFileInput()和openFileOutput()方法来读取设备上的文件,其读取方式与Java中I/O程序是完全一样的。 (2)SharedPreferences:这是Android提供的用来存储一些简单的配置信息的一种机制,他采用了XML格式将数据存储到设备中。通常情况下,我们使用SharedPreferences存储一些应用程序的各种配置信息,如用户名、密码等。 (3)SQLite数据库:SQLite是Android自带的一个轻量级的数据库,他运算速度快,占用资源少,还支持基本SQL语法,一般使用他作为复杂数据的存储引擎,可以存储用户信息等。 (4)ContentProvider:Android四大组件之一,主要用于应用程序之间的数据交换,他可以将自己的数据共享给其他应用程序使用。 (5)网络存储:需要与Android网络数据包打交道,将数据存储到服务器上,通过网络提供的存储空间来存储/获取数据信息。 答案说明 : 暂无解析 453、 已知当Wifi的状态发生变化时,会发送action为“android.net.conn.CONNECTIVITY_CHANGE”的广播,请注册广播接收者,接收此广播。 1分 我的答案: 参考答案 : 1、创建WifiReceiver继承自BroadcastReceiver,代码如下所示。 public class WifiReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { if(intent.getAction().equals(“android.net.conn.CONNECTIVITY_CHANGE”)){ Toast.makeText(context,“Wifi状态发生改变”,Toast.LENGTH_LONG).show(); } } } 2、在MainActivity中注册广播,代码如下所示。 public class MainActivity extends AppCompatActivity{ WifiReceiver receiver; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.edittext_layout); receiver = new WifiReceiver(); IntentFilter intentFilter = new IntentFilter(); intentFilter.addAction(“android.net.conn.CONNECTIVITY_CHANGE”); registerReceiver(receiver,intentFilter); } @Override protected void onDestroy() { super.onDestroy(); unregisterReceiver(receiver); } } 答案说明 : 暂无解析 454、 编写一个程序,实现点击回退健时弹出自定义的对话框,用于提示用户是否退出本应用。 1分 我的答案: 参考答案 : 在MainActivity.java文件中的代码如下所示。 public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @Override public void onBackPressed() { //声明对象 AlertDialog dialog; AlertDialog.Builder builder = new AlertDialog.Builder(this) .setTitle(“普通对话框”) //设置对话框的标题 .setIcon(R.mipmap.ic_launcher) //设置设置标题图标 .setMessage(“是否确定退出应用?”) //设置对话框的提示信息 //添加“确定”按钮 .setPositiveButton(“确定”, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); //关闭对话框 MainActivity.this.finish(); //关闭MainActivity } }) //添加“取消”按钮 .setNegativeButton(“取消”, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); } }); dialog = builder.create(); dialog.show(); } } 答案说明 : 暂无解析

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值