ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

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

2020-06-28 13:57:53  阅读:259  来源: 互联网

标签:layout 管理信息系统 项目管理 && Activity new android Android 答案


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

 

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、res\layout\下面定义的 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、FlowLayout是Android的界面布局方式。

答案: 错误

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 package,Android应用程序包)是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()

 


解析:

标签:layout,管理信息系统,项目管理,&&,Activity,new,android,Android,答案
来源: https://www.cnblogs.com/Carits/p/13202481.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有