A. 它是整个程序的配置文件
B. 可以在该文件中配置程序所需的权限
C. 可以在该文件中注册程序用到的组件
D. 该文件可以设置UI布局
A. 应用程序层 ???B. 应用程序框架层 ??
C. 核心类库层 ???D. Linux内核层
A. 应用程序层 ???B. 应用程序框架层 ??
C. 核心类库层 ???D.? Linux内核层
1. 简述如何搭建Android开发环境。
2. 简述Android源代码的编译过程。
3. 简述Android系统架构包含的层次以及各层的特点。
Android系统架构从高到低分为四层,分别是应用程序层、应用程序框架层、核心类库、Linux内核
应用程序层:一个核心应用程序的集合,安装在手机中的应用程序都属于这一层。
应用程序框架层:主要提供了构建应用程序时用到的各种API。
核心类库:包含了系统库和Android运行环境
Linux内核:为Android设备的各种硬件提供了底层的驱动。
A.orientation??? B.gravity?? C.layout_gravity?? D.padding
A.FrameLayout? B.LinearLayout? C.Button?? D.RelativeLayout
A.左上角?? B.右上角?? C.左下角?? D.右下角
A.match_parent? B.fill_parent
C.wrap_content? D.match_content
A.RelativeLayout表示绝对布局,可以自定义控件的x、y的位置
B.RelativeLayout表示帧布局,可以实现标签切换的功能
C.RelativeLayout表示相对布局,其中控件的位置都是相对位置
D.RelativeLayout表示表格布局,需要配合TableRow一起使用
列举Android中的常用布局,并简述他们各自的特点。
使用TableLayout布局实现一个简单的计算器界面。
1. Android的控件样式,每一个XML属性都对应一个Java方法。( T )
2.当指定RadioButton按钮的android:checked属性为true时,表示未选中状态。( F )
3.AlertDialog对话框能够直接通过new关键字创建对象。( F )
4.Toast是Android系统提供的轻量级信息提醒机制,用于向用户提示即时消息。( T )
5.ListView列表中的数据是通过Adapter加载的。( T )
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方法是用来设置取消按钮的
1. 简述ListView与RecyclerView的区别
展示效果:RecyclerView控件可以通过LayoutManager类实现横向或竖向的列表效果、瀑布流效果和GridView效果,而ListView控件只能实现竖直的列表效果。
适配器:RecyclerView控件使用的是RecyclerView.Adapter适配器,该适配器将BaseAdapter中的getView()方法拆分为onCreateViewHolder()方法和onBindViewHolder()方法,强制使用ViewHolder类,使代码编写规范化,避免初学者写的代码性能不高。
复用效果:RecyclerView控件复用Item对象的工作由该控件自己实现,而ListView控件复用Item对象的工作需要开发者通过convertView的setTag()方法和getTag()方法进行操作。
动画效果:RecyclerView控件可以通过setItemAnimator()方法为Item添加动画效果,而ListView控件并没有实现动画效果,但我们可以在Adapter自己实现item的动画效果。
2. 简述实现Button按钮的点击事件的方式有哪几种?
1、在布局文件中指定onClick属性的方式设置点击事件。
2、使用匿名内部类的方式设置点击事件。
3、通过为Activity实现OnClickListener接口的方式设置点击事件。
3. 简述AlertDialog对话框的创建过程。
1. 开发一个整数加法的程序,实现将计算结果显示到界面上的功能。
2. 开发一个自定义对话框,其界面中显示标题、提示内容、确定和取消按钮。当点击回退健时,用于提示用户是否退出应用。
1. Activity的启动模式包括standard、singleTop、singleTask和____singleInstance_____。
2.启动一个新的Activity并且获取这个Activity的返回数据,需要重写____startActivityForResult()____方法。
3.发送隐式Intent后,Android系统会使用____IntentFilter____匹配相应的组件。
4.在清单文件中为Activity添加<intent-filter>标签时,必须添加的属性名为___<category android:name="android.intent.category.DEFAULT"/>_____,否则隐式Intent无法开启该Activity。
5. Activity的____finish()____方法用于关闭当前的Activity。
1.如果Activity不设置启动模式,则默认为standard。( T )
2. Fragment与Activity的生命周期方法是一致的。( F )
3.如果想要关闭当前的Activity,可以调用Activity提供的finish()方法。( T )
4. <intent-filter>标签中间只能包含一个action属性。( F )
5. 默认情况下,Activity的启动方式是standard。( T )
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不会明确指出需要激活的目标组件,所以无法实现组件之间的数据跳转
1. 简述Activity的生命周期的方法及什么时候被调用。
onCreate():Activity创建时调用,通常做一些初始化配置
onStart():Activity即将可见时调用。
onResume():Activity获取焦点时调用
onPause():当前Activity被其他Activity覆盖或锁屏时调用
onDestroy():Activity销毁时调用。
onRestart():Activity从停止状态到再次启动时调用。
2. 简述Activity的四种启动模式及其特点。
3. 简述Activity、Intent、IntentFilter的作用。???? ?????????????
1.SQLite是Android自带的一个轻量级的数据库,支持基本SQL语法。( T )
2.Android中的文件存储方式,分为内部存储方式和外部存储方式。( T )
3.使用openFileOutput()方式打开应用程序的输出流时,只需要指定文件名。( F )
4.当Android SDK版本低于23时,应用程序想要操作SD卡数据,必须在清单文件中添加权限。( T )
5.SQLiteDatabase类的update()方法用于删除数据库表中的数据。( F )
6.SQLite数据库的事务操作满足原子性、一致性、隔离性和持续性。( T )
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.下列方法中,( )方法是sharedPreferences获取其编辑器的方法?
A.getEdit()? B.edit()? C.setEdit()?? D.getAll
4.Android对数据库的表进行查询操作时,会使用SQLiteDatabase类中的( )方法?
A.insert()? B.execSQL()??? C.query() ????D.update()
5.下列关于SQLite数据库的描述中,错误的是( )
A.SqliteOpenHelper类有创建数据库和更新数据库版本的的功能。
B.SqliteDatabase类是用来操作数据库的。
C.每次调用SqliteDatabase的getWritableDatabase方法时,都会执行SqliteOpenHelper的onCreate()方法。
D.当数据库版本发生变化时,会调用SqliteOpenHelper的onUpgrade()方法更新数据库。
6.下列初始化SharedPreferences的代码中,正确的是( )
A.SharedPreferences sp = new SharedPreferences();
B.SharedPreferences sp = SharedPreferences.getDefault();
C.SharedPreferences sp = SharedPreferences.Factory();
D.SharedPreferences sp = getSharedPreferences();
1.简述数据库事物的4个基本要素。
2.简述Android数据存储的方式。
1. 使用SQLite数据库的事务操作,编写一段模拟银行转账的逻辑代码。
2. 编写一个用户登录的程序,要求登录的用户名和密码存入到SharedPreferences。
3. 编写一个购物车程序,实现在界面中以列表的形式显示购物车的商品信息,商品信息包括商品名称、价格和数量功能,并能够对购物车中的商品信息进行增删改查。
A.BroadcastReceiver? B.Activity? ?C.ContentProvider? D.AIDL
A.new ContentResolver()? B.getContentResolver()
C.newInstance()???????? D.ContentUris.newInstance()
A.BaseObserver ?B.ContentObserver ??C.BasicObserver? D.DefalutObserver
A.Contacts.Photos.CONTENT_URI
B.Contacts.People.CONTENT_URI
C.“content://sms/”
D.Media.EXTERNAL_CONTENT_URI
A.ContentProvider 是一个抽象类,只有继承后才能使用
B.ContentProvider只有在AndroidManifest.xml文件中注册后才能运行
C.ContentProvider为其他应用程序提供了统一的访问数据库的方式
D.以上说法都不对
当B程序需要操作A程序数据库中的数据,一般需要A程序使用ContentProvider暴露数据,才能被其他程序操作。B程序通过ContentResolver操作A程序暴露出来的数据,而A程序会将操作结果返回给ContentResolver,然后ContentResolver再将操作结果返回给B程序。
使用ContentObserver观察A程序的数据时,首先要在A程序的ContentProvider中调用ContentResolver的notifyChange()方法。调用此方法后,当B程序操作A程序中的数据时,A程序会向“消息中心”发送数据变化的消息,此时C程序会观察到“消息中心”的数据有变化,会触发ContentObserver的onChange()方法。
编写一个程序,联系人数据库会对联系人的资料模块化,分成多个表保存数据,表与表之间使用id相关联。根据不同的Uri获取联系人表中的相关信息如下所示:
(1)通过ContactsContract.Contacts.CONTENT_URI的Uri获取Contacts表中的联系人id和姓名,其字段分别为ContactsContract.Contacts._ID、ContactsContract.Contacts.
DISPLAY_NAME。
(2)通过ContactsContract.CommonDataKinds.Phone.CONTENT_URI的Uri获取Data表中的联系人id和电话,其字段分别为ContactsContract.CommonDataKinds.Phone.CONTACT_ID、ContactsContract.
CommonDataKinds.Phone.NUMBER。
请根据上述系统联系人数据库的相关信息,编写一个程序,用于读取系统联系人的姓名和电话,并将读取的信息显示在界面中。
A、Android中的广播类型分有序广播和无序广播
B、无序广播是按照一定的优先级进行接收
C、无序广播可以被拦截,可以被修改数据
D、有序广播按照一定的优先级进行发送
A、在同一个APP内部的同一组件内进行消息通信
B、不同APP的组件之间进行消息通信
C、在同一个APP内部的不同组件之间进行消息通信(单个进程)
D、在同一个APP具有多个进程的不同组件之间进行消息通信
编写一个程序,实现无序广播的发送和接收。
1. 如果想要停止bindService()方法启动的服务,需要调用___unBindService()__方法。
2. Android系统的服务的通信方式分为___本地服务__和___远程服务__。
3. 远程服务通过___AIDL__实现服务的通信。
1.Service服务是运行在子线程中的。( F )
2.不管使用哪种方式启动Service,它的生命周期都是一样的。( F )
3.使用服务的通信方式进行通信时,必须保证服务是以绑定的方式开启的,否则无法通信。( T )
4.一个组件只能绑定一个服务。( F )
5.远程服务和本地服务都运行在同一个进程中。( F )
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()
1. 简述Service的两种启动方式的区别。
2. 简述Service的生命周期。
编写一个获取验证码的程序,当点击该程序的获取验证码按钮时,使用服务实现倒计时60秒的功能,并将倒计时的时间显示在获取验证码的按钮上。
1. HttpURLConnection继承自____URLConnection___类。
2. Android系统默认提供的内置浏览器使用的是____WebKit___引擎。
3. Android中解析JSON数据的org.json包中,最重要的两个类是____JSONObject___和JSONArray。
1. HttpURLConnection用于发送HTTP请求和获取HTTP响应。( T )
2. Android中的WebView控件是专门用于浏览网页的,其使用方法与其他控件一样。( T )
3. Android中要访问网络,必须在AndroidManifest.xml中注册网络访问权限。( T )
4. HttpURLConnection是抽象类,不能直接实例化对象,需要使用URL的openConnection()方法获得。( T )
5. 使用HttpURLConnection进行HTTP网络通信时,GET方式发送的请求只能发送大小在1024个字节内的数据。( T )
6. Android内置的浏览器使用的是WebView引擎。( F )
1. Android针对HTTP实现网络通信的方式主要包括( )。(多选)
A.使用HttpURLConnection实现
B.使用ServiceConnection实现
C.使用HttpClient实现
D.使用HttpConnection实现
2. Android中的HttpURLConnection中的输入/输出流操作被统一封装成了( )。
(多选)
A.HttpGet ??B.HttpPost ??C.HttpRequest?? D.HttpResponse
简述使用HttpURLConnection 访问网络的步骤。
请写出使用JSONArray类解析JSON数据的主要逻辑代码,JSON数据如下所示。
[{"name":"LiLi", "score":"95"},{"name":"LiLei", "score":"99"},
{"name":"王小明", "score":"100"},{"name":"LiLei", "score":"89"}]
1. Paint类表示画笔,主要用于描述图形的颜色和风格。( T )
2.Android提供的Matrix类能够结合其他API对图形变换,例如,旋转、缩放、倾斜。( T )
3.Bitmap的decodeFile()方法用于从文件中解析Bitmap对象。( T )
1.下列关于Android动画的描述中,正确的是( )。(多选)
2. Android提供了哪些补间动画?( )(多选)
3. Android绘制图像时最常用的类包括( )。(多选)
4. Android中使用Canvas类中的( )方法可以绘制椭圆。
5. 下列关于Canvas类的描述,错误的是( )。
简述逐帧动画的工作原理。
1.SurfaceView继承自View,它是显示图像的控件。( T )
2.SurfaceView具有双缓冲技术。( T )
3.使用MediaPlayer播放视频时,SurfaceView显示视频的时候必须要在子线程中更新。( F )
4.Android中可以使用SoundPool同时播放多个音频文件。( T )
5.使用VideoView播放视频时,需要使用setVideoPath( )设置播放视频路径。( T )
1. 下列关于多媒体应用开发的描述中,正确的是()。(多选)
A.音乐?? B.响铃?????? C.闹钟????? D.提示音
3.下列关于MeidiaPlayer的描述,错误的是(? )。
1. 简述使用MediaPlayer播放音频的步骤。
2. 简要介绍一下SoundPool使用的场景。
编写一个使用SurfaceView播放视频的程序,实现当触摸屏幕时,显示播放和暂停的按钮、进度条、播放视频的当前时间以及视频的总时间,在触摸事件消失的5秒后自动隐藏显示的内容。