zoukankan      html  css  js  c++  java
  • 团队级软件开发理论与技术&& 管理信息系统项目管理与质量

    团队级软件开发理论与技术&& 管理信息系统项目管理与质量

    1、Activity是android程序的呈现层,显示可视化的用户界面,并接收与用户交互所产生的界面事件。

     

    答案: 正确

    2、创建Activity,实现布局,通过onCreate()方法设置布局。

     

    答案: 正确

    3、SQLite是轻量级的关系型数据库。

    答案: 正确

    4、以下关于SQLiteOpenHelper的描述,错误的是()。

    A、 SQLiteOpenHelper是一个抽象类

    B、 SQLiteOpenHelper中有两个抽象方法,分别是onCreate()和onUpdate()

    C、 SQLiteOpenHelper中的getReadableDatabase()方法返回一个可对数据库进行读写操作的对象

    D、 当磁盘空间已满,getWritableDatabase()方法将出现异常

    答案: B

    5、以下数据类型不属于SQLite的是()。

    A、 real

    B、 text

    C、 blob

    D、 boolean

    答案: D

    6、子线程默认是没有消息队列的。

    答案: 正确

    7、以下方法中,运行在子线程中的是()。

    A、 onPostExecute(Result)

    B、 onPreExecute()

    C、 onProgressUpdate(Progress...)

    D、 doInBackground(Params...)

    答案: D

    8、Android四大组件分别是:                                                                                                                            

    答案:

    Activity

    Service

    Content Provider

    Broadcast Receiver


    解析:

    9、编程实现Android中异步消息处理机制,功能不限。

    答案:

    Handler handler = new Handler() {            

    public void handleMessage(android.os.Message msg) {             

    if (msg.what == 1) {

    String s = (String) msg.obj;                                     

    Gson gson = new Gson();

    data = gson.fromJson(s, new TypeToken<List<Contacts>>() {

    }.getType());

    //adapter.notifyDataSetChanged();

    adapter = new MyAdapter(PassengerAddActivity.this, R.layout.item_passenger_add, data);

    lv.setAdapter(adapter);

    for (int i = 0; i < data.size(); i++) {

    cbSelected.add(false);

    }

    }

    };

    new Thread(new Runnable() {                                

     

    @Override

    public void run() {                              

    // TODO Auto-generated method stub

    DefaultHttpClient client = new DefaultHttpClient();

    HttpGet get = new HttpGet("http://10.0.2.2:8080/list");

    try {

    HttpResponse httpResponse = client.execute(get);

    if (httpResponse.getStatusLine().getStatusCode() == 200) {

    String response = EntityUtils.toString(

    httpResponse.getEntity(), "utf-8");

    Message msg = new Message();                 

    msg.what = 1;

    msg.obj = response;                           

    handler.sendMessage(msg);                        

    }

    } catch (ClientProtocolException e) {

    // TODO Auto-generated catch block

    e.printStackTrace();

    } catch (IOException e) {

    // TODO Auto-generated catch block

    e.printStackTrace();

    }

    }

    }).start();                     

     


    解析:

    10、关于Service,以下描述错误的是()。

    A、 没有用户界面

    B、 用于线程间通信

    C、 比Activity 的优先级高,不会轻易被Android系统终止

    D、

    即使Service被系统终止,在系统资源恢复后Service也将自动恢复运行状态。

     

    答案: B

    11、本地服务实现进程内通信。

    答案: 正确

    12、创建Service,必须实现的方法是()。

    A、 onCreate() 

    B、 onStartCommmand() 

    C、 onBind() 

    D、 onDestroy() 

    答案: C

    13、Android应用的所有UI都继承了_________类。

    答案:

    View

    14、Android推荐使用_________布局文件来控制视图

    答案:

    XML

    15、Android的所有布局管理器都是_________的子类

    答案:

    ViewGroup

    16、所有布局都可作为容器类使用,因此可以调用多个重载的_________方法向布局管理器中添加组件。

    答案:

    addView

    17、当前Activity处于_________状态时,Activity位于前台,用户可见,可以获得焦点

    答案:

    活动

    18、当创建Activity时,_________方法被回调,该方法只会被调用一次。

    答案:

    onCreate

    19、________代表了Android应用的启动“意图”,应用程序将会根据它来启动指定组件。

    答案:

    Intent

    20、可通过R资源清单类访问的资源,保存在________目录下

    答案:

    res

    21、无法通过R资源清单类访问的原生资源,保存在________目录下

    答案:

    assets

    22、在进行Android国际化操作的时候,不同values文件夹的命名方式为 values-____________-r国家代码

    答案:

    语言代码

    23、在进行LinearLayout布局时,如果要让其内部组件垂直方向上排列,需要设置 android:orientation=______________

    答案:

    vertical

    24、在Android中定义逐帧动画时,需要在 <animation-list>元素下定义___________子元素。

    答案:

    item

    25、SharePreferences在写入数据的时候,需要调用_________方法获取相应的Editor进行操作。

    答案:

    edit

    26、SQLite通过________方法来执行SQL语句

    答案:

    execSQL

    27、Android运行Service有2种方式,一种是通过startService方法,另一种是调用_____________方法

    答案:

    bindService

    28、reslayout下面定义的 xml 文件命名,大小写字母均可

    答案: 错误
    解析:

    29、Android颜色值 #RRGGBB 分别指定红、绿、蓝三原色的值

    答案: 正确

    30、在进行2D绘图时,Canvas通过skew(float sx,float sy) 执行旋转变换。

    答案: 错误

    31、SharePreferences在保存数据的时候以键值对的方式保存,其中的值可以存储Date类型的时间数据。

    答案: 错误

    32、调用Environment的getExternalStorageState()方法判断手机上是否插入了SD卡

    答案: 正确

    33、SQLite并不像MySQL数据库那样需要安装、启动服务器进程,它只是一个文件。

    答案: 正确

    34、除主键外,SQLite允许把各种类型的数据保存到任何类型字段中。

    答案: 正确

    35、ContentProvider与Activity一样,存在相同的生命周期

    答案: 错误

    36、以下叙述错误的是()。

    A、 多次调用 unbindService 来释放相同的连接会抛出异常。

    B、

    在调用 bindService 绑定到Service的时候,应当保证在某处调用 unbindService 解除绑定 ,否则当Activity finish时,虽然会关闭服务,但会抛出异常。

     

    C、 bindService()方法有三个参数。

    D、 如果同时使用 startService 与 bindService启动Service,那么Service 的终止需要unbindService与stopService同时调用,要注意 startService 与 bindService 的调用顺序和stopService与unbindService的调用顺序一致。

    答案: D

    37、<uses-permission android:name="android.permission.READ_CONTACTS"/>表示授予程序读取系统联系人的权限

    答案: 正确

    38、开发一个ContentProvider,需要创建其子类,该子类需要实现 select、insert、update和delete方法

    答案: 错误

    39、多次启动一个已有的Service组件将不会再多次回调该组件的onCreate方法

    答案: 正确

    40、在使用AIDL定义远程接口的时候,接口的源代码必须以 .aidl结尾

    答案: 正确

    41、MediaPlayer对象通过调用prepare()方法来装载音频资源。

    答案: 错误

    42、HttpURLConnection通过调用getResponseCode方法获取服务器的响应代码,如果返回200表示成功获取响应

    答案: 正确

    43、Android通过WebView的addJavaScriptInterface()方法把Android应用中的对象暴露给JavaScript脚本。

    答案: 正确

    44、Android中,实现IPC(Inter-Process Communication)的方式,错误的是()。

    A、 Intent

    B、 本地服务

    C、 远程服务

    D、 Content Provider

    答案: B

    45、Android中的主线程是也叫                                    

    答案:

    UI线程

    46、Android中发送HTTP请求,需要声明()权限。

    A、 android.permission.INTERNET

    B、 android.permission.ACCESS_NETWORK_STATE

    C、 android.permission.WRITE_SECURE_SETTINGS

    D、 android.permission.WRITE_EXTERNAL_STORAGE

    答案: A

    47、AIDL全称是                                                                             

    答案:

    Android Interface Definition Language

    48、关于.aidl文件,以下叙述错误的是()。

    A、 接口名和.aidl文件名相同。

    B、 接口和方法前不加访问权限修饰符。

    C、 .aidl文件中使用Java基本类型不需要import声明。

    D、

    如果使用自定义类型作为参数或返回值,自定义类型必须实现Serializable接口。

     

    答案: D

    49、关于Binder,叙述错误的是()。

     

     

    A、 Binder是Android中的一个抽象类,实现了IBinder接口。

    B、 从IPC角度,Binder是跨进程通信方式。

    C、 从应用层角度,Binder是客户端与服务端通信的媒介。

    D、 从FrameWork角度,Binder是ServiceManager连接各种Manager(如am,wm等)的桥梁。

    答案: A

    50、使用AIDL语言定义跨进程服务的接口,会生成了一个内部静态抽象类Stub,Stub继承了                  类。

     

    A、 Service

    B、 Binder

    C、 Handler

    D、 Activity

    答案: B

    51、获取SharedPreferences对象的方法,以下错误的是()。

    A、 Context类中的getSharedPreferences()方法。

    B、 Activity类中的getPreferences()方法。

    C、 PreferenceManager类中的getDefaultSharedPreferences()方法。

    D、 Context类中的getPreferences()方法。

    答案: D

    52、下面不是Android四大组件之一的

    A、 Activity

    B、 Intent

    C、 Service

    D、 ContentProvider

    答案: B

    53、下面关于广播叙述错误的是

    A、 广播是Android四大组件之一

    B、 BroadcastReceiver有两种注册方式,静态注册和动态注册

    C、 静态注册需要在Mainfest.xml中配置

    D、 动态注册需要在应用退出时候接触广播的注册。

    答案: A

    54、下面关于BroadcastReceiver错误的是

    A、 BroadcastReceiver有两种注册方式,静态注册和动态注册。

    B、 BroadcastReceiver必须在AndroidMainfest文件中声明  

    C、 BroadcastReceiver的使用,一定有一方发送广播,有一方监听注册广播,onReceive方法才会被调用。  

    D、 广播发送的Intent都是隐式启动。

    答案: B

    55、下面关于谁先接收广播顺序错误的是

    A、 有序广播,优先级高的先接收  

    B、 有序广播,同优先级的动静态广播接收器,静态优先于动态。

    C、 有序广播,同优先级的动态广播接收器,先注册的大于后注册的。

    D、 普通广播时,无视优先级,动态广播接收器优先于静态广播接收器

    答案: B

    56、下面关于广播说法错误的是

    A、 广播分为有序广播和无序广播  

    B、 使用abortBroadcast方法可以中断所有广播的传递。

    C、 广播注册方式分为动态和静态

    D、 sendOrderBroadcast用来向系统广播有序事件,sendBroadcast()是用来广播无序事件。

    答案: B

    57、下列关于Intent启动组件说法错误的是

    A、 startActivity()

    B、 startService()

    C、 startBroadcastReceiver()

    D、 startActivityForResult()

    答案: C

    58、对于广播的发送,Intent的启动方式是

    A、 显式启动

    B、 隐式启动

    C、 A和B都可以

    D、 以上说法都不正确。  

    答案: B

    59、下面关于Notification的说法正确的是

    A、 NotificationManagerman=newNotificationManager()

    B、 PendingIntentcontentIntent=newPendingIntent()

    C、 RemoteViewscontentView=newRemoteViews()

    D、 Notificationnotification=newNotification()

    答案: D

    60、关于ContenValues类说法正确的是

    A、 他和Hashtable比较类似,也是负责存储一些名值对,但是他存储的名值对当中的名是String类型,而值都是基本类型  

    B、 他和Hashtable比较类似,也是负责存储一些名值对,但是他存储的名值对当中的名是任意类型,而值都是基本类型  

    C、 他和Hashtable比较类似,也是负责存储一些名值对,但是他存储的名值对当中的名,可以为空,而值都是String类型  

    D、 他和Hashtable比较类似,也是负责存储一些名值对,但是他存储的名值对当中的名是String类型,而值也是String类型

    答案: A

    61、在手机开发中常用的数据库是

    A、 SQLite3

    B、 Oracle

    C、 SqlServer

    D、 DB2

    答案: A

    62、使用AIDL完成远程Service方法调用下列说法不正确的是

    A、 aidl对应的接口名称不能与aidl文件名相同

    B、 aidl的文件的内容类似java代码  

    C、 创建一个Service(服务),在服务的onBind(Intentintent)方法中返回实现了aidl接口的对象  

    D、 aidl对应的接口的方法前面不能加访问权限修饰符  

    答案: A

    63、android中文件操作模式中表示只能被本应用使用,写入文件会覆盖的是

    A、 MODE_APPEND

    B、 MODE_WORLD_READABLE

    C、 MODE_WORLD_WRITEABLE

    D、 MODE_PRIVATE

    答案: D

    64、关于android中播放视频的说法不对的是

    A、 可以使用SurfaceView组件播视频

    B、 可以使用VideoView组件播视频  

    C、 VideoView组件可以控制播放的位置和大小

    D、 VideoView播放视频的格式可以是3gp

    答案: C

    65、下列关于如何使用Notification,不对的是

    A、 notification需要NotificatinManager来管理  

    B、 使用NotificationManager的notify方法显示notification消息

    C、 在显示Notification时可以设置通知时的默认发声,震动等

    D、 调用Notification对象中的方法可以清除消息  

    答案: D

    66、下列不属于Service生命周期的方法是

    A、 onCreate

    B、 onDestroy

    C、 onStop

    D、 onStart

    答案: C

    67、下列对SharedPreferences存、取文件的说法中不正确的是:

    A、 属于移动存储解决方案

    B、 sharePreferences处理的就是key-value对

    C、 读取xml文件的路径是/sdcard/shared_prefs/

    D、 数据的保存格式是xml

    答案: C

    68、SharedPreferences存放的数据类型不支持

    A、 boolean

    B、 int

    C、 String

    D、 double

    答案: D

    69、下面关于JSON说法错误的是:

    A、 json是一种数据交互格式。  

    B、 json的数据格式有两种为{}和[]  

    C、 json数据用{}表示java中的对象,[]表示Java中的List对象  

    D、 {“1”:”123”,”2”: ”234”,”3”:”345”}不是json数据

    答案: D

    70、下面SQL语句不正确的是

    A、 select * from user

    B、 update user set username=’zhangsan’ where id=’2

    C、 delete * from user

    D、 insert into user values(1,’zhang’,’pass’);

    答案: C

    71、对于SharedPreferences的下面正确的是

    A、 SharedPreferencespref=newSharedPreferences();

    B、 Editoreditor=newEditor();  

    C、 SharedPreferences对象用于读取和存储常用数据类型

    D、 Editor对象存储数据最后都要调用commit()方法。  

    答案: D

    72、在多个应用中读取共享存储数据时,需要用到的query方法,是哪个对象的方法

    A、 ContentResolver

    B、 ContentProvider

    C、 Cursor

    D、 SQLiteHelper

    答案: A

    73、Service中如何实现更改Activity界面元素

    A、 通过把当前activity对象传递给service对象

    B、 通过向Activity发送广播  

    C、 通过Context对象更改Activity界面元素  

    D、 可以在Service中,调用Activity的方法实现更改界面元素  

    答案: B

    74、在使用SQLiteOpenHelper这个类时,它的哪一个方法是用来实现版本升级之用的?

    A、 onCreate()

    B、 onUpgrading()

    C、 onUpdate()

    D、 onUpgrade()  

    答案: D

    75、MediaPlayer播放资源前,需要调用哪个方法完成准备工作?

    A、 setDataSource()

    B、 prepare()

    C、 reset()

    D、 release()  

    答案: B

    76、在android中使用SQLiteOpenHelper这个辅助类时,创建数据库主要使用哪个方法

    A、 getDatabase()

    B、 openDatabase()

    C、 getReadableDatabase()

    D、 getAbleDatabase()  

    答案: C

    77、关于service生命周期的说法正确的是?

    A、 如果service已经启动,将先后调用onCreate()和onStart()方法

    B、 当第一次启动的时候先后调用onCreate()和onStart()方法

    C、 当第一次启动的时候只会调用onCreate()方法  

    D、 如果Service没有启动,不能调用StopService停止服务。  

    答案: B

    78、使用MediaPlayer播放保存在sdcard上的mp3文件时,应如何操作

    A、 需要使用MediaPlayer.create方法创建MediaPlayer

    B、 直接newMediaPlayer即可  

    C、 需要调用setDataSource方法设置文件源

    D、 直接调用start方法,无需设置文件源

    答案: C

    79、使用AIDL完成远程service方法调用下列说法不正确的是?

    A、 aidl对应的接口名称不能与aidl文件名相同

    B、 aidl的文件的内容类似java代码  

    C、 创建一个Service,在服务的onBind(Intentintent)方法中返回实现了aidl接口的对象

    D、 aidl对应的接口的方法前面不能加访问权限修饰符

    答案: A

    80、关于广播的作用,正确的说法是

    A、 它是用接收系统发布的一些消息的

    B、 它可以帮助service修改用户界面

    C、 它不可以启动一个Service

    D、 它可以启动一个Activity  

    答案: D

    81、关于Sqlite数据库,不正确的说法是

    A、 SqliteOpenHelper类主要是用来创建数据库和更新数据库

    B、 SqliteDatabase类是用来操作数据库的  

    C、 在每次调用SqliteDatabase的getWritableDatabase()方法时,会执行SqliteOpenHelper的onCreate方法。  

    D、 当数据库版本发生变化时,可以自动更新数据库结构

    答案: C

    82、下列选项哪个不是Activity启动的方法

    A、 goToActivity

    B、 startActivity

    C、 startActivityFromChild

    D、 startActivityForResult

    答案: A

    83、下列选项哪个是发送广播的方法

    A、 startBroadcast

    B、 startBroadcastReceiver

    C、 sendBroadcast

    D、 sendBroadcastReceiver

    答案: C

    84、SharedPreferences保存文件的路径和扩展名是?

    A、 /data/data/shared_prefs/*.txt

    B、 /data/data/packagename/shared_prefs/*.xml  

    C、 /mnt/sdcard/指定文件夹指定扩展名  

    D、 任意路径指定扩展名

    答案: B

    85、Activty和Task的启动模式有哪些?

    A、 standard、singleTop

    B、 singleTop、singleTask

    C、 singleTask、singleInstance  

    D、 standard、singleTop、singleTask、singleInstance  

    答案: D

    86、对于一个已经存在的SharedPreferences对象setting,想向其中存入一个字符串"person",setting应该先调用什么方法

    A、 edit()

    B、 save()

    C、 commit()

    D、 putString()  

    答案: A

    87、通过startService()和bindService(),以下说法错误的是

    A、 通过startService()启动服务:会调用如下生命周期方法:onCreate()---->onStart()---->onDestory()  

    B、 当采用startService()方法启动服务,访问者与服务之间是没有绑定在一起的,访问者退出,服务还在运行  

    C、 如果是调用bindService()启动服务:会调用如下生命周期方法:onCreate()---->onBind---->onDestory()---->onUnBind()  

    D、 采用bindService()方法启动服务时,访问者与服务是绑定在一起的,即访问者退出,服务也就终止,解除绑定。

    答案: C

    88、在Android中,关于MediaPlayer说法错误的是

    A、 MediaPlayer包含了Audio和video的播放功能。  

    B、 获得MediaPlayer实例的有newMediaPlayer()和MeiaPlayer.create()的方式。  

    C、 当我们播放一首歌曲由于异常中断,由于数据丢失,只能从开始的位置开始播放。

    D、 在指定MediaPlayer数据的来源时,必须指定播放的文件的路径、资源id或网络路径。

    答案: C

    89、在JDBC连接数据库编程应用开发中,利用( )可以实现连接数据库。

    A、 Connection类

    B、 PreparedStatement类

    C、 CallableStatement类

    D、 Statement

    答案: A

    90、为了实现在Java的程序中调用带参数的SQL语句,应该采用(  )来成。

    A、 Connection类

    B、 PreparedStatement类

    C、 ResultSet类

    D、 Statement

    答案: B

    91、从HTTP请求中,获得请求参数,应该调用

    A、 request对象的getAttribute()方法

    B、 request对象的getParameter()方法

    C、 session对象的getAttribute()方法

    D、 session对象的getParameter()方法

    答案: B

    92、多线程下载和断点续传使用什么(  )类是对文件进行操作。

    A、 FileInputStream

    B、 FileOutputStream

    C、 InputStreamReader

    D、 RandomAccessFile

    答案: D

    93、关于SQLite3数据库的操作,下面说法不正确的是

    A、 Context对象调用openOrCreateDatabase方法打开或者创建数据库  

    B、 SQLiteDatabase类的静态方法openOrCreateDatabase方法打开或者创建数据库

    C、 Context对象closeDatabase方法关闭数据库。  

    D、 SQLiteDatabase类的静态方法deleteDatabase方法删除数据库

    答案: C

    94、下列不属于service生命周期的方法是

    A、 onCreate

    B、 onDestroy

    C、 onStop

    D、 onStartCommand

    答案: C

    95、关于ServiceConnection接口的onServiceConnected()方法的触发条件描述正确的是

    A、 bindService()方法执行成功后

    B、 bindService()方法执行成功同时onBind()方法返回非空IBinder对象。

    C、 Service的onCreate()方法和onBind()方法执行成功后。  

    D、 Service的onCreate()和onStartCommand()方法启动成功后。

    答案: B

    96、使用SQLiteOpenHelper的构造方法创建与数据库连接时,参数可以设置为null的是

    A、 Context

    B、 数据库名

    C、 CursorFactory

    D、 数据库版本

    答案: C

    97、继承ContentProvider不需要实现(  )等方法。

    A、 add

    B、 delete

    C、 update

    D、 query

    答案: A

    98、下面哪个方法不是发送广播消息的方法?

    A、 sendBroadcast()

    B、 sendCommonBroadcast()

    C、 sendOrderedBroadcast()

    D、 sendStickyBroadcast()

    答案: B

    99、下列关于ContentProvider的说法错误的是:

    A、 ContentProvider的作用是实现数据共享和交换  

    B、 要访问ContentProvider,只需调用ContentProvider的增删改查相关方法

    C、 ContentProvider提供的URI必须以“content://”开头  

    D、 Android对于系统里的音视频、图像、通讯录提供了内置的ContentProvider

    答案: B

    100、获取SD卡音乐列表,通过调用(  )方法,才能调用query方法

    A、 getContentProvider

    B、 getContentResolver

    C、 getConnection

    D、 getUri

    答案: B

    101、关于JSON和XML说法,错误的是

    A、 JSON的速度要远远快于XML

    B、 JSON对数据的描述性比XML好  

    C、 JSON相对于XML来讲,数据的体积小

    D、 JSON和XML同样拥有丰富的解析手段  

    答案: B

    102、对输入中拼写检查的支持是通过什么方式实现的?

    A、 BroadcastReceiver

    B、 ContentProvider

    C、 Service

    D、 Activity

    答案: C

    103、通过Intent可以启动那些组件?

    A、 Activity

    B、 Service

    C、 A,B 两项都不可以

    D、 A,B两项都可以

    答案: D

    104、以下哪个不是Activity启动时的正确标志?

    A、 FLAG_ACTIVITY_CLEAR_TOP

    B、 FLAG_ACTIVITY_SINGLE_TASK

    C、 FLAG_ACTIVITY_SINGLE_TOP

    D、 FLAG_ACTIVITY_NEW_TASK

    答案: B

    105、遇到下列哪种情况时需要把进程移到前台?

    A、 进程正在运行一个与用户交互的Activity,它的onResume()方法被调用

    B、 进程有一正在运行的BroadcastReceiver,它的onReceive()方法正在执行

    C、 进程有一个Service,该Service对应的Activity正在与用户交互

    D、 所有选项均正确

    答案: D

    106、如何访问媒体库?

    A、 通过直接文件读取

    B、 通过ContentProvider

    C、 A,B两项都可以

    D、 A,B两项都不可以  

    答案: B

    107、FLAG_ACTIVITY_CLEAR_TOP标记的作用是什么?

    A、 如果Activity已经在任何栈中启动,则不做任何操作

    B、 如果Activity已经在当前栈中启动,则不做任何操作  

    C、 如果Activity已经在当前栈中启动,则所有在该Activity之上的Activity都会被销毁

    D、 如果Activity已经在任何栈中启动,则所有在该Activity之上的Activity都会被销毁

    答案: C

    108、关于广播以下陈述正确的是

    A、 广播接收器只能在配置文件中注册

    B、 广播接收器注册后不能注销

    C、 广播接收器只能接收自定义的广播消息

    D、 广播接收器可以在Activity中单独注册与注销  

    答案: D

    109、下面哪种进程最重要,最后被销毁?

    A、 服务进程

    B、 后台进程

    C、 可见进程

    D、 前台进程

    答案: D

    110、SharedPreferences和Preferences的修改支持事务吗?

    A、 支持,不支持

    B、 不支持,不支持

    C、 不支持,支持

    D、 支持,支持  

    答案: A

    111、在播放视屏时,需要保持屏幕一直亮着,需要哪个权限?

    A、 <uses-permissionandroid:name="android.permission.INTERNET"/>

    B、 <uses-permissionandroid:name="android.permission.WAKE_LOCK"/>

    C、 <uses-permissionandroid:name="android.permission.SCREEN_LOCK"/>

    D、 <uses-permissionandroid:name="android.permission.DIM_LOCK"/>

    答案: B

    112、当大量使用大Bitmap对象时,以下哪个说法是正确的?

    A、 不会崩溃,但要求不再使用的Bitmap对象设置为空

    B、 不会崩溃,但要求经常调用System.gc()通知内存释放

    C、 不会崩溃,因为虚拟机会自动回收内存

    D、 很可能会导致系统崩溃  

    答案: D

    113、以下哪个不是应用间交互常用的方法?

    A、 接收Broadcast的消息

    B、 文件共享访问

    C、 通过ContentResolver接口访问

    D、 Activity的调用  

    答案: B

    114、通过bindService()启动service,如果service还未启动,后有什么操作?当调用者退出,service会有什么操作?

    A、 失败,不终止

    B、 启动,终止

    C、 失败,终止

    D、 启动,不终止  

    答案: B

    115、Android应用四大组件中,可以在后台长时间执行长时,而不需要提供用户界面的是(

    A、 Service

    B、 Activity

    C、 BroadcastReceiver

    D、 ContentProvider

    答案: A

    116、ContentResolver用什么方法查询ContentProvider提供的内容

    A、 select()

    B、 retrieve()

    C、 query()

    D、 execute()

    答案: C

    117、PendingIntent主要的使用场景是?

    A、 在Widget中设置响应用户操作的动作

    B、 通过Notification发起一个动作

    C、 至少有一个不正确

    D、 A和B都正确  

    答案: D

    118、在应用程序中用到设备震动时需要使用什么权限?

    A、 android.hardware.permission.VIBRATE

    B、 android.permission.hardware.VIBRATE

    C、 android.security.VIBRATE

    D、 android.permission.VIBRATE  

    答案: D

    119、关于ServiceConnection接口的onServiceConnected()方法的触发条件描述正确的是?

    A、 bindService()方法执行成功后  

    B、 bindService()方法执行成功同时onBind()方法返回非空IBinder对象

    C、 Service的onCreate()方法和onBind()方法执行成功后  

    D、 Service的onCreate()和onStartCommand()方法启动成功后

    答案: B

    120、关于Intent对象说法错误的是

    A、 在android中,Intent对象是用来传递信息的

    B、 Intent对象可以把值传递给广播或Activity

    C、 利用Intent传值时,可以传递一部分值类型

    D、 利用Intent传值时,它的key值可以是对象

    答案: D

    121、Notification消息能否被取消?

    A、 只能取消本应用发起的消息

    B、 可以被任何应用取消  

    C、 不能取消,只能覆盖

    D、 只能取消本应用发起的消息,且只能通过消息ID逐个取消

    答案: A

    122、如果在android应用程序中需要发送短信,那么需要在AndroidManifest.xml文件中增加什么样的权限

    A、 发送短信,无需配置权限

    B、 permission.SMS  

    C、 android.permission.RECEIVE_SMS

    D、 android.permission.SEND_SMS

    答案: D

    123、关于视频的来源,哪个不正确?

    A、 可来源于外部URL

    B、 可来源于内部URI,通过ContentResolver获取

    C、 可来源于资源文件

    D、 可以文件方式直接访问内部Media

    答案: D

    124、内部存储和外部存储需要额外的权限吗?

    A、 不需要,不需要

    B、 需要,不需要

    C、 需要,需要

    D、 不需要,需要

    答案: D

    125、如何访问在SD卡上的文件?

    A、 通过直接文件读取

    B、 通过ContentProvider

    C、 A,B两项都不可以

    D、 A,B两项都可以  

    答案: D

    126、下列哪些情况下,系统可能会弹出ANR对话框

    A、 在Activity中,Main线程消息队列中的消息在5秒内没有得到响应

    B、 在Service中,onStartCommand()方法执行超过5秒  

    C、 在BroadcastReceiver中,onReceive()方法执行时间超过5秒

    D、 在启动的新线程中,run()方法执行时间超过5秒  

    答案: A

    127、通过startService()和bindService(),以下说法错误的是

    A、 通过startService()启动服务会调用如下生命周期方法:onCreate()---->onStart()---->onDestory()  

    B、 当采用startService()方法启动服务,访问者与服务之间是没有绑定在一起的,访问者退出,服务还在运行  

    C、 如果是调用bindService()启动服务:会调用如下生命周期方法:onCreate()---->onBind---->onDestory()---->onUnBind()  

    D、 采用bindService()方法启动服务时,访问者与服务是绑定在一起的,即访问者退出,服务也就终止,解除绑定。  

    答案: C

    128、如果想存储一个键值对字符串,应该使用哪个类?

    A、 ContentResolver

    B、 SharedPreferences

    C、 Resources

    D、 Cookies

    答案: B

    129、系统收到intent发起的启动Activity的请求时,根据什么来选择最合适的Activity?

    A、 category

    B、 data

    C、 action

    D、 都可以

    答案: D

    130、Android提供了哪个高效的序列化接口?

    A、 Clonable

    B、 Parcelable

    C、 Copiable

    D、 Externalizable

    答案: B
    解析:

    131、下面哪条语句可以构造正确的对话框

    A、 AlertDialogdialog=newAlertDialog(context);  

    B、 AlertDialog.Builderbuilder=newAlertDialog.Builder(context);

    C、 ProgressDialogdialog=newProgressDialog();  

    D、 ProgressDialog.Builderbuilder=newProgressDialog.Builder(context);

    答案: B

    132、视频播放支持以下哪种方式?

    A、 同步方式

    B、 异步方式

    C、 两者都支持

    D、 两者都不支持

    答案: C

    133、哪个是交互UI相关的控件?

    A、 Activity

    B、 BroadcastReceiver

    C、 Service

    D、 Contentprovider

    答案: A

    134、绑定Service的方法是

    A、 bindService

    B、 startService

    C、 onStart

    D、 onBind

    答案: A

    135、关于Activity说的法不正确的是

    A、 Activity是为用户操作而展示的可视化用户界面

    B、 一个应用程序可以有若干个Activity

    C、 Activity可以通过一个别名去访问

    D、 Activity可以表现为一个漂浮的窗口

    答案: C

    136、处理菜单项单击事件的方法不包含

    A、 使用onOptionsItemSelected(MenuItemitem)响应  

    B、 使用onMenuItemSelected(intfeatureId.MenuItemitem)响应

    C、 使用onMenuItemClick(MenuItemitem)响应

    D、 使用onCreateOptionsMenu(Menumenu)响应  

    答案: D

    137、AndroidActivity生命周期中调用的第一个方法是?

    A、 onInit()

    B、 onStart()

    C、 onCreate()

    D、 onBegin()  

    答案: C

    138、Intentintent=newIntent(Intent.ACTION.VIEW,Uri.parse("http://mail.google.com"))这句话作用陈述正确的是(

    A、 发送Email

    B、 在浏览器浏览这个网址

    C、 发送短信

    D、 其它项不正确

    答案: B

    139、如果把APP的最小SDK版本设置成8,那么以下哪个版本的将无法运行则个APP?

    A、 7

    B、 8

    C、 9

    D、 都可以

    答案: A

    140、下列哪一项是manifest文件的功能

    A、 声明要求的最低API级别

    B、 声明要求的用户权限的级别

    C、 记录程序中使用的Activity等资源

    D、 都是

    答案: D

    141、发起一个由以下代码初始化的Intent,会发生什么情况?

    Intent intent=new Intent();

    intent.addCategory(Intent.CATEGORY_BROWSABLE);

    intent.setAction(Intent.ACTION_MAIN);

     

    A、 如果系统中有多个浏览器,则会让用户选择浏览器  

    B、 如果系统有多个浏览器,并且设置了默认的,则会打开默认浏览器

    C、 如果系统中只有一个浏览器,则会打开该浏览器

    D、 都正确

    答案: D
    解析:

    142、当Activity由于资源不足被回收时,哪个函数会被调用?

    A、 onSaveInstanceState()

    B、 onSuspend()

    C、 onSaveState()

    D、 onStop()

    答案: A

    143、导致一个Activity的onDestroy()方法被调用的原因是什么?

    A、 该Activity被暂停或者停止,并且它的资源被操作系统回收

    B、 启动该Activity的Activity调用了finishActivity()

    C、 活动(Activity)调用finish()

    D、 三项原因都是

    答案: D

    144、Activity生命周期最开始的方法调用顺序是?

    A、 onCreate(),onResume(),onStart()

    B、 onCreate(),onRestart(),onResume()

    C、 onStart(),onResume(),onCreate()

    D、 onCreate(),onStart(),onResume()  

    答案: D

    145、按HOME按钮后,系统查找哪类Activity?

    A、 设置了ACTION_MAIN和ATEGORY_LAUNCHER的Activity

    B、 设置了ACTION_MAIN或ATEGORY_LAUNCHER的Activity

    C、 设置了ACTION_MAIN的Activity  

    D、 设置了ATEGORY_LAUNCHER的Activity  

    答案: A

    146、在Android工程中新建了一个Activity需要在哪个xml文件中声明一下?

    A、 main.xml

    B、 string.xml

    C、 AndroidMainifest.xml

    D、 layout.xml  

    答案: C

    147、如果需要启动一个Activity,并在Activity结束时可立即获取结果的方法是。

    A、 调用startActivityForResult()  

    B、 在启动的Activity中注册receiver,在被启动的Activity中发起broadcast消息

    C、 A,B两个选项都不正确

    D、 A,B两个选项都正确  

    答案: D

    148、如何给一个正在运行的service传递消息(

    A、 通过注册Receiver

    B、 通过Intent

    C、 通过定义AIDL接口

    D、 都正确  

    答案: D

    149、在播放视频或音频时,如果有电话打入,这时候视频或音频会自动挂起吗?

    A、 不会

    B、 会

    C、 有的手机会,有的手机不会

    D、 以上说法都错误

    答案: A

    150、如何支持语言国际化?

    A、 在资源文件中按名称设置参数,例如:zh_CN.Title=”标题”

    B、 按不同语言分目录提供不同的strings.xml文件

    C、 两者都不正确

    D、 两者都正确

    答案: B

    151、关于Intent的说法,错误的是?

    A、 可以用来激活一些组件

    B、 表示程序想做某事的意图

    C、 只能用于一个组件内部  

    D、 不同组件之间通信的“媒介”,专门提供组件互相调用的相关信息。

    答案: C

    152、页面中有三个控件分别为:

    文本输入框(负责输入用户名,id为editText1)

    单选按钮(控制是否自动检测,id为checkBox1)

    普通按钮(进行用户是否存在检测,id为button1)

    1) 当用户名输入为“harbin”时,表示用户存在,点击普通按钮提示“检测成功....”,输入其他信息提示“检测失败....”

    2)如果文本输入框没有输入信息,在文本输入框控件上给出错误提示“用户名不能为空”,并获取焦点。

    3)当单选按钮选中,并且用户名检测成功时,会将正确用户名保存,第二次进入时,无需输入用户名,直接显示提示“自动检测成功....”。 未选中时,不保存用户信息。

    请补充完善如下代码:

     

    public class SharedPreferencesActivity2 extends Activity {

    Button btn;

    EditText et1;

    CheckBox cb;

    SharedPreferences pref;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    ___(1)______(R.layout.sharedpreferences2);

    btn = (Button) findViewById(R.id.button1);

    et1 = (EditText) findViewById(R.id.editText1);

    cb = (CheckBox) findViewById(R.id.checkBox1);

    _____(2)____ = getSharedPreferences("person", Context.MODE_PRIVATE);

    String myUsername = pref.getString("username", "");

    if("harbin".equals(myUsername) ){

    Toast.makeText(SharedPreferencesActivity2.this, "自动检测成功....", Toast.LENGTH_SHORT).show();

    }

    btn.setOnClickListener(new OnClickListener() {

    public void ___(3)______(View arg0) {

    String username = et1.getText().toString();

    if(TextUtils.isEmpty(username)){

    et1.___(4)______("用户名不能为空");

    et1.___(5)______();

    }else{

    if("harbin".equals(username)){

    Toast.makeText(SharedPreferencesActivity2.this, "检测成功....", Toast.LENGTH_SHORT).show();

    ____(6)_____ editor = pref.edit();

    if(cb.___(7)______()){

    editor.____(8)_____("username", username);

    }else{

    editor.__(9)_______("username");

    }

    editor.___(10)______();

    }else{

    Toast.makeText(SharedPreferencesActivity2.this, "检测失败....", Toast.LENGTH_SHORT).show();

    }

     

    }

    }

    });

    }

    }

     

    答案:

    setContentView

    pref

    onClick

    setError

    requestFocus

    Editor

    isChecked

    putString

    remove

    commit


    解析:

    153、Android之父是__________。

     

    答案:

    安迪.罗宾

    154、Dx-工具把编译过的Java 文件转换为_________文件。

    答案:

    dex

    155、Android系统有四个重要的组件,分别是Activity、Service、BroadcaseReceiver和__________。

     

    答案:

    ContentProvider

    156、Activity表现为四种状态,分别是活动状态、暂停状态、停止状态和__________。

     

    答案:

    非活动状态

    157、Activity栈遵循__________的规则。

     

    答案:

    后进先出

    158、可视生命周期是Activity在界面上从可见到不可见的过程,开始于__________方法结束于onStop()方法。

     

    答案:

    onStart()

     

    159、Intent可以划分成显式意图和__________。

    答案:

    隐式意图

    160、视图树由View和__________构成。

     

    答案:

    ViewGroup

    161、声明Android程序的界面布局有两种方法,一种是使用文件_________文件描述界面布局,第二种是在程序运行时动态添加或修改界面布局。

    答案:

    XML

    162、安卓的Files,是通过FileInputStream和__________对文件进行操作。

    答案:

    FileOutputStream

    163、Shared Preferences存储是以__________文件形式保存的。

    答案:

    XML

    164、页面中有一个文本输入框(负责输入用户名,id为editText1) ,一个单选按钮(控制是否自动检测,id为checkBox1),一个普通按钮(进行用户是否存在检测,id为button1)

    在第一次操作时,当用户名输入为“harbin”时,表示用户存在,点击普通按钮提示“检测成功....”,输入其他信息提示“检测失败....”

    如果文本输入框没有输入信息,在文本输入框控件上给出错误提示“用户名不能为空”,并获取焦点。

    当单选按钮选中,并且用户名检测成功时,会将正确用户名保存,第二次进入时,无需输入用户名,直接显示提示“自动检测成功....”。 未选中时,不保存用户信息。

    请根据上述描述级代码上下文补全程序中的空格,使程序正常运行.

     

    public class SharedPreferencesActivity2 extends Activity {

    Button btn;

    EditText et1;

    CheckBox cb;

    SharedPreferences pref;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    _________(R.layout.sharedpreferences2);

    btn = (Button) findViewById(R.id.button1);

    et1 = (EditText) findViewById(R.id.editText1);

    cb = (CheckBox) findViewById(R.id.checkBox1);

    _________ = getSharedPreferences("person", Context.MODE_PRIVATE);

    String myUsername = pref.getString("username", "");

    if("harbin".equals(myUsername) ){

    Toast.makeText(SharedPreferencesActivity2.this, "自动检测成功....", Toast.LENGTH_SHORT).show();

    }

    btn.setOnClickListener(new OnClickListener() {

    public void _________(View arg0) {

    String username = et1.getText().toString();

    if(TextUtils.isEmpty(username)){

    et1._________("用户名不能为空");

    et1._________();

    }else{

    if("harbin".equals(username)){

    Toast.makeText(SharedPreferencesActivity2.this, "检测成功....", Toast.LENGTH_SHORT).show();

    _________ editor = pref.edit();

    if(cb._________()){

    editor._________("username", username);

    }else{

    editor._________("username");

    }

    editor._________();

    }else{

    Toast.makeText(SharedPreferencesActivity2.this, "检测失败....", Toast.LENGTH_SHORT).show();

    }

     

    }

    }

    });

    }

    }

     

    答案:

    setContentView

    pref

    onClick

    setError

    requestFocus

    Editor

    isChecked

    putString

    remove

    commit


    解析:

    165、Sqlite中开始事务的方法是__________。

    答案:

    beginTransaction()

    166、__________是MessageQueue的管理者

    答案:

    Looper

    167、启动service有两种方法分别是__________和bindService()。

     

    答案:

    startService()

    168、Notification是通过__________进行管理的

    答案:

    NotificationManager

    169、对一些资源以及状态的操作保存,最好是保存在生命周期的哪个函数中进行(   )。

    A、 onPause() 

    B、 onCreate() 

    C、 onResume 

    D、 onStart() 

    答案: D

    170、android 中下列属于Intent的作用的是(   )。

    A、 实现应用程序间的数据共享 

    B、 是一段长的生命周期,没有用户界面的程序,可以保持应用在后台运行,而不会因为切换页面而消失 

    C、 可以实现界面间的切换,可以包含动作和动作数据,连接四大组件的纽带 

    D、 处理一个应用程序整体性的工作 

    答案: C

    171、下列属于SAX解析xml文件的优点的是(   )。

    A、 将整个文档树在内存中,便于操作,支持删除,修改,重新排列等多种功能 

    B、 不用事先调入整个文档,占用资源少 

    C、 整个文档调入内存,浪费时间和空间 

    D、 不是长久驻留在内存,数据不是持久的,事件过后,若没有保存数据,数据就会消失 

    答案: B

    172、下面的对自定style的方式正确的是(   )。

    A、

    <resources>

        <style name="myStyle">

            <item name="android:layout_width">fill_parent</item>

        </style>

    </resources>

     

    B、

    <style name="myStyle">

        <item name="android:layout_width">fill_parent</item>

    </style>

     

    C、

    <resources>

        <item name="android:layout_width">fill_parent</item>

    </resources>

     

    D、

    <resources>

        <style name="android:layout_width">fill_parent</style>

    </resources>

     

    答案: A

    173、在android中使用Menu时可能需要重写的方法有(   )。

    A、 onCreateOptionsMenu() 

    B、 onCreateMenu() 

    C、 onItemSelected() 

    D、 onStartSelected() 

    答案: A

    174、在android中使用SQLiteOpenHelper这个辅助类时,可以生成一个数据库,并可以对数据库版本进行管理的方法可以是(   )。

    A、 getWriteableDatabase() 

    B、 getDatabase()   

    C、 getAbleDatabase() 

    D、 getImteDatabase() 

    答案: A

    175、android 关于service生命周期的onCreate()和onStart()说法正确的是(   )。

    A、 当第一次启动的时候先后调用onStart()和onCreate()方法 

    B、 当第一次启动的时候只会调用onCreate()方法 

    C、 如果service已经启动,将先后调用onCreate()和onStart()方法 

    D、 如果service已经启动,只会执行onStart()方法,不在执行onCreate()方法 

    答案: D

    176、关于ContenValues类说法正确的是(   )。

    A、 他和Hashtable比较类似,也是负责存储一些名值对,但是他存储的名值对当中的名是String类型,而值都是基本类型 

    B、 他和Hashtable比较类似,也是负责存储一些名值对,但是他存储的名值对当中的名是任意类型,而值都是基本类型 

    C、 他和Hashtable比较类似,也是负责存储一些名值对,但是他存储的名值对当中的名,可以为空,而值都是String类型     

    D、 他和Hashtable比较类似,也是负责存储一些名值对,但是他存储的名值对当中的名是String类型,而值也是String类型 

    答案: A

    177、我们都知道Hanlder是线程与Activity通信的桥梁,如果线程处理不当,你的机器就会变得越慢,那么线程销毁的方法是()。

    A、 onDestroy() 

    B、 onClear() 

    C、 onFinish() 

    D、 onStop() 

    答案: A

    178、下面退出Activity错误的方法是(   )。

    A、 finish()  

    B、 抛异常强制退出 

    C、 System.exit() 

    D、 onStop() 

    答案: C

    179、下面属于android的动画分类的是(   )。

    A、 Tweenn

    B、 Frame 

    C、 Draw     

    D、 Animation  

    答案: B

    180、Android项目工程下面的assets目录的作用是什么(   )。

    A、 放置应用到的图片资源 

    B、 主要放置多媒体等数据文件 

    C、 放置字符串,颜色,数组等常量数据 

    D、 放置一些与UI相应的布局文件,都是xml文件 

    答案: B

    181、关于res/raw目录说法正确的是(   )。

    A、 这里的文件是原封不动的存储到设备上不会转换为二进制的格式 

    B、 这里的文件是原封不动的存储到设备上会转换为二进制的格式 

    C、 这里的文件最终以二进制的格式存储到指定的包中 

    D、 这里的文件最终不会以二进制的格式存储到指定的包中 

    答案: A

    182、在继承中,关于构造方法的说明,下列说法错误的是(   )。

    A、 子类无条件的继承父类的无参构造方法

    B、 子类可以引用父类中的有参构造方法,使用super关键字

    C、 如果子类没有构造方法,则父类无参构造方法作为自已的构造方法

    D、 如果子类有无参构造方法,而父类的无参构造方法则被覆盖

    答案: D

    183、Activity是Android中的一个组件,提供了一个界面用于和用户交互,使用户可以在界面上进行点击、滑动等操作。

    答案: 正确

    184、Android应用程序中 图片应放在raw文件夹下。

    答案: 正确

    185、在所有的元素中只有<manifest>和<application>是必需的 且只能出现一次。

     

    答案: 错误

    186、 assets目录是原始资源目录,该目录中的内容将不会被R类所引用。

    答案: 正确

    187、px是像素单位,在不同的设备上显示效果相同,因此推荐在布局中使用该单位 。

    答案: 错误

    188、在设置空间长度等相对距离时,推荐使用dp单位,该单位随设备密度的变化而变化。

    答案: 正确

    189、sp代表放大像素,主要用于字体大小的显示。

    答案: 正确

    190、FlowLayoutAndroid的界面布局方式。

    答案: 错误

    191、EditText编辑框的提示信息是android:text。

    答案: 错误

    192、处理Button的点击事件,需要注册OnButtonClickListener()。

    答案: 错误

    193、要使用ListView,必须为该ListView使用Adpater方式传递数据。

    答案: 正确

    194、要使用ListView,该布局文件对应的Activity必须继承ListActivity。

    答案: 错误

    195、ListView中每一项的视图布局既可以使用内置的布局,也可以使用自定义的布局方式。

    答案: 正确

    196、ListView中每一项被选中时,将会触发ListView对象的ItemClick事件。

    答案: 正确

    197、Handler是用来发送消息和处理消息的。

    答案: 正确

    198、启动一个新的activity并且获取这个activity的返回值用_____                 方法启动,并通过                              返回值。

     

    答案:

    startActivityForResult()

    setResult()


    解析:

    199、Android的2D动画中有一种____     _动画,通过顺序的播放排列好的图片来实现,类似电影。

     

    答案:

    Frame;逐帧

    200、创建只显示文本的Toast对象时建议使用__                            方法。

     

    答案:

    makeText

    201、android中常用的四个布局是frameLayout(框架布局),                                     relativeLayout(相对布局),tableLayout(表格布局)。

     

    答案:

    linearLayout ;线性布局


    解析:

    202、属于android中的三种适配器                                                                      BaseAdapter。

    答案:

    SimpleAdapter

    ArrayAdapter

    203、AndroidSDK提供一些开发工具可以把应用软件打包成Android格式文件                                     

     

    答案:

    APK;apk


    解析:APK(全称:Android application packageAndroid应用程序包)是Android操作系统使用的一种应用程序包文件格式,用于分发和安装移动应用及中间件。 

    204、Android当中基本的所有的UI都是由                                 或者其子类实现的。

    答案:

    205、为EditText编辑框设置提示信息的属性是                   

     

    答案:

    adroid:hint

    206、访问后台数据库,将查询到的信息显示到ListView中。将以下代码空白处补充完整。

    public class MyContactsActivity extends Activity {

    ListView lv;

    Handler handler;

    List<Map<String, Object>> contactsList;

    SimpleAdapter adapter;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_my_contacts);

    lv = (ListView) ______(1)_______________(R.id.lv_contacts_list);

    handler = new Handler() {

    public void _____(2)_____________(android.os.Message msg) {

    switch (msg.what) {

    case 1:

    String response = (String) msg.obj;

    if (!response.equals("")) {

    try {

    // json数组解析

    JSONArray arr = new JSONArray(response);

    contactsList = new ArrayList<Map<String, Object>>();

    for (int i = 0; i < arr.length(); i++) {

    JSONObject contacts = arr.________(3)_____________(i);

    Map<String, Object> map = new HashMap<String, Object>();

    map.put("name", contacts.getString("name")

    + "(" + contacts.getString("type")

    + ")");

    map.put("idInfo", contacts.getString("idtype")

    + ":" + contacts.getString("idnumber"));

    map.put("tel", "电话:" + contacts.getString("tel"));

    contactsList.add(map);

    }

    int[] to = new int[] { R.id.tv_name_type, R.id.tv_id_info, R.id.tv_tel };

    String[] from = new String[] { "name", "idInfo","tel" };

    adapter = new _____(4)___________________(

    MyContactsActivity.this, contactsList,

    R.layout.item_my_contacts_list, from, to);

    lv.setAdapter(adapter);

    } catch (JSONException e) {

    // TODO Auto-generated catch block

    e.printStackTrace();

    }

    }

    break;

    }

    };

    };

     

    // 从数据库获取联系人列表

    new Thread(new Runnable() {

    @Override

    public void run() {

    _______(5)______________ httpClient = new _____(6)________________();

    HttpGet httpGet = new HttpGet("http://10.0.2.2:8080/list");

    try {

    HttpResponse httpResponse = httpClient.______(7)____________(httpGet);

    if (httpResponse.getStatusLine(). ______(8)____________== 200) {

    String response = ____(9)_________.toString(httpResponse.getEntity(), "utf-8");

    Message message = new Message();

    message.what = 1;// 返回联系人列表的消息

    message.obj = response;

    handler.______(10)_______________(message);

    }

    } catch (ClientProtocolException e) {

    // TODO Auto-generated catch block

    e.printStackTrace();

    } catch (IOException e) {

    // TODO Auto-generated catch block

    e.printStackTrace();

    }

    }

    }).start();

    }

    }

     

    答案:

    findViewById

    handleMessage

    getJSONObject

    SimpleAdapter

    DefaultHttpClient;HttpClient

    DefaultHttpClient

    execute

    getStatusCode()

    EntityUtils

    sendMessage


    解析:

    207、Activity的生命周期中,第一个被回调的方法是onStart()。

    答案: 错误

    208、Broadcast是Android的四大组件之一。

    答案: 错误

    209、android:title为Activity指定显示标签。

    答案: 错误

    210、在开发AppWidget窗口小部件时, 需要继承AppWidgetProvider类。

     

    答案: 正确

    211、WebView中可以用来处理js中警示,确认等对话框的是WebChromeClient。

    答案: 正确

    212、使用Android系统进行拍照用到的类有()。

     

     

     

    A、 SurfaceView

    B、 SurfaceHolder

    C、 Callback

    D、 Camera

    答案: D

    213、使用HttpClient的Get方式请求数据时, 可以用()类来构建Http请求 。

     

    A、 Get

    B、 URLConnection

    C、 HttpGet

    D、 HttpPost

    答案: C

    214、对于AlertDialog的描述不正确的是()。

     

     

    A、

    使用new关键字创建AlertDialog的实例。

     

    B、

    对话框的显示需要调用show方法。

     

    C、

    setPositiveButton方法是用来添加确定按钮的。

     

    D、

    setNegativeButton方法是用来添加取消按钮的。

     

    答案: A

    215、____________可以实现界面间的切换,可以包含动作和动作数据,连接四大组件的纽带。

     

    答案:

    intent


    解析:

    216、关于service生命周期,当第一次启动的时候先后调用____________onStart()方法。

    答案:

    onCreate


    解析:

    217、ScrollView中,可以直接包含____________个组件。

    答案:

    无数


    解析:

    218、适配器的主要作用是把数据绑定到____________上。

     

    答案:

    组件


    解析:

    219、激活Activity的方法是____________。

    答案:

    startActivity()


    解析:

    220、在Activity的生命周期中,当它从可见状态转向半透明状态时,它的____________方法必须被调用。

    答案:

    onPause()


    解析:

    221、在android中,ArrayAdapter类是用于把____________绑定到组件上。

    答案:

    数据


    解析:

    222、android中按钮控件的类名是____________。

    答案:

    Button


    解析:

    223、android中图像控件的类名是____________

    答案:

    ImageView


    解析:

    224、SAX解析xml文件的优点是,不用事先调入整个文档,占用资源____________。

    答案:


    解析:

    225、Handler实现不同____________间通信的一种机制。

    答案:

    线程


    解析:

    226、广播可以启动一个____________。

    答案:

    Activity;activity;ACTIVITY;活动


    解析:

    227、ViewGroup的父类是____________。

    答案:

    View


    解析:

    228、在main.xml中,定义一个组件时,有两个属性必须写:android:layout_width和____________。

    答案:

    android:layout_height


    解析:

    229、意图可分为显式意图和____________意图。

    答案:

    隐式


    解析:

    230、一个android工程可以有多个Activity。

    答案: 正确

    231、新线程可以和Handler共同使用。

    答案: 正确

    232、SqliteDatabase类不是用来操作数据库的。

    答案: 错误

    233、android 中Intent的作用的是,可以实现界面间的切换,可以包含动作和动作数据,连接四大组件的纽带。

    答案: 正确

    234、电话簿不属于Android体系结构中的应用程序层。

     

    答案: 错误

    235、Android应用的gen目录下的R.java被删除后还能自动生成。

    答案: 正确

    236、默认情况下对一个Activity的对象进行横竖屏切换,该对象的onCreate方法在每次切换时都会执行。

    答案: 正确

    237、Servie主要负责一些耗时比较长的操作,这说明Service会运行在独立的子线程中。

    答案: 错误

    238、onDestroy是activity被干掉前最后一个被调用方法。

    答案: 正确

    239、 HttpClient模块可以访问网络服务程序。

    答案: 正确

    240、一个Activity就是一个可视化的界面或者看成是控件的容器。

    答案: 正确

    241、Android SDK主要以java语言为基础。

    答案: 正确

    242、Android.jar是一个标准的压缩包,其内容包含的是编译后的class,包含了全部的API。

    答案: 正确

    243、当应用程序中某广播在AndroidMainifest.xml进行注册后,即使该应用程序关闭后,也可以接受操作系统发出的广播信息。以上说法是不对的。

    答案: 错误

    244、属于android中的三种适配器 EasyAdapter、ArrayAdapter、 BaseAdapter 。

    答案: 错误

    245、如下程序实现在activity间的带数据跳转,请根据程序逻辑进行填空。

    package com.example.info_2_2;

     

    import android.support.v7.app.Activity;

    import android.content.Intent;

    import android.os.Bundle;

    import android.view.Menu;

    import android.view.MenuItem;

    import android.view.View;

    import android.widget.Button;

     

    public class MainActivity extends _____第一空___________{

        private ______第二空_______ button1;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_main);

    button1=(Button)findViewById(R.id.button1);

    button1.setOnClickListener(new View.OnClickListener() {

    @Override

    public void onClick(View v) {

    ______第三空________ i=new Intent();

    ______第四空________.setClass(MainActivity.this, SecondActivity.class);

    i.putExtra("info","测试一下吧");

    ____第五空_______(i);

    }

    });

    }

     

    @Override

    public boolean onCreateOptionsMenu(Menu menu) {

    // Inflate the menu; this adds items to the action bar if it is present.

    getMenuInflater().inflate(R.menu.main, menu);

    return true;

    }

     

    @Override

    public boolean onOptionsItemSelected(MenuItem item) {

    // Handle action bar item clicks here. The action bar will

    // automatically handle clicks on the Home/Up button, so long

    // as you specify a parent activity in AndroidManifest.xml.

    int id = item.getItemId();

    if (id == R.id.action_settings) {

    return true;

    }

    return super.onOptionsItemSelected(item);

    }

    }

     

     

    如下程序运用了ListView控件技术,请根据程序逻辑进行填空。

    package com.example.t1_2;

     

    import android.support.v7.app.ActionBarActivity;

    import android.os.Bundle;

    import android.view.Menu;

    import android.view.MenuItem;

    import android.widget.ArrayAdapter;

    import android.widget.ListView;

     

    public _____第六空__________ MainActivity extends ActionBarActivity {

        private _____第七空_______ listView1;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

    super.____第八空______(savedInstanceState);

    setContentView(R.layout.activity_main);

    listView1=(ListView)findViewById(R.id.listView1);

    ______第九空______[] arr1={"孙悟空","猪八戒","牛魔王"};

      ArrayAdapter<String>adapter=new ArrayAdapter<String>(this,R.layout.array_item,arr1);

      listView1._____第十空________(adapter);

    }

     

    @Override

    public boolean onCreateOptionsMenu(Menu menu) {

    // Inflate the menu; this adds items to the action bar if it is present.

    getMenuInflater().inflate(R.menu.main, menu);

    return true;

    }

     

    @Override

    public boolean onOptionsItemSelected(MenuItem item) {

    // Handle action bar item clicks here. The action bar will

    // automatically handle clicks on the Home/Up button, so long

    // as you specify a parent activity in AndroidManifest.xml.

    int id = item.getItemId();

    if (id == R.id.action_settings) {

    return true;

    }

    return super.onOptionsItemSelected(item);

    }

    }

     

     

    答案:

    Activity

    Button

    Intent

    i

    startActivity

    class

    ListView

    onCreate

    String

    setAdapter


    解析:

    246、请写出简单的登录界面的布局文件代码(界面包括:用户名、密码信息及登录按钮)

    答案:

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

        android:layout_width="fill_parent"

        android:layout_height="fill_parent"

        android:orientation="vertical" >

    <LinearLayout

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:orientation="horizontal" >

    <TextView android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:text="用户名:"/>

    <EditText android:id="@+id/username"

        android:layout_width="100dp"

        android:layout_height="30dp"

        />

    </LinearLayout>

    <LinearLayout

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:orientation="horizontal" >

    <TextView android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:text="密码:"/>

    <EditText android:id="@+id/password"

        android:layout_width="100dp"

        android:layout_height="30dp"

        />

    </LinearLayout>

    <Button android:id="@+id/btn"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:text="登录"/>

    </LinearLayout>


    解析:

    247、Android SDK主要以                  语言为基础

    答案:

    java

    248、Android之父是。(    )

    A、 安迪·罗宾

    B、 拉里·佩奇

    C、 谢尔盖·布林

    D、 爱达·拉乌莱斯

    答案: A

    249、关于android程序结构,下列说法不正确的是。(    )

    A、 gen为保存自动生成R资源类文件夹

    B、 res为资源文件夹

    C、 assets目录用来存放原始格式的文件

    D、 valuse目录保存文件图像

    答案: D

    250、Android四大组件是Activity、                             BroadcaseReceiver 和 ContentProvider

     

    答案:

    Service

    251、Math cei1(99.1)的结果是                

    答案:

    100

    252、我们都知道Hanlder是线程与Activity通信的桥梁,如果线程处理不当,你的机器就会变得越慢,那么线程销毁的方法是            

     

    答案:

    onDestroy()

     

    253、下列属于Intent的作用的是。(    )

    A、 实现应用程序间的数据共享

    B、 是一段长的生命周期,没有用户界面的程序

    C、 可以实现界面间的切换,可以包含动作和动作数据,连接四大组件的纽带

    D、 处理一个应用程序整体性的工作

    答案: C

    254、编程实现具有“登录按钮”的主界面,点击“登录”按钮后打开SecondActivity.

     

    答案:

    MainActivity . java

    public class MainActivity extendsActivity {        

    Button btn;

    @Override

    protected void onCreate (Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R. layout. activity_ main);                    

    name = (EditText)findViewById(R. id. name);                    

    password = (EditText)findViewById(R. id. password);        

    btn= (Button)findViewById(R. id. register);

    btn. setOnClickListener(new View.OnClickListener() {            

    @Override

    public void onClick(View v) {                                    

     

    Intent intent=new Intent(MainActivity. this,SecondActivity.class);        

    startActivity(intent);                                                                                    

    }

    });

    }

     


    解析:

    255、Intent是android的四大组件之一。

    答案: 错误

    256、下面属于android的动画分类的有。(    )

    A、 Tween

    B、 Draw

    C、 Animation

    D、 Scale

    答案: A

    257、Activity的onStop()和onDestroy()方法效果是差不多的。

    答案: 错误

    258、Android工程中,放在res下的资源文件都会在R.java文件里生成相应的编号。

     

    答案: 正确

    259、Scro1lView可以有             个子view

     

    答案:

    1

    260、设置xm1布局文件中的字体大小一般用        单位

     

    答案:

    sp

    261、Activity从可见状态变为半透明遮盖状态时,生命周期中                方法被调用

     

    答案:

    onPause ()

    262、当启动一个Activity并且新的Activity执行完后需要返回到启动它的Activity来执行的回调函数是                        

     

    答案:

    finish()

    263、定义Linearlayout线性布局时至少设置的三个属性:                               , android:layout_width 和android:layout_height

     

    答案:

    android:orientation

    264、关于JSON语法规则说法错误的是。(    )

    A、 数据在名称/值对中

    B、 数据由分号分隔

    C、 花括号保存对象

    D、 方括号保存数组

    答案: B

    265、我们用int来定义一个整数,用              来定义一个字符类型,称为原始数据类型。

     

    答案:

    char

    266、WebView中可以用来处理js中警示,确认等对话框的是                                             

     

    答案:

    WebChromeClient

    267、Android解析xm1的方法中,将整个文件加载到内存中进行解析的是                       

     

    答案:

    DOM

    268、使用Android系统进行拍照用到的类有Callback和Camera

     

    答案: 错误

    269、关于SAX解析XML数据说法错误的是。(    )

    A、 与DOM不同,SAX提供的访问模式是一种倒序模式,这是一种快速读写XML数据的方式

    B、 SAX不能对文档进行随机访问

    C、 SAX只遍历文档一次

    D、 需要解析大型文档时可以使用SAX解析

    答案: A

    270、在AsyncTask中doInBackground()方法是负责执行那些很耗时的后台计算工作的

     

    答案: 正确

    271、使用HttpUrlConnection实现移动互联时,设置读取超时属性的方法是                                 

     

    答案:

    setReadTimeout()

    272、在开发AppWidget窗口小部件时可以使用 ImageView,WebView,GridView,Button等组件

     

    答案: 错误

    273、若希望在点击网页中超链接时,在当前WebView 中显示该网页,则需要覆盖WebViewClient类               方法。

     

    答案:

    shouldOverrideUrlLoading()

     

    274、Android中网络互连中需要获取状态码,根据状态码来判断请求是否已经完成,        状态码表示请求完成

     

     

    答案:

    200

    275、在添加第一个appwidget窗口小部件时,会执行的方法是 onReceive,onEnabled和onUpdate

     

    答案: 正确

    276、数据源如果weisqlite数据库,查出信息最适合的适配器是ArrayAdapter

    答案: 错误

    277、在每次调用SqliteDatabase 的getWritableDatabase0方法时,会执行SqliteOpenHelper 的onCreate方法。

     

    答案: 错误

    278、Handler是实现不同进程间通信的一种机制.

     

    答案: 错误

    279、可以使用new关键字创建AlertDialog的实例

     

    答案: 错误

    280、在使用一个ImageSwitcher之前,不一定要调用setFactory方法

     

    答案: 错误
    解析:

    281、setOutAnimation是资源文件从ImageSwitcher里消失的时候要实现的动画效果

     

    答案: 正确

    282、使用HttpClient的Get方式请求数据时,可以HttpGet类来构建Http请求

     

    答案: 正确

    283、使用HttpURLConnection的Get方式请求数据时,connection connect()是必须设置的

     

    答案: 正确

    284、在开发AppWidget窗口小部件时,需要继承AppWidgetConfigure类

     

    答案: 错误

    285、android中文件操作模式中表示只能被本应用使用,写入文件会覆盖的是MODE_ PRIVATE

     

    答案: 正确

    286、

    以下代码是我的12306项目中,点击上图左面的列表中任一item,跳转到右面编辑界面的代码,请补充代码中的空白

    public class MyContactEditActivity extends Activity {

    ListView lv;

    Button btn_save; //保存按钮

    SimpleAdapter adapter; //适配器

    @Override

    protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_my_contact_edit);

    lv = (ListView) findViewById(R.id.lv_contact_edit);

    btn_save = (Button) findViewById(R.id.btn_contact_editsave);

    // 接收数据

           1】           i =getIntent();

    Map<String, Object> contact = (Map<String, Object>) i.getSerializableExtra("row");

    List<Map<String, Object>> data =                           2】                                                         

    // row1:姓名

    Map<String, Object> row1 = new HashMap<String, Object>();

    String name = (String) contact.get("name");

    row1.put("key1",       3】            );

    row1.put("key2", name.split("\(")[0]);

    row1.put("key3", R.drawable.forward_25);

    data.add(row1);

    // row2:证件类型

    Map<String, Object> row2 = new HashMap<String, Object>();

    String str = (String) contact.get("idcard");

    row2.put("key1", "证件类型");

    row2.put("key2",           4】                        );

    row2.put("key3", null);

    data.add(row2);

    // row3:证件号码

    Map<String, Object> row3 = new HashMap<String, Object>();

    str = (String) contact.get("idcard");

    row3.put("key1", "证件号码");

    row3.put("key2", str.split(":")[1]);

    row3.put("key3", null);

                                       5】                                       

    // row4:乘客类型

    Map<String, Object> row4 = new HashMap<String, Object>();

    str = (String) contact.get("name");

    row4.put("key1", "乘客类型");

    row4.put("key2", str.split("\(")[1].split("\)")[0]);

    row4.put("key3", R.drawable.forward_25);

    data.add(row4);

    // row5:电话

    Map<String, Object> row5 = new HashMap<String, Object>();

    str = (String) contact.get("tel");

    row5.put("key1", "电话");

    row5.put("key2", str.split(":")[1]);

    row5.put("key3", R.drawable.forward_25);

    data.add(row5);

    //适配器

    adapter = new SimpleAdapter(this,     6】          , R.layout.item_my_contact_edit,

    new String[]{       7】          ,        8】            ,            9】           },

    new int[]{R.id.tv_item_contactedit_key,R.id.tv_item_contactedit_value,R.id.iv_item_contactedit_flag});

                             10】                                           

    }

    }

     

    答案:

    Intent

    new ArrayList<Map<String, Object>>();

    "姓名"

    str.split(":")[0]

    data.add(row3);

     data

    "key1"

    "key2"

    "key3"

    lv.setAdapter(adapter);

    287、Android SDK 提供多种开发所必要的工具与________________________。

    答案:

    API

    288、Android系统集成了基于开源WebKit引掣的浏览器。(    )

    答案: 正确
    解析:

    289、android中使用SQLiteOpenHelper这个辅助类时,可以生成一个数据库,并可以对数据库进行管理的方法可以是。(    )

    A、 getSqliteDatabase()

    B、 getTableDatabase()

    C、 getWriteableDatabase()

    D、 getDatabase()

    答案: C

    290、下面关于Android中定义style和theme的描述错误的是。(    )

    A、 都可以减少重复属性设置

    B、 theme可以应用在某一个单独的View中

    C、 style是针对窗体元素级别的,改变指定控件或者Layout的样式

    D、 android:theme="@android:style/Theme.Dialog" ,将一个Activity显示为对话框模式

    答案: B

    291、下列哪个是AbsoluteLayout中特有的属性。(    )

    A、 android:layout_height

    B、 android:layout_x

    C、 android:layout_above

    D、 android:layout_toRightOf

    答案: B

    292、使用MediaPlayer播放保存在sdcard上的mp3文件时错误的是。(    )

    A、 需要设置访问sdcard的权限

    B、 可以使用MediaPlayer.create()方法创建MediaPlayer对象

    C、 可以直接调用start方法,无需设置文件源

    D、 可以调用setDataSource()方法设置文件源

    答案: C

    293、处理菜单项单击事件的方法不包括。(    )

    A、 使用onOptionsItemSelected(MenuItem item)响应

    B、 使用onMenuItemSelected(int featured , MenuItem item)响应

    C、 使用onMenuItemClick(MenuItem item)响应

    D、 使用onCreateOptionsMenu(Menu menu)响应

    答案: D

    294、下列不属于Service生命周期的方法是。(    )

    A、 onStop()

    B、 onCreate()

    C、 onDestory()

    D、 onStart()

    答案: A

    295、在多个应用中读取共享存储数据时,需要用到的query方法是哪个对象的方法。(    )

    A、 ContentResolver

    B、 ContentProvider

    C、 Cursor

    D、 SQLiteHelper

    答案: A

    296、下列关于Android中远程服务说法错误的是。(    )

    A、 IPC为进程间通信机制

    B、 aidl对应的接口名称不能与aidl文件名相同

    C、 aidl对应的接口的方法前面不能加访问权限修饰符

    D、 AIDL语言的语法与Java语言的接口定义非常相似,唯一不同之处是:AIDL允许定义函数参数的传递方向

    答案: B

    297、关于广播的作用,下列说法正确的是。(    )

    A、 他可以帮助service修改用户界面

    B、 它不可以启动一个service

    C、 它不可以启动一个activity

    D、 广播接收器是一个专注于接收广播通知信息,并做出对应处理的组件

    答案: D

    298、DDMS是Android系统中内置的__________________工具。

    答案:

    调试

    299、Android中常用的布局有FrameLayout、LinearLayout、TableLayout、AbsoluteLayout、_____________________。

    答案:

    RelativeLayout

    300、Android中的四大组件有Activity、Service、Broadcast、_______________________。

    答案:

    ContentProvider

    301、当启动一个Activity并且新的Activity执行完后需要返回到启动它的Activity来执行的回调函数是________________________。

    答案:

    startActivityForResult(Intent intent, int requestCode)

    302、Intent可以划分成显式意图和_____________________。

    答案:

    隐式意图

    303、java.io包中ObjectInputStream和__________________________类主要用于对对象(Object)的读写。

    答案:

    ObjectOutputStream

    304、创建对话框时,设置为单选对话框的方法是_______________________________。

    答案:

    setSingleChoiceItems()

    305、给ListView控件的子项添加点击事件监听器的方法为_________________________。

    答案:

    setOnItemClickListener()

    306、Android中主要功能是向用户提供包含年、月、日的日期数据并允许用户对其修改的控件是____________________。

    答案:

    DatePicker

    307、_______________________自动完成文本框,它继承自EditText,并和EditText一样可以输入文本,它可以根据用户输入的文本弹出一个智能提示的下拉列表。

    答案:

    AutoCompleteTextView

    308、给TextView控件的高度设置为“3”的代码为_____________________________。

    答案:

    android:lines="3"

    309、使用WebView控件加载HTML页面的方法为____________________________。

    答案:

    loadUrl()

    310、在WebView中,当JS解析Json脚本,可以使用________________方法调用JavaScript的编译器把JSON文本转变成对象。

    答案:

    eval()

    311、Android中在AndroidManifest.xml中设置activity的横竖屏的属性为__________________________________。

    答案:

    android:screenOrientation

    312、Android可以直接使用编译后的类文件(.class)。(    )

    答案: 错误
    解析:

    313、根据上下文内容进行代码填空。

    注:(listview显示内容)

    主页面布局

     

    Item布局

     

    MainActivity

     

    答案:

    lv= (ListView) findViewById(R.id.lv);

     

    Maprow = new HashMap();

     

    data.add(row);

     

    this或者MainActivity.this

     

    new String[] { "name", "age","tel" }

     

    new int[] { R.id.tv1,R.id.tv2, R.id.tv3}

     

    lv.setAdapter(adapter);

     

    new OnItemClickListener()

     

    String name = data.get[position].get("name").toString();

     

    Toast.makeText(MainActivity.this,name,0).show();

     


    解析:

    314、完成Activity的全部创建过程。

    注:(Activity名称为HelloActivity,需要写出Activity的类,类中方法以及配置,加载页面布局名称为xxx,标题为xxx)

    答案:

    public class HelloActivity extends Activity {

        @Override

        protected void onCreate(Bundle savedInstanceState) {

            super.onCreate(savedInstanceState);

            setContentView(R.layout.xxx);

        }

    }

    配置

    <activity

        android:name=".HelloActivity"

        android:label="xxx" >

    </activity>

     


    解析:

    315、当应用程序中某广播在AndroidManifest.xml文件中进行注册后,即使该应用程序关闭后,也可以接收操作系统发出的广播信息。 (    )

    答案: 正确
    解析:

    316、在Android中ContentProvider是一个特殊的存储数据的类型,它提供了一套标准的接口来获取、操作数据。(    )

    答案: 正确
    解析:

    317、在Android中的SQLite采用的是动态数据类型,会根据存入值自动判断。SQLite有五种数据类型。(    )

    答案: 正确
    解析:

    318、给一个TextView控件设置红色字体,可以使用方法setTextColor("0xffff0000");(    )

    答案: 错误
    解析:

    319、在AndroidManifest.xml中只有<manifest>和<application>是必需的,且只能出现一次。(    )

    答案: 错误
    解析:

    320、App Widget是Application Widget的缩写,特指在android手机桌面上放置的控件,App Widget和我们自己写的程序运行在同一进程当中的。(    )

    答案: 错误
    解析:

    321、2D图形接口实际上是Android图形系统的基础, GUI上的各种可见元素也是基于2D图形接口构建的。(    )

    答案: 正确
    解析:

    322、TraceView是AndroidSDK里面自带的工具,用于对Android的应用程序以及Framework层的代码进行性能分析。(    )

    答案: 正确
    解析:

    323、LogCat是用来获取系统日志信息的工具,并可以显示在Eclipse集成开发环境中,其中Log.i()用来记录详细信息。(    )

    答案: 错误
    解析:

    324、ArrayAdapter可以用XML文件作为数据源。(    )

    答案: 正确
    解析:

    325、当系统资源不足时,即使Activity不处于onStop状态时,也有可能被系统销毁。(    )

    答案: 正确
    解析:

    326、在Android中,Tween动画能实现的动画效果只包括alpha变换,rotate变换。(    )

    答案: 错误

    327、ContentValues与Hashtable比较类似,也是负责存储一些名值对,但是它存储的名值对当中的名是String类型,而值都是基本类型。(    )

    答案: 正确

    328、如下Android程序实现点击ListView子项触发不同事件。请按照提示补全下划线处的空白代码。

    public class MainActivity extends Activity {
        ListView navList;   
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            __________________(1)_______________(R.layout.activity_main);    //设置使用布局文件activity_main       
            navList = (ListView) _______________(2)________________(R.id.navList);   //根据id获得ListView控件        
            String [] data = {"我的联系人","我的账户","我的密码"};        
            ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,data);        
            navList._______________(3)____________  __(adapter);     //ListView 加载适配器      
            final Intent i = new Intent();        
            navList._______________(4)________________(new OnItemClickListener() {    //给ListView子项加点击事件
                @Override
                public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                    switch (position) {
                    case 0:      //我的联系人
                        i.setClass(MainActivity.this, MyContactActivity.class);
                        startActivity(i);
                        break;                  
                    case 1:   //我的账户
                        i.setClass(MainActivity.this, MyAccountActivity.class);
                        startActivity(i);
                        break;                    
                    case 2:   //我的密码                
                        final EditText oldPassword = new EditText(MainActivity.this);           
                        new AlertDialog.Builder(MainActivity.this)
                        .setIcon(android.R.drawable.ic_dialog_info)
                        __________________(5)_______________________   //给对话框设置标题为 “请输入原密码”
                        __________________(6)_______________________   // 将EditText控件添加到对话框中
                        __________________(7)__________________("确定", new DialogInterface.OnClickListener() {   //设置确定按钮
                            @Override
                            public void onClick(DialogInterface dialog, int which) {
                                String password = oldPassword.getText().toString();                                                   
                                if(TextUtils.isEmpty(password)) {
                                    ________________(8)_________________ //给EditText设置错误信息为“原密码不能为空”
                                    ________________(9)_________________ //给EditText设置获取焦点

                                }else {
                                    Intent i = new Intent(MainActivity.this,MyPasswordActivity.class);  
                                    startActivity(i);
                                }
                            }
                        })
                        .setNegativeButton("取消", null)

                        ___________(10)___________;      //设置对话框显示
                        break;
                    }
                }
            });
        }

    }

    答案:

    setContentView

    findViewById

    setAdapter

    setOnItemClickListener

    .setTitle("请输入原密码")

    .setView(oldPassword)

    .setPositiveButton

    oldPassword.setError("原密码不能为空");

    oldPassword.requestFocus();

    show()


    解析:

    329、请用代码实现点击按钮,向服务端发送get请求,及请求参数name=admin,并且接收服务端返回的数据字符串“<GET:result>”。要求:使用 AsyncTask 、HTTPGet、HttpClient等 知识点完成此题,只需写出Android部分即可。

     

    答案:

    public class MainActivity extends Activity {
        HttpClient client;     
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            client = new DefaultHttpClient();     

            Button btnRead = (Button) findViewById(R.id.btn_login);     
            btnRead.setOnClickListener(new OnClickListener() {        

                @Override
                public void onClick(View v) {
                    read("http://10.0.2.2:8080/androidGet?name=admin");       
                }
            });
        }
        
        public void read(String url) {       
            new AsyncTask<String, Void, String>() {     

                @Override
                protected String doInBackground(String... param) {   

                    HttpGet get = new HttpGet(param[0]);                   

                    try {
                        HttpResponse response = client.execute(get);    

                        String value = EntityUtils.toString(response.getEntity());    

                         System.out.println(value);  

                        return value;    

                    } catch (ClientProtocolException e) {
                        e.printStackTrace();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                    return null;
                }
            }.execute(url);      

        }
    }


    解析:

    330、页面上现有ProgressBar控件progressBar(id为:progressBar1),请用线程以10秒的的时间完成其进度显示工作,当完全显示完毕后,弹出显示“已完成”提示。要求使用 Thread + Handler 模式操作。

    答案:


    public class TestDemoActivity extends Activity {             

        ProgressBar pbar;

        boolean flag = true;
        Handler myHandler = new Handler{                                       
            @Override
            public void handleMessage(Message msg) {

                Toast.makeText(TestDemoActivity.this, "已完成...", Toast.LENGTH_SHORT).show();     

            }
        }              


        @Override
        protected void onCreate(Bundle savedInstanceState) {                     
            super.onCreate(savedInstanceState);                                            

            setContentView(R.layout.testdemo);                           
            pbar = (ProgressBar) findViewById(R.id.progressBar1);                
            pbar.setMax(100);                                                   
            new Thread(new Runnable(){                                 
                public void run(){

                    int count=0;

                    while(flag){
                        count += 10;
                        pbar.setProgress(count);                                 
                        if(count==pbar.getMax()){
                            flag = false;
                            Message msg = myHandler.obtainMessage();             
                            myHandler.sendEmptyMessage(1);                        
                        }

                        //如果没有走到头,停留1秒
                        try {

                            Thread.sleep(1000);

                        } catch (InterruptedException e) {

                            e.printStackTrace();

                        }
                    }
                }
            }).start();

        }


    }


    解析:

    331、以下android程序中有五处理错误,请找出来。

    1   pack com.example.t1_4;
        
    2   import java.util.ArrayList;
        
    3   import java.util.HashMap;
        
    4   import java.util.List;
        
    5   import java.util.Map;
        
    6   import android.support.v7.app.ActionBarActivity;
        
    7   import android.app.Activity;
        
    8   import android.os.Bundle;
        
    9   import android.os.Handler;

    10  import android.os.Looper;
        
    11  import android.os.Message;
        
    12  import android.view.Menu;
        
    13  import android.view.MenuItem;
        
    14  import android.view.View;
        
    15  import android.widget.AdapterView;
        
    16  import android.widget.AdapterView.OnItemClickListener;
        
    17  import android.widget.AdapterView.OnItemSelectedListener;
        
    18  import android.widget.ListView;
        
    19  import android.widget.SimpleAdapter;
        
    20  import android.widget.Toast;
        
    21  public class MainActivity implements Activity {

    22        private SimpleAdapter simpleAdapter;

    23         private ListView listView;

    24        @Override

    25    protected void onCreate(Bundle savedInstanceState) {

    26         int[]names={"虎头","弄玉","李清照","李白"};

    27        String []descs={"可爱的小孩","一个擅长音乐的女孩","一个擅长文学的女性","浪漫主义诗人"};

    28        int[] imageIds={R.drawable.a1,R.drawable.a2,R.drawable.a3,R.drawable.a4};

    29         super.onCreate(savedInstanceState);

    30         setContentView(R.layout.activity_main);

     31     List<Map<String,Object>>listItems=new ArrayList<Map<String,Object>>();

     32     for(int i=0;i<names.length;i++){

     33         Map<String,Object>map=new HashMap<String,Object>();

     34             map.put("header",imageIds[i]);

     35         map.put("personName",names[i]);

     36         map.set("desc",descs[i]);

     37         listItems.remove(map);

     38     }

     

    39         simpleAdapter=new SimpleAdapter(this, listItems, R.layout.simple_item, new String[]{"personName","header","desc"}, new int[]{R.id.name,R.id.header,R.id.desc});

    40         listView=(ListView)findViewById(R.id.listView1);

    41         listView.setAdapter(simpleAdapter);  

    42         listView.setOnItemClickListener(new OnItemClickListener(){


    43     @Override
    44     public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
    45            Toast.makeText(MainActivity.this,"~~第"+(position+1)+"项选中了!",Toast.LENGTH_LONG).show();
    46     }
    47 });
    48 }
    49}

    答案:

    1第1行pack改为package

    2第21行implements改为extends

    3第26行int改为String

    4第36行set改为put

    5第37行remove改为add


    解析:

    332、以下代码的功能是:使用左右滑动(ViewPager+ActionBar+Fragment)完成车票预定、订单管理、我的三大功能的切换。

    程序执行效果图如下:

     

    请指出代码中的5处不当之处或错误之处。

    代码如下:

     

     

     

    答案:

    7行有错误,actionbar应改为bar

    23行有错误,“车票1”应改为“车票”

    24行有错误,“订单2”应改为“订单”

    25行有错误,“@我的”应改为“@我的”

    47行有错误,应改为return 3;


    解析:

    333、请根据以下代码分析并画出程序执行后的效果图(代码中颜色可忽略)

     

     

     

    答案:

     

    画出ListView

    ListView中每个item的文字写对

    “退出登录”按钮画对 (颜色可忽略)    


    解析:

    334、有一个SSM项目,实现了用户注册功能,请按照提示补全下划线处的空白代码。

    页面 useradd.jsp :

    <form action="_________(1)___________" method="post">   //form表单提交请求URL

           用户名:<input type="text" name="userName" value="${user.userName }"><br>

           密码:<input type="text" name="password" value="${user.password }"><br>

           备注:<input type="text" name="note" value="${user.note }"><br>

           ____________________(2)_______________________ //写出提交按钮标签

    </form>

    __________(3)__________//根据控制层相应方法执行结果,在页面上显示注册成功与否信息,使用EL表达式

    控制层:

    ____________(4)____________//注解控制层

    @RequestMapping("/user")

    public class UserController {

           ____________(5)____________//注解对mapper进行注入

           UserInfoMapper mapper;

           @RequestMapping("/userAdd")

           public String addUser(___________(6)____________UserInfo user,Model model) {//使用注解对user对象进行数据回显

                  int result = mapper.addUser(user);

                  if(result >0) {

                         model.addAttribute("msg", "注册成功");

                  }else {

                         model.addAttribute("msg", "注册失败");

                  }

                  return "useradd";

           }

    }

    UserInfoMapper类:

    public interface UserInfoMapper {

        public int addUser(UserInfo user);

    }

    UserInfoMapper.xml:

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

    <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"

    "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >

    <mapper namespace="com.neusoft.mapper.UserInfoMapper">

    <insert id="__________(7)___________" parameterType="UserInfo" >//根据接口写出insert标签中id的值

         <_________(8)_________ order="AFTER" keyProperty="id" resultType="int" > //写出查询自增主键的标签

              select ______________(9)_____________ //返回最后插入记录的id

         </__________(10)___________>

         insert into userInfo (userName,password,note) values (#{userName}, #{password},#{note})

       </insert>

    </mapper>

    答案:

    user/userAdd

    < input type="submit" value="注册" />

    ${msg}

    @Controller   

    @Autowired 或者 @Resource

    @ModelAttribute

    addUser

    selectKey       

    last_insert_id()

    selectKey  


    解析:

    335、有一个SpringBoot+MyBatis的项目,如下代码实现了登录功能,请按照提示补全下划线处的空白。

    登录页面:

    <form action="login" ______________(1)_______________ >   //此表单发起post请求,请写出相应代码

                  用户名:<input type="text" name="username">

                  密码:<input type="password" name="password">

                  __________________(2)______________________  //请写出form表单中提交按钮标签

    </form>

    登录控制层:

    public class LoginController {

           ____________________(3)______________________  //根据题中代码请写出相应处理请求地址映射的注解

           public String getLogin(String username,String password,Model model) {

                  if("admin".equals(username) && "123".equals(password)) {

                         return "main";

                  }else {

                         model.addAttribute("msg", "用户名或者密码错误");

                         return "login";

                  }

           }

    配置文件 application.properties :

    _________________(4)__________________//配置视图解析器前缀为 /

    _________________(5)__________________//配置视图解析器后缀为 .jsp

    _________________(6)__________________//设置上下文路径为 /MySpringBootProject

    该配置类MyConfig实现拦截器注册和设定固定请求跳转:

    ______________(7)_______________//注解标明此类为配置类

    public class MyConfig implements _________(8)_________ {   //实现相关接口可以完成拦截器注册等功能

           @Override

           public void addInterceptors(InterceptorRegistry registry) {  //此方法为完成注册拦截器

                //注册拦截器,并且拦截除了"/login"之外的所有请求

                  ____________________________________(9)___________________________________________

           }

           @Override

           public void addViewControllers(ViewControllerRegistry registry) {//此方法为完成设定固定请求跳转功能

                //当访问index.html时直接跳转到登录页面

                 ____________________________________(10)___________________________________________

    }

    public class MyInterceptor implements HandlerInterceptor{
        //重写三个方法,此处略
    }

     

    答案:

    method="post"

    <input type="submit" value="登录">

    @RequestMapping("/login")

    spring.mvc.view.prefix=/

    spring.mvc.view.suffix=.jsp

    server.servlet.context-path=/MySpringBootProject

    @Configuration

    WebMvcConfigurer

    registry.addInterceptor(new MyInterceptor()).addPathPatterns("/**").excludePathPatterns("/login");

    registry.addViewController("index.html").setViewName("login");


    解析:

    336、以下程序为My12306项目中,实现“我的”模块代码,请根据注释与代码逻辑,找出其中5处错误或者不当之处。
    1 public class MyFragment extends Fragment {    
    2        ListView navList;    //"我的"模块导航列表    
    3        @Override
    4        public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    5            return inflater.inflate(R.layout.fragment_my, container, false);
    6        }    
    7        @Override
    8        public void onActivityCreated(Bundle savedInstanceState) {
    9            super.onActivityCreated(savedInstanceState);
    10            
    11        navList = getActivity().findView(R.id.navList);  //获取ListView控件
    12            
    13        String [] data = {"我的联系人","我的账户","我的密码"};
    14            
    15        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,data);
    16            
    17        navList.setAdapter(adapter);
    18            
    19        Intent i = new Intent();  //创建意图Intent对象
    20            
    21        navList.setOnClickListener(new OnItemClickListener() {   //给ListView子项添加点击事件
    22            @Override
    23                public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
    24                    switch (id) {
    25                    case 0:  //我的联系人
    26                        i.setClass(getActivity(), MyContactActivity.class);
    27                        startActivity(i);
    28                        break;                        
    29                    case 1:   //我的账户
    30                        i.setClass(getActivity(), MyAccountActivity.class);
    31                        startActivity(i);
    32                        break;                        
    33                    case 2:   //我的密码
    34                        i.setClass(getActivity(), MyPasswordActivity.class);
    35                        startActivity(i);
    36                        break;
    37                    }
    38                }
    39            });
    40        }
    41    }

    答题举例说明:第XX行有错误,应该改为XX

     

    答案:

    11行有错误,应改为navList = getActivity().findViewById(R.id.navList);  

    15行有错误,应将this改成getActivity()

    19行有错误,应改为 final Intent i = new Intent();

    21行有错误,应改为 setOnItemClickListener

    24行有错误,应将id改成position


    解析:

    337、根据如下页面布局代码画出对应页面布局的样式。

    注:(user的样式为administrator为);

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

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

        android:layout_width="match_parent"

        android:layout_height="match_parent"

        android:gravity="center_horizontal"

        android:orientation="vertical" >

     

        <ImageView

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:layout_marginTop="40dp"

            android:src="@drawable/user" />

        <LinearLayout

            android:layout_width="match_parent"

            android:layout_height="wrap_content"

            android:layout_marginTop="40dp"

            android:gravity="center" >

            <ImageView

                android:layout_width="wrap_content"

                android:layout_height="wrap_content"

                android:src="@drawable/administrator" />

            <EditText

                android:layout_width="wrap_content"

                android:layout_height="wrap_content"

                android:layout_weight="1"

                android:hint="请输入用户名!" >

            </EditText>

        </LinearLayout>

        <LinearLayout

            android:layout_width="match_parent"

            android:layout_height="wrap_content"

            android:layout_marginTop="30dp"

            android:gravity="center" >

            <ImageView

                android:layout_width="wrap_content"

                android:layout_height="wrap_content"

                android:src="@drawable/administrator" />

            <EditText

                android:layout_width="wrap_content"

                android:layout_height="wrap_content"

                android:layout_weight="1"

                android:hint="请输入密码!"

                >

            </EditText>

        </LinearLayout>

    <LinearLayout

            android:layout_width="match_parent"

            android:layout_height="wrap_content"

            android:layout_marginTop="30dp"

            android:orientation="horizontal"

            android:gravity="center" >

        <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="注册"

            />

        </LinearLayout>

    <LinearLayout

            android:layout_width="match_parent"

            android:layout_height="wrap_content"

            android:layout_marginTop="30dp"

            android:orientation="horizontal" >

        <CheckBox

            android:layout_width="0dp"

            android:layout_height="wrap_content"

            android:layout_weight="1"

            android:checked="true"

            android:text="自动登录" />

        <TextView

            android:layout_width="0dp"

            android:layout_height="wrap_content"

            android:layout_weight="1"

            android:textSize="16sp"

            android:text="忘记密码??" />

        </LinearLayout>

    </LinearLayout>

    答案:

     


    解析:

    338、如下为安卓程序发送ConnectionGet请求获取结果展示,请求如下代码中找出5出问题。并说出原因。

    注:url为EditText控件,从中获取请求路径。

     

    答案:

    url.getText()返回的结果不是Stirng不能用String接收。

    responseCode的响应结果为200不是400。

    bs对象没有关闭释放资源。

    Toast.makeText(this, result, 0).show();在匿名内部类不能使用this对象

    new Thread() 没有start方法,线程不能启动。


    解析:

    339、请绘制Android程序中Activity组件的生命周期流程图。

    答案:

     

     

     


    解析:

    340、小刘是一家大型水果店的库管员,由于季节变化需要清理库存部分水果。在仓库管理手机App上,需要对水果列表点选后,进行删除。

    以下是相关的Android程序代码,请找出其中的错误并进行更改。

     

    答案:

    1行更改为:父类应为 Activity

    10行更改为:R.id.listView1

    17行更改为:参数位置错误,应为:android.R.layout.simple_list_item_1,arr

    27行更改为:需要添加 final 关键词

    35行更改为:调用方法应该为 notifyDataSetChanged()

     


    解析:

  • 相关阅读:
    python基础-迭代器,闭包
    python基础-练习题
    python基础-函数的进阶
    python基础-函数
    python实现十大经典算法
    Auto-Encoders实战
    Variational Auto-Encoders原理
    Reparameterization Trick
    Adversarial Auto-Encoders
    AutoEncoders变种
  • 原文地址:https://www.cnblogs.com/Carits/p/13202481.html
Copyright © 2011-2022 走看看