文档库 最新最全的文档下载
当前位置:文档库 › (带答案)Android复习资料

(带答案)Android复习资料

(带答案)Android复习资料
(带答案)Android复习资料

选择题

1. 下面不是Android四大组件之一的(B )

A. Activity

B.Intent

C. Service

D. ContentProvider

2. 下面关于广播叙述错误的是(A)

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

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

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

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

3. 下面关于BroadcastReceiver错误的是(B):

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

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

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

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

4. 下面关于谁先接收广播顺序错误的是(B)

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

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

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

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

5. 下面关于广播说法错误的是(B)

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

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

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

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

6. 下列关于Intent启动组件说法错误的是(C)

A.startActivity( )

B. startService( )

C. startBroadcastReceiver()

D.startActivityForResult()

7. 对于广播的发送,Intent的启动方式是(B)

A.显式启动

B. 隐式启动

C. A和B都可以

D. 以上说法都不正确。

8. 下面关于Notification的说法正确的是(D):

A. NotificationManager man = new NotificationManager();

B. PendingIntent contentIntent= new PendingIntent();

C. RemoteViews contentView = new RemoteViews();

D. Notification notification = new Notification();

9. 关于ContenValues类说法正确的是( A )

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

名是String类型,而值都是基本类型

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

名是任意类型,而值都是基本类型

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

名,可以为空,而值都是String类型

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

10.在手机开发中常用的数据库是(A)

A,SQLite3 B,Oracle C,Sql Server D,Db23

11.使用AIDL完成远程Service方法调用下列说法不正确的是(A)

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

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

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

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

12.android中文件操作模式中表示只能被本应用使用,写入文件会覆盖的是(D)

A, MODE_APPEND B,MODE_WORLD_READABLE

C,MODE_WORLD_WRITEABLE D, MODE_PRIVATE

13.关于android中播放视频的说法不对的是(C)

A,可以使用SurfaceView组件播视频B,可以使用VideoView组件播视频C,VideoView组件可以控制播放的位置和大小 D,VideoView播放视频的格式可以是3gp

14.下列关于如何使用Notification,不对的是(D)

A,notification需要NotificatinManager来管理

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

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

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

15. 下列不属于Service生命周期的方法是(C)

A,onCreate B,onDestroy C,onStop D,onStart

16. 下列对SharedPreferences存、取文件的说法中不正确的是:(C)

A,属于移动存储解决方案B,sharePreferences处理的就是key-value对C,读取xml文件的路径是/sdcard/shared_prefs/ D,数据的保存格式是xml

17.SharedPreferences存放的数据类型不支持(D)

A. boolean

B.int

C. String

D. double

18.下面关于JSON说法错误的是:(D)

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

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

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

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

19.下面SQL语句不正确的是(C)

A. Select * from user

B.update user set u sername=’zhangsan’where id=’2’

C. Delete * from user

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

20.对于SharedPreferences的下面正确的是(D)

A. SharedPreferences pref = new SharedPreferences();

B. Editor editor = new Editor();

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

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

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

A. ContentResolver 内容解析器

B. ContentProvider

C. Cursor

D. SQLiteHelper

22.Service中如何实现更改Activity界面元素(B )。

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

B. 通过向Activity发送广播

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

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

23.在使用SQLiteOpenHelper 这个类时,它的哪一个方法是用来实现版本升级之用的?( D )

A. onCreate()

B. onUpgrading()

C. onUpdate()

D. onUpgrade()

24.MediaPlayer 播放资源前,需要调用哪个方法完成准备工作?( B )

A. setDataSource()

B. prepare()

C. reset()

D. release()

25.在android中使用SQLiteOpenHelper这个辅助类时,获取 ( C )

A. getDatabase()

B. openDatabase()

C. getReadableDatabase()

D. getAbleDatabase()

26.关于service生命周期的说法正确的是?( B)

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

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

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

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

27. 使用MediaPlayer 播放保存在 sdcard 上的 mp3 文件时,(C)?

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

B. 直接 new MediaPlayer 即可

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

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

28.使用AIDL 完成远程 service 方法调用下列说法不正确的是?( A )

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

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

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

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

29. 关于广播的作用,正确的说法是(D)

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

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

C. 它不可以启动一个 Service

D. 它可以启动一个 Activity

30. 关于 Sqlite 数据库,不正确的说法是(C)选择一项:

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

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

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

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

31.下列选项哪个不是Activity启动的方法(A)

A、goToActivity

B、startActivity

C、startActivityFromChild

D、startActivityForResult

32.下列选项哪个是发送广播的方法(C)

A. startBroadcast

B. startBroadcastReceiver

C. sendBroadcast

D.sendBroadcastReceiver

33. SharedPreferences保存文件的路径和扩展名是?(B)

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

B、/data/data/package name/shared_prefs/ *.xml

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

D、任意路径指定扩展名

34. Activty和Task的启动模式有哪些?(D)

A、standard、singleTop

B、singleTop、singleTask

C、singleTask、singleInstance

D、standard、singleTop、singleTask、singleInstance

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

A、edit()

B、save()

C、commit()

D、putString()

36. 通过startService()和bindService(),以下说法错误的是(C )

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

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

C、如果是调用bindService()启动服务:会调用如下生命周期方

法: onCreate()---->onBind---->onDestory()---->onUnBind()

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

37.在Android中,关于MediaPlayer说法错误的是(C )

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

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

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

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

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

A. Connection类

B. PreparedStatement类

C. CallableStatement类

D. Statement

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

A. Connection类

B. PreparedStatement类准备声明

C. ResultSet类

D. Statement

40. 从HTTP请求中,获得请求参数,应该调用(B )

A. request对象的getAttribute()方法

B. request对象的getParameter()方法获取参数

C. session对象的getAttribute()方法

D. session对象的getParameter()方法

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

A. FileInputStream

B.FileOutputStream

C.InputStreamReader

D. RandomAccessFile 随机存取文件

42. 关于SQLite3数据库的操作,下面说法不正确的是(C )

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

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

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

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

43. 下列不属于service生命周期的方法是( C )

A.onCreate

B.onDestroy

C.onStop

D.onStartCommand

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

A.bindService()方法执行成功后。

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

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

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

45.使用SQLiteOpenHelper的构造方法创建与数据库连接时,参数可以设置为null的是( C )

A.Context

B.数据库名

C. CursorFactory

D.数据库版本

46.继承ContentProvider不需要实现 ( A )等方法。

A. add

B. delete

C. update

D. query

47.下面哪个方法不是发送广播消息的方法?( B )

A、sendBroadcast()

B、sendCommonBroadcast()

C、sendOrderedBroadcast()

D、sendStickyBroadcast()

48.下列关于ContentProvider的说法错误的是:( B )

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

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

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

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

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

A. getContentProvider

B.getContentResolver

C. getConnection

D. getUri

50.关于JSON和XML说法,错误的是(B )

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

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

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

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

51. 对输入中拼写检查的支持是通过什么方式实现的?( C )

A、BroadcastReceiver

B、ContentProvider

C、Service

D、Activity

52.通过Intent可以启动那些组件? D

A、Activity

B、Service

C、两项都不可以

D、两项都可以

53. 以下哪个不是Activity启动时的正确标志?( B )

A、FLAG_ACTIVITY_CLEAR_TOP

B、FLAG_ACTIVITY_SINGLE_TASK

C、FLAG_ACTIVITY_SINGLE_TOP

D、FLAG_ACTIVITY_NEW_TASK

54. 遇到下列哪种情况时需要把进程移到前台?( D )

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

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

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

D、所有选项均正确

55. 如何访问媒体库?( B )

A、通过直接文件读取 B 通过Content Provider

C、两项都可以

D、两项都不可以

56. FLAG_ACTIVITY_CLEAR_TOP标记的作用是什么?( C )

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

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

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

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

57. 下面哪种进程最重要,最后被销毁?( D )

A、服务进程

B、后台进程

C、可见进程

D、前台进程

58. SharedPreferences和Preferences的修改支持事务吗?( A )

A、支持,不支持

B、不支持,不支持

C、不支持,支持

D、支持,支持

59. 在播放视屏时,需要保持屏幕一直亮着,需要哪个权限?( B )

A、

B、

C、

D、

60. 关于广播以下陈述正确的是D ).

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

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

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

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

61. 当大量使用大Bitmap对象时,以下哪个说法是正确的?( D )

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

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

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

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

62. 以下哪个不是应用间交互常用的方法?( B )

A、接收Broadcast的消息

B、文件共享访问

C、通过Content Resolver接口访问

D、Activity的调用

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

A、失败,不终止

B、启动,终止

C、失败,终止

D、启动,不终止

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

A、Service

B、Activity

C、BroadcastReceiver

D、ContentProvider

65. ContentResolver用什么方法查询Content Provider提供的内容( C )

A、select()

B、retrieve()

C、query()

D、execute( )

66. PendingIntent主要的使用场景是?(D )

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

B、通过Notification发起一个动作

C、至少有一个不正确

D、A和B都正确

67.在应用程序中用到设备震动时需要使用什么权限?(D )

A、android.hardware.permission.VIBRATE

B、android.permission.hardware.VIBRATE

C、android.security.VIBRATE

D、android.permission.VIBRATE

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

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

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

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

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

69.关于Intent 对象说法错误的是(D )

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

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

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

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

70.Notification消息能否被取消?(A )

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

B、可以被任何应用取消

C、不能取消,只能覆盖

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

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

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

B、permission.SMS

C、android.permission.RECEIVE_SMS

D、android.permission.SEND_SMS

72.关于视频的来源,哪个不正确?(D )

A、可来源于外部URL

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

C、可来源于资源文件

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

73. 内部存储和外部存储需要额外的权限吗?(D )

A、不需要,不需要

B、需要,不需要

C、需要,需要

D、不需要,需要

74. 如何访问在SD卡上的文件?(D )

A、通过直接文件读取

B、通过Content Provider

C、两项都不可以

D、两项都可以

75.下列哪些情况下,系统可能会弹出ANR对话框(A )

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

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

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

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

76. 通过startService()和bindService(),以下说法错误的是( C )

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

onCreate()---->onStart()---->onDestory()

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

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

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

77.如果想存储一个键值对字符串,应该使用哪个类?( B )

A、ContentResolver

B、SharedPreferences C 、Resources D、Cookies

78. 系统收到intent发起的启动Activity的请求时,根据什么来选择最合适的Activity?(D )

A、category

B、data

C、action

D、都可以

79. Android提供了哪个高效的序列号接口?(B )

A、Clonable

B、Parcelable可分包的

C、Copiable

D、Externalizable

80.下面哪条语句可以构造正确的对话框( B ).

A、AlertDialog dialog = new AlertDialog(context);

B、AlertDialog.Builder builder = new AlertDialog.Builder(context);

C、ProgressDialog dialog = new ProgressDialog();

D、ProgressDialog.Builder builder = new ProgressDialog.Builder(context);

81.视频播放支持以下哪种方式?( C )

A、同步方式 B. 异步方式 C . 两者都支持D. 两者都不支持

82. 哪个是交互UI相关的控件?( A )

A、Activity

B、BroadcastReceiver

C、Service

D、Content provider

83. 绑定Service的方法是( A )

A、bindService

B、startService

C、onStart

D、onBind

84. 关于Activity说的法不正确的是( C )

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

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

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

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

85. 处理菜单项单击事件的方法不包含( D )

A、使用onOptionsItemSelected(MenuItem item)响应

B、使用onMenuItemSelected(int featureId .MenuItem item) 响应

C、使用onMenuItemClick(MenuItem item) 响应

D、使用onCreateOptionsMenu(Menu menu)响应创建菜单

86. Android Activity生命周期中调用的第一个方法是?( C )

A、onInit()

B、onStart()

C、onCreate()

D、onBegin()

87. Intent intent = newIntent(Intent.ACTION.VIEW,Uri.parse("https://www.wendangku.net/doc/294753644.html,"))这句话作用陈述正确的是( B ).

A、发送Email

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

C、发送短信

D、其它项不正确

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

A、7

B、8

C、9

D、都可以

89. 下列哪一项是manifest 文件的功能(D )

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

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

C、记录程序中使用的Activity等资源 D. 都是

90. 发起一个由以下代码初始化的Intent,会发生什么情况?(D )

Intent intent = new Intent();

intent.addCategory(Intent.CATEGORY_BROWSABLE);

intent.setAction(Intent.ACTION_MAIN);

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

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

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

D、都正确

91.当Activity由于资源不足被回收时,哪个函数会被调用?(A)

A、onSaveInstanceState()

B、onSuspend()

C、onSaveState()

D、onStop()

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

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

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

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

D、三项原因都是

93.Activity生命周期最开始的方法调用顺序是?( D )

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

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

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

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

94. 按HOME按钮后,系统查找哪类Activity?( A )

A、设置了ACTION_MAIN和ATEGORY_LAUNCHER的Activity

B、设置了ACTION_MAIN或ATEGORY_LAUNCHER的Activity

C、设置了ACTION_MAIN的Activity

D、设置了ATEGORY_LAUNCHER的Activity

95. 在Android工程中新建了一个Activity 需要在哪个xml文件中声明一下?(C )

A、main.xml

B、string.xml

C、AndroidMainifest.xml

D、layout.xml

96. 如果需要启动一个Activity,并在Activity结束时可立即获取结果的方法是。( D )

A、调用startActivityForResult()

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

C、两个选项都不正确

D、两个选项都正确

97. 如何给一个正在运行的service传递消息(D )

A、通过注册Receiver

B、通过Intent

C、通过定义AIDL接口

D、都正确

98. 在播放视频或音频时,如果有电话打入,这时候视频或音频会自动挂起吗?(A )

A、不会

B、会 C. 有的手机会,有的手机不会 D. 以上说法都错误

99. 如何支持语言国际化?( B)

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

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

C、两者都不正确

D、两者都正确

100. 关于Intent的说法,错误的是?( C )

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

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

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

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

1. 请描述一下Activity 生命周期。

答: 如下图所示。共有七个周期函数,按顺序分别是: onCreate(), onStart(), onRestart(), onResume(), onPause(),onStop(), onDestroy()。

onCreate(): 创建Activity时调用,设置在该方法中,还以Bundle的形式提供对以前存储的任何状态的访问。

onStart(): Activity变为在屏幕上对用户可见时调用。

onResume(): Activity开始与用户交互时调用(无论是启动还是重新启动一个活动,该方法总是被调用。

onPause(): Activity被暂停或收回cpu和其他资源时调用,该方法用户保护活动状态的,也是保护现场。

onStop(): Activity被停止并转为不可见阶段及后续的生命周期事件时调用。

onRestart(): Activity被重新启动时调用。该活动仍然在栈中,而不是启动新的Activity。

1、完整生命周期: 即从一个Activity从出现到消失,对应的周期方法是从onCreate()到onDestroy()。

2、可见生命周期: 当Activity处于可以用户看见的状态,但不一定能与用户交互时,将多次执行从onStart()到onStop()。

3、前景生命周期: 当Activity处于Activity栈最顶端,能够与其他用户进行交互时,将多次执行从onResume()到onPause()。

2. 两个Activity之间跳转时必然会执行的是哪几个方法。

答: 两个Activity之间跳转必然会执行的是下面几个方法。

onCreate()//在Activity生命周期开始时调用。

onRestoreInstanceState()//用来恢复UI状态。

onRestart()//当Activity重新启动时调用。

onStart()//当Activity对用户即将可见时调用。

onResume()//当Activity与用户交互时,绘制界面。

onSaveInstanceState()//即将移出栈顶保留UI状态时调用。

onPause()//暂停当前活动Activity,提交持久数据的改变,停止动画或其他占用GPU资源的东西,由于下一个Activity在这个方法返回之前不会resume,所以这个方法的代码执行要快。

onStop()//Activity不再可见时调用。

onDestroy()//Activity销毁栈时被调用的最后一个方法。

3. 横竖屏切换时候Activity 的生命周期。

答: 1、不设置Activity 的android: configChanges时,切屏会重新调用各个生命周期,切横屏时会执行一次,切竖屏时会执行两次。

2、设置Activity 的android: configChanges= “orientation ”时,切屏还是会重新调用各个生命周期,切横、竖屏时只会执行一次。

3、设置Activity 的android: configChanges= “orientation|keyboardHidden ”时,切屏不会重新调用各个生命周期,只会执行onConfiguration 方法

4. 如何将一个Activity 设置成窗口的样式。

答: 第一种方法,在styles.xml 文件中,可以新建如下的类似Dialog 的style。

5. 两个Activity之间怎么传递数据?

答: 可以在Intent对象中利用Extra来传递存储数据。

在Intent的对象请求中,使用putExtra(“键值对的名字”,”键值对的值”);在另外一个Activity中将Intent中的请求数据取出来:

Intent intent = getIntent();

String value = intent.get StringExtra(“key”);

6. 怎么让在启动一个Activity是就启动一个service?

答: 首先定义好一个service,然后在Activity的onCreate里面进行连接并bindservice或者直接startService。

7. Activity怎么和service绑定,怎么在activity中启动自己对应的service?

答: 1、activity能进行绑定得益于Serviece的接口。为了支持Service的绑定,实现onBind方法。

2、Service和Activity的连接可以用ServiceConnection来实现。需要实现一个新的ServiceConnection,重现onServiceConnected和OnServiceDisconnected方法,一旦连接建立,就能得到Service实例的引用。

3、执行绑定,调用bindService方法,传入一个选择了要绑定的Service的Intent(显示或隐式)和一个你实现了的ServiceConnection的实例

8.什么是Service以及描述下它的生命周期。Service有哪些启动方法,有什么区别,怎样停用Service?

答: Android Service是运行在后台的代码,不能与用户交互,可以运行在自己的进程,也可以运行在其他应用程序进程的上下文里。需要通过某一个Activity或者Context对象来调用。Service有两个启动方法,分别是Context.startService()和Context.bindService()。如果在Service执行耗时的操作需要启动一个新线程来执行。

Android Service只继承了onCreate(), onStart(),onDestroy()三个方法,当我们第一次启动Service 时,先后调用onCreate(), onStart()这两个方法,当停止Service时,则执行onDestroy()方法时。如果Service已经启动了,当我们再次启动Service时,不会再执行onCreate()方法,而是直接执行onStart()方法。

9. 什么时候使用Service?

答: 比如播放多媒体的时候,用户启动了其他Activity,这个时候程序要在后台继续播放,比如检测SD 卡上文件的变化,再或者在后台记录你的地理信息位置的改变等等。

10. 请描述一下Intent 和Intent Filter。

答: Intent在Android中被翻译为”意图”,他是三种应用程序基本组件-Activity,Service和broadcast receiver之间相互激活的手段。在调用Intent名称时使用ComponentName也就是类的全名时为显示调用。这种方式一般用于应用程序的内部调用,因为你不一定会知道别人写的类的全名。而Intent Filter 是指意图过滤,不出现在代码中,而是出现在android Manifest文件中,以的形式。(有一个例外是broadcast receiver的intent

filter是使用Context.registerReceiver()来动态设定的,其中intent filter也是在代码中创建的)

一个intent有action,data,category等字段。一个隐式intent为了能够被某个intent filter接收,必须通过3个测试,一个intent为了被某个组件接收,则必须通过它所有的intent filter中的一个。

11. Intent传递数据时,可以传递哪些类型数据?

答: intent间传送数据一般有两种常用的方法: 1、extra 2、data。

extra可以用Intent.putExtra放入数据。新启动的Activity可用Intent.getExtras取出Bundle,然后用Bundles.getLong,getInt,getBoolean,getString等函数来取放进去的值。

Data则是传输url。url可以是指我们熟悉的http,ftp等网络地址,也可以指content来指向ContentProvider提供的资源。Intent.setData可以放入数据,Intent.getData可以取出数据。

12. 说说Activity,Intent,Service是什么关系?

答: 一个Activity通常是一个单独的屏幕,每一个Activity都被实现为一个单独的类,这些类都是从Activity基类中继承而来的。Activity类会显示由视图控件组成的用户接口,并对视图控件的事件做出响应。

Intent的调用是用来进行屏幕之间的切换。Intent描述应用想要做什么。Intent数据结构中两个最重要的部分是动作和动作对应的数据,一个动作对应一个动作数据。

Service是运行在后台的代码,不能与用户交互,可以运行在自己的进程里,也可以运行在其他应用程序进程的上下文里。需要一个Activity或者其他Context对象来调用。

Activity跳转Activity,Activity启动Service,Service打开Activity都需要Intent表明意图,以及传递参数,Intent是这些组件间信号传递的承载着。

13. 请描述一下BroadcastReceiver。

答: Broadcast Receiver用于接收并处理广播通知(broadcast announcements)。多数的广播是系统发起的,如地域变换、电量不足、来电短信等。程序也可以播放一个广播。程序可以有任意数量的broadcast receivers来响应它觉得重要的通知。Broadcast receiver可以通过多种方式通知用户: 启动activity、使用NotificationManager、开启背景灯、振动设备、播放声音等,最典型的是在状态栏显示一个图标,这样用户就可以点它打开看通知内容。通常我们的某个应用或系统本身在某些事件(电池电量不足、来电短信)来临时会广播一个Intent出去,我们利用注册一个broadcast

receiver来监听这些Intent并获取Intent中的数据。

14. 在manifest和代码中如何注册和使用broadcast receiver 。

答: 在android的manifest中注册

在代码中注册

1、IntentFilter filter = new IntentFilter(“com.forrest.action.mybroadcast”);//和广播中Intent 的action对应;

2、MyBroadcastReceiver br= new MyBroadcastReceiver();

3、registerReceiver(br, filter);

15. 请介绍下ContentProvider是如何实现数据共享的。

答: 一个程序可以通过实现一个Content provider的抽象接口将自己的数据完全暴露出去,而且Content provider是以类似数据库中的表的方式将自己的数据暴露。Content provider存储和检索数据,通过它可以让所有的应用程序访问到,这也是应用程序之间唯一共享数据的方法。

要想使应用程序的数据公开化,可通过2种方法:创建一个数据自己的Content Provider或者将你的数据添加到一个已经存在的Content Provider中,前提是有相同数据类型并且有写入Content Provider 的权限,Android提供了Content Resolverr,外界的程序可以通过Content Resolver接口访问Content Provider提供的数据。

16. 请介绍下Android的数据存储方式。

答: Android提供了5中存储数据的方式,分别是以下几种

1、使用Shared Preferences存储数据,用来存储key-value,pairs格式的数据,它是一个轻量级的键值存储机制,只可以存储基本数据类型。

2、使用文件存储数据,通过FileInputStream和FileOutputStream对文件进行操作。在Android中,文件是一个应用程序私有的,一个应用程序无法读写其他应用程序的文件。

3、使用SQLite数据库存储数据,Android提供的一个标准数据库,支持SQL语句。

4、使用Content Provider存储数据,是所有应用程序之间数据存储和检索的一个桥梁,它的作用就是使得各个应用程序之间实现数据共享。它是一个特殊的存储数据的类型,它提供了一套标准的接口用来获取数据,操作数据。系统也提供了音频、视频、图像和个人信息等几个常用的Content Provider。如果你想公开自己的私有数据,可以创建自己的Content Provider类,或者当你对这些数据拥有控制写入的权限时,将这些数据添加到Content Provider中实现共享。外部访问通过Content Resolver去访问并操作这些被暴露的数据。

5、使用网络存储数据

17. 请介绍下Android中常用的四种布局。

答: 最常用的布局方式为AbsoluteLayout、RelativeLayout、LinearLayout、FrameLayout其中Linear Layout和RelativeLayout是最常用的方式,他们可以通过在xml配置文件或者代码中进行布局。

1、Frame Layout是最简单的布局方式,放置的控件都只能罗列到左上角,控件会有重叠,不能进行复杂的布局。

2、Linear Layout可以通过orientation属性设置线性排列的方向是垂直还是纵向的,每行或每列只有一个元素,可以进行复杂的布局。

3、Absolute Layout可以让子元素指定准确的x、y坐标值,并显示在屏幕上。Absolute Layout没有页边框,允许元素之间相互重叠。它是绝对坐标,所以在实际中不提倡使用。

4、Relative Layout允许子元素制定他们相对于其他元素或父元素的位置(通过ID制定)。因此,你可以以右对齐,或上下,或置于屏幕中央的形式来排列两个元素。元素按顺序排列,因此如果第一个元素在屏幕的中央,那么相对于这个元素的其他元素将以屏幕中央的相对位置来排列。这个是相对于Absolute Layout的,采用相对坐标,所以在实际中比较常用。

18. ListView如何提高其效率?

答:1、使用分页加载,不要一次性加载所有数据。

2、复用convertView。在getItemView中,判断converView是否为空,如果不为空,可复用。

3、异步加载图片。Item中如果包含有webimage,那么最好异步加载。

4、快速滑动时,不显示图片。当快速滑动列表(SCROLL_STATE_FLING),item中的图片或获取需要消耗资源的view,可以不显示出来;而处于其他两种状态(SCROLL_STATE_IDLE和

SCROLL_STATE_TOUCH_SCROLL),则将那些view显示出来

19.handler机制的原理

答:andriod提供了Handler 和Looper 来满足线程间的通信。Handler 先进先出原则。Looper 类用来管理特定线程内对象之间的消息交换(Message Exchange)。

1)Looper: 一个线程可以产生一个Looper对象,由它来管理此线程里的Message Queue(消息队列)。

2)Handler: 你可以构造Handler对象来与Looper沟通,以便push新消息到Message Queue 里;或者接收Looper从Message Queue取出)所送来的消息。

3) Message Queue(消息队列):用来存放线程放入的消息。

4)线程:UI thread 通常就是main thread,而Android启动程序时会替它建立一个Message Queue。

20. Adapter有什么作用?列出至少三种适配器,并给出每种适配器的主要用途。

adapter是数据与ui之间的桥梁,它把后台数据与前端ui连接到一起,是一个展示数据的载体。

BaseAdapter:基础数据适配器,它的主要用途是将一组数据传到例如ListView等UI显示组件,继承自接口类Adapter,由于是基础类型,所以自由度高,可以修改的地方多。

SimpleAdapter:简单适配器,系统自定义了一些方法,可以重写这些方法。ArrayAdapter:数据和UI一对一,传入数据源和布局文件,完成显示。SimpleCursorAdapter:指向性适配器,指向数据库,可以方便地把数据库的内容以列表的形式展示出来

android试卷A及答案

Android应用试卷A 一、选择题(10分) 1. 下列不是手机操作系统的是?(D) A.Android B. Window Mobile C. Apple IPhone IOS D. windows vista 2. 下列选项哪个不是Activity启动的方法?(B ) A. startActivity B. goToActivity C. startActivityForResult D. startActivityFromChild 3. 下列哪个不是Activity的生命周期方法之一?(B ) A. onCreate B startActivity C. onStart D. onResume 4. 下列哪个可做Android数据存储?( A ) A. SQlite B. MySql C. Oracle D. DB2 5. 下列哪个可做EditText编辑框的提示信息?( D ) A. android:inputType B. android:text C. android:digits D. android:hint 二、真空题(2分) 1. 为了使android适应不同分辨率机型,布局时字体单位应用sp ,像素单位应用sp 和dip 。 2. 定义LinearLayout水平方向布局时至少设置的三个属性: android:orientation ,android:layout_width 和android:layout_height 。 3. 设置 ImageView控件为灰色的方法是:android:background=”#040” 。 4. layout布局文件的命名不能出现字母大写。 5. 设置EditText只能输入”1234567890.+-*/%()”属性:android:digits 。 6. 设置TextView字体的属性是:android:textSize 。 三、简答题(30分) 1. Android项目中的入口Activity怎么写?如何注册一般的Activity? (1) Android项目中的入口Activity:

windowsXP下Android安卓开发环境搭建详细教程及图解

注:本教程是讲解在Windows XP下搭建安卓开发环境的。 安装目录: 步骤1 安装JDK 步骤2 安装Android SDK 步骤3 安装Tomcat 步骤4 安装Ant 步骤5 安装Eclipse 步骤6 安装Eclipse的ADT插件 步骤7 在图形界面下管理AVD 步骤8 设置Android系统语言 本教程的软件可以从我博客“绿杨芳草”下载。 方法/步骤 1、安装JDK 运行安装程序【jdk-6u22-windows-i586-p.exe】,分别点击下一步进行安装。 在安装过程中先后会出现两次选择安装目录的界面,全部改为以下路径: jdk安装目录:C:\Java\jdk1.6.0_22 jre安装目录:C:\Java\jre6\

安装好之后,配置环境变量: 打开环境变量窗口方法:右键【我的电脑】--单击【属性】--单击【高级】--单击【环境变量】。 在上方的用户变量中依次新建如下变量,并分别填入如下路径: 变量名:JAVA_HOME 变量值:C:\Java\jdk1.6.0_22 变量名:PATH 变量值:%JAVA_HOME%/bin 变量名:CLASSPATH 变量值:.;%JAVA_HOME%/lib/tools.jar;%JAVA_HOME%/lib/dt.jar 图1 配置完成之后,分别点击【开始】--【运行】--输入【cmd】--输入【javac】--按【回车键】,若看到以下信息,则代表配置成功。

图2 2、安装Android SDK 将【android-sdk_r17-windows.zip】解压到E:\Android目录下(Android目录自己新建,以后所有关于Android开发相关软件都会统一放到该目录中),得到一个android-sdk-windows 文件夹,该文件夹包含如下文件结构: add-ons:该目录下存放额外的附件软件。刚解压后,该目录为空。 platforms:该目录下存放不同版本的Android版本。刚解压后,该目录为空。 tools:该目录下存放了大量Android开发、调试的工具。 SDK Manager.exe:该程序就是Android SDK和AVD(Android虚拟设备)管理器。 通过该工具可以管理Android SDK和AVD。 运行E:\Android\android-sdk-windows目录下的【SDK Manager.exe】 然后等待更新...(该步骤必须联网,因为SDK安装包需要在线获取)。 在更新的过程中若遇到如下的提示窗口:

(完整word版)AndroidAPP开发期末复习资料

1.短信的内容提供者是() A. ContactProvider B. MessageProvider C. SmsProvider D. TelephonyProvider 2.以下是Android中用于xml解析方式的是()。 A. SAX B. DOM C. XmlPullParser D. Juint 3.下列选项中,关于Bitmap类描述正确的是()。 A. Bitmap类表示画 B. Bitmap类代表画布 C. Bitmap类是最常用的绘图类 D. Bitmap类表示位图工厂 4.Dalvik虚拟机是基于()的架构。 A.栈 B.堆 C. 寄存器 D. 存储器 5.在Android UI开发中,常见的刮刮卡是通过()实现的。 A.FrameLayout B.LinearLayout C.RelativeLayout D.TableLayout 6.注册一个短信到来的广播事件需要在清单文件配置什么权限()。 A. B. C. D. 7.关于服务的创建说法错误的是()。 A. Android中创建服务需要继承Service类 B. Android 中的服务需要在清单文件配置。

Android工程师笔试题及答案(汇编)

Android工程师面试题 一、基础(79分) 1. String s = new String("xyz");创建了几个String Object? ( )3分 A、1个 B、2个 C、3个 D、4个 2. Math.round(11.5)和Math.round(-11.5)分别等于多少?()2分 A、11和-11 B、12和-11 C、11和-12 D、12和-12 3.以下错误的说法有:( )2分 A、只要设计合理,当出现error这样的情况时,程序完全可以自动处理 B、exception 表示一种设计或实现问题 C、Set和Map都继承自Collection接口 D、接口可以继承接口 E、抽象类可以继承没有构造函数的实体类 4. 以下哪种类型不能作为switch(expr1)表达式的expr1?( )3分 A、int B、long C、char D、byte 5. 有关ArrayList和Vector的说法,那些是错误的?( )3分 A、Vector是线程安全的 B、ArrayList是线程序不安全的 C、当需要增长时,Vector默认增长为原来一培 D、当需要增长时, ArrayList默认增长为原来一培 6. 以下说法那些是错误的?()3分 A、一个char型变量可以存储一个中文汉字 B、String是最基本的数据类型 C、Integer的缺省值是0 D、String类提供了数值不可改变的字符串 7.请指出以下代码的执行结果()5分 class A{ static{ System.out.print("X"); } public A(){ System.out.print("2"); } } class B extends A{ static{ System.out.print("a"); } public B(){ System.out.print("b"); } } public class Hello{ public static void main(String[] ars){

30道android经典选择题及答案

30道android经典选择题及答案 1.java.io包中定义了多个流类型来实现输入和输出功能,可以从不同的角度对其进行分类,按功能分为:(),如果为读取的内容进行处理后再输出,需要使用下列哪种流?() A、输入流和输出流 B、字节流和字符流 C、节点流和处理流 D、E、Pipe stream F、Random stream G、Filter stream 2.下列代码的执行结果是:() public class Test3{ public static void main(String args[]){ System.out.print(100%3); System.out.print(","); System.out.println(100% 3.0); } } A、1,1 B、1,1.0 C、1.0,1 D、1.0,1.0 3.在继承中,关于构造方法的说明,下列说法错误的是() A、子类无条件的继承父类的无参构造方法, B、子类可以引用父类中的有参构造方法,使用super关键字, C、如果子类没有构造方法,则父类无参构造方法作为自已的构造方法, D、如果子类有无参构造方法,而父类的无参构造方法则被覆盖。 4.以下程序的运行结果为( ) public class IfTest{ public static void main(String args[]){

int x=3; int y=1; if(x==y) System.out.println("Not equal"); else System.out.println("Equal"); } } A、Not equal B、Equal C、无输出 D、编译出错 5.Java语言中字符串“学Java”所占的内存空间是() A. 6个字节B. 7个字节C. 10个字节D. 11个字节 6.关于下列程序段的输出结果,说法正确的是:( ) public class MyClass{ static int i; public static void main(Stringargv[]){ System.out.println(i); } } A、有错误,变量i没有初始化。 B、null C、1 D、0 7.下列哪些语句关于内存回收的说明是正确的? ( )

Android应用程序开发个人总结

Android应用程序开发个人总结 Android应用程序开发个人总结范文 篇一:Android应用程序开发-个人总结 一、项目简介: 送祝福App是一款逢年过节为方便发送祝福信息的软件,并且介绍各种节日的相关情况。包含节日祝福短信,支持直接发送短信给好友,也可定时发送给好友,编写模版。为生活提供了便利。 二、个人在项目中承担的任务: 我是任务是整合成员负责的模块,把各个模块整合到一起,然后把主界面的效果做出来,主界面参考的是微信的界面 三、学习本门课程收获、体会及建议: 在本门课程中,我初步认识了安卓应用开发所需基本知识,比如安装体系结构,常用的控件以及API的使用方法,知道了安卓体系存储数据的方式。这一学期,安卓相关的知识自己掌握的不多,不过也透过安卓课程看到移动端应用的火热。这一个学期里,老师讲得比较细,自己单独下来练一个知识点了,也可以,不过当几个知识点的内容整合到一起,自己就凌乱了,自己的思路就不清晰。在期末项目中,我是任务是整合成员负责的模块,把各个模块整合到一起,然后把主界面的效果做出来,主界面参考的是微信的界面,由于时间和能力的限制,只完成了部分功能,功能没有完全实现。 篇二:Android程序员-201*年度个人工作总结和计划

逝者如斯夫,不舍昼夜!转眼间,自己在XX网里参加工作已经有一年有余了。回首即将逝去的201*年,可以说是平淡而不普通的一年,发现自己在各方面都比上一年有所进步、提高。一年的结束孕育着新一年的到来,新的一年意味着新的起点、新的挑战。昂首期待未来,总结以往经验。在新一年来临之际,我现把这一年的工作总结一下以及将新一年计划列一下。 大概3月份左右,XXXXApp第一期基本开发完成比较稳定的版本。在此之前,我主要负责参考XXXXApp的Android客户端的开发工作。XXXX第一期开发的难度系数相对比较低,开发起来还是相对的容易,所学到的基础知识基本上可以开发出来。我个人认为当时的开发效率还是比较低的,这里说的是整个项目的开发效率,不是个人负责工作的完成效率,换句话来说是团队的整体开发效率不高,没有达到高效。这个也许是团队协调与沟通交流还存在不足的地方。XXXXApp实际上基本可以满足用户的使用(表面),但是项目的代码管理(本质)比较杂乱、扩展性差、健壮性也不错、兼容性也不算好。这无疑导致开发的工作量大大的增加。产生这些问题的原因有团队的项目开发经验缺乏,有自己个人的开发水平有限、技能不足。简言之,我的专业技能还不够强。 在3月份之前,公司聘请了外包团队与我们的团队一起开发问答App。公司的目的培训公司的团队,让我们学习外包团队的技能。在外包团队的参与和指导下问答App开发工作相当顺利,团队的分工清晰、交流充分、协调都比较好。问答App的工作接近尾声,意味着XXX

Android 复习题+答案

1.可以开启SD卡访问权限的设置 2.在Android项目中,哪个文件用于存放布局文件res下layout文件夹 3.如果手机内存不足,操作系统会选择杀死onstop被调用即 Activity被停止或处于后台状态下的Activity以释放更多的内存空间 4.属性android:layout_toLeftOf是哪种布局管理器所特有相对布局 5.ListView是Android中常用的列表控件,给ListView填充数据可 以采用适配器,适配器不能直接使用,需要自定义类继承的是答案? 6.TextView控件的属性android:textAppearance规定文字的显示方 式,其中用于显示大号字体的属性值是 ?android:attr/textAppearanceLarge 7.Android中的进度条有两种样式:环形和水平,如果要设置为水平 进度条需要给属性style赋值 ?android:progressBarStyleHorizontal 8.在TableLayout布局管理器的属性中,能够实现设置可伸展的列, 伸展后使得该行元素充满整行的是android:strechColumns=”0” 9.在Android常用的布局管理器中,每次只能呈现一个控件的布局 管理器是帧布局FrameLayout 10.在Android项目中,哪个文件夹用于存放位图文件assets 11.Android常用的图片资源中,不包括哪种格式的图片bmp位图 12.SharedPreferences可以将数据以xml文件的形式保存在手机

Android高级技术11月考试试题及答案

北京八维3G 学院2012年10月度 《Android 高级技术》试卷A 注意事项: 1. 本试卷共5页,满分100分; 2. 请把学院、姓名、班级写到密封线内,考试时间90分钟; 3. 请不要把答案写在密封线内 一、单选题(共33题,共62分) 1、 (2分) WebView 中可以用来处理js 中警示,确认等对话框的是(C ) A.WebSettingsB.WebViewClientC.WebChromeClientD.WebViewChrome 2、 (2分) Android 解析xml 的方法中,将整个文件加载到内存中进行解析的是?(C) A 、SAX B 、PULL C 、DOM D 、JSON 3、 (2分)以下属于调用摄像头硬件的权限的是:( A ) A. B. C. D. 4、 (1分) 使用Android 系统进行拍照用到的类有:(D ) A. SurfaceView B. SurfaceHolder C.Callback D. Camera 5、 (2分)LocationManager 获取位置信息的途径下列说法不正确的是(B ) A, GPS 定位更精确,缺点是只能在户外使用 B, NETWORK 通过基站和Wi- Fi 信号来获取位置信息,速度较慢,耗电较少。 C,获取用户位置信息,我们可以使用其中一个,也可以同时使用两个。 D, GPS 定位耗电严重,并且返回用户位置信息的速度远不能满足用户需求。 6、 (2分) 在开发AppWidget 窗口小部件时, 需要继承(D)类 A,AppWidgetReceiverB,AppWidgetConfigure C,AppWidgetManagerD,AppWidgetProvider 密 封 线 内 不 要 答 题 学院 班级姓 名

Android面试题附答案

Android面试题附答案 一、选择题(30题,每题1.5分,共45分) 1.java.io包中定义了多个流类型来实现输入和输出功能,可以从不同的角度对其进行分类,按功能分为:(c),如果为读取的内容进行处理后再输出,需要使用下列哪种流?(g) A、输入流和输出流 B、字节流和字符流 C、节点流和处理流 D、File stream E、Pipe stream F、Random stream G、Filter stream 2.下列代码的执行结果是:(b) public class Test3{ public static void main(String args[]){ System.out.print(100%3); System.out.print(“,”); System.out.println(100%3.0); } } A、1,1 B、1,1.0 C、1.0,1 D、1.0,1.0

3.在继承中,关于构造方法的说明,下列说法错误的是(d) A、子类无条件的继承父类的无参构造方法, B、子类可以引用父类中的有参构造方法,使用super关键字, C、如果子类没有构造方法,则父类无参构造方法作为自已的构造方法, D、如果子类有无参构造方法,而父类的无参构造方法则被覆盖。 4.以下程序的运行结果为(b) public class IfTest{ public static void main(String args[]){ int x=3; int y=1; if(x==y) System.out.println(“Not equal”); else System.out.println(“Equal”); } } A、Not equal B、Equal C、无输出 D、编译出错 5.Java语言中字符串“学Java”所占的内存空间是(a) A. 6个字节 B. 7个字节

安卓android课程设计报告

安卓a n d r o i d课程设计 报告 Company Document number:WTUT-WT88Y-W8BBGB-BWYTT-19998

湘潭大学课程设计报告课程名称______手机安卓开发_______ 课题名称______天气预报APP_______指导老师______周唯___________ 姓名____黄柳________ 班级____12计2班________ 小组______棒棒糖_______ 时间____2015年1月26 日_____ 一、需求分析 (一)引言 1.编写目的 1.1 为用户提供一个显示天气预报的软件,可以根据百度地图显示用户需求的城 市位置,以及用图标表示各城市对应的气象信息,可以简洁的表示出“晴、 雨、雪”和“气温”气象信息。 2. 项目风险 2.1 (项目风险识别是指找出影响项目目标顺利实现的主要风险因素,并识别出 这些风险究竟有哪些基本特征、可能会影响到项目的那些方面。) 2.2 联网收费视用户电话运营商的收费标准决定 2.3 手机或者无线信号不好时,可能无法连接或更新天气情况 3. 预期读者和阅读建议 3.1 预期读者:会使用已经安装安卓系统的手机或者平板电脑及其他移动设备的 用户 3.2 阅读建议:读者应通过该文档可以了解相关项目的需求分析、使用注意事项 以及可能存在的风险 4. 产品范围 2.2手机,平板电脑,MP4,导航仪,上网本,电纸书等使用安卓系统的数码领 域 (二)综合描述 1.产品的状况

1.1 Android是一种以Linux为基础的开放源代码操作系统,主要使用于便携设 备。目前未有统一中文名称,中国大陆地区较多人使用“安卓”或“安致”。 Android操作系统最初由Andy Rubin开发,最初主要支持手机。2005年由 Google收购注资,并组建开放手机联盟开发改良,逐渐扩展到平板电脑及 其他数码领域上。我们开发的相关项目正是一个在安卓平台上开发的软件, 可以用这个软件来实现用户在一些简单的手持设备如手机或者平板电脑等上 面及时的了解到用户所在城市的天气预报。 2. 产品的功能 2.1 天气信息获取 2.2 天气信息显示 3. 系统配置功能 3.1 用户类和特性 安卓平台用户:安卓新用户可以使用软件来了解用户所在城市的天气预报。熟悉安卓平台用户还可以选择对相关软件的系统按自己的喜好进行配置并保留自己的个性化系统配置。 安卓软件开发者:安卓软件开发者(喜好者)可以通过相关的开源代码来了解软件运行的原理。 3.2 运行环境 软件需要在支持安卓系统的可移动设备中正确安装才能正常运行。安卓版本需在及以上,同时建议用户如果是在手机移动设备使用的话,需确保手机支持联网服务。 3.3 设计和实现上的限制 Eclipse是开发相关应用软件的首选集成开发环境,安卓开发环境首先需要安装支持java应用软件运行的java开发软件包(即JDK),然后安装集成开发环境Eclipse,最后安装Android SDK的Eclipse的ADT插件。 Android SDK和Eclipse的ADT插件是必须使用的。 软件支持高效、快速的数据存储方式,包括快速数据存储方式SharedPreferences、文件存储和轻量级关系数据块SQLite,可软件可以使用适合的方法对数据进行进程保存和访问。 3.4 假设和约束(依赖) 软件必须在安卓系统下才可以正常运行,若需要获取天气更新或者是短信服务,需确保用户的数码设备支持联网及短信服务。 (三) 外部接口需求 1 用户的手机设备可以支持联网。 2 用户界面 3 软件接口 软件提供轻量级的进程间通信机制Intent,实 现跨进程组件通信。 4 访问硬件的API库函数通讯接口 4.1 HTTP 协议:有多种接口可以调用 你可以用Java类库封装的 HttpConnection 或者用Apach的开 源项目的 HttpGet 或者HttpPost ,

android考试复习资料

Unit 4. Android 生命周期 Android 系统中的进程优先级由高到低 前台进程 高优先级 中优先级 低优先级 可见进程 服务进程 后台进程 空进程 Android 组件 组件是可以调用的基本功能模块,Android 应用程序就是由组件组成的 Android 系统有四个重要的组件,分别是Activity 、Service 、BroadcaseReceiver 和ContentProvider Activity 是 Android 程序的呈现层,显示可视化的用户界面,Android 应用程序可以包含一个或多个Activity ,一般在程序启动后会呈现一个Activity 。 Service 用于没有用户界面,但需要长时间在后台运行的应用 BroadcaseReceiver 是用来接受并响应广播消息的组件 ContentProvider 是Android 系统提供的一种标准的共享数据的机制,应用程序可以通过ContentProvider 访问其他应用程序的私有数据,私有数据可以是存储在文件系统中的文件,也可以是SQLite 中的数据库 Activity 表现为四种状态,分别是活动状态、暂停状态、停止状态和非活动状态 Activity 事件的回调函数: protected void onStart(); protected void onRestart(); protected void onResume(); protected void onPause(); protected void onStop();

protected void onDestroy(); Activity: onCreate onDestroy onStart onStop onResume onPause onRestore InstanceState onSave InstanceState onRestart 活动生命周期可视生命周期全生命周期 1 2 3 45 6 7 89 Android 系统提供了两种调试工具LogCat 和DevTools ,用于定位、分析及修复程序中出现的错误 LogCat 程序调试原理 1.引入android.util.Log 包 2.使用Log.v(),Log.d(),Log.i(),Log.w() 和 Log.e()五个函数在程序中设置“日志点” 3.当程序运行到“日志点”时,应用程序的日志信息便被发送到LogCat 中 4.判断“日志点”信息与预期的内容是否一致 E.g. final static String TAG = "LOGCA T"; Log.v(TAG ,"Verbose"); DevTools 是用于调试和测试的工具,包括了一系列用户各种用途的小工具 Unit 5. Android 用户界面 ? 常见的系统控件包括TextView 、EditText 、Button 、ImageButton 、Checkbox 、RadioButton 、 Spinner 、ListView 和TabHost TextView :显示字符串,EditText 是一个具有编辑功能的TextView 相应的XML 文件:

Android编程基础笔试题及答案2.0

《Android 编程基础》试卷A 注意事项: 1. 本试卷共8页,满分100分; 2. 请把学院、姓名、班级写到密封线内,考试时间90分钟; 3. 请不要把答案写在密封线内 一、单选题(共35题,共61分) 1、 D03MA057(2分)退出 activity 对一些资源以及状态的操作保存,可以在生命周期的哪个函数中进行 a A 、onPause() B 、onCreate() C 、onResume() D 、onStart() 2、 D02MA058 (2分) Android 项目工程下面的 assets 目录的作用是什么 b A 、放置应用到的图片资源。 Res/drawable B 、主要放置一些文件资源,这些文件会被原封不动打包到 apk 里面 C 、放置字符串,颜色,数组等常量数据 res/values D 、放置一些与 UI 相应的布局文件,都是 xml 文件 res/layout 3、 D04MA059 (2分)下列不属于android 布局的是(c) A 、F r a m e L a y o u t B 、L i n e a r L a y o u t C 、BorderLayout D 、T a b l e L a y o u t E 、R e l a t i v e L a y o u t 4、 D08MA2060 (2分)Intent 的作用的是 a A 、intent 是连接四大组件的纽带,可以实现界面间切换,可以包含动作和动作数据, B 、是一段长的生命周期,没有用户界面的程序,可以保持应用在后台运行,而不会 因为切 换页面而消失 service C 、实现应用程序间的数据共享 contentprovider D 、处理一个应用程序整体性的工作 5、 D04EA1061(1分) 下列哪个是AbsoluteLayout 中特有的属性 b A,android:layout_height B,android:layout_x C,android:layout_above D,android:layout_toRightOf 6、 D07EA1062(1分)RatingBar 组件中不能用属性直接设置的是d A,五角星个数 B,当前分数C,分数的增量D,五角星的色彩 7、 D 10EA1063(1分) 在手机开发中常用的数据库是_a__ A,sqlLite B,Oracle C,Sql Server D,Db23 8、 D14MA2064(2分) 关于BroadcastReceiver 的说法不正确的是_b_ A, 是用来接收广播Intent 的 密封线内不要答 题 学院班级姓名

Android程序设计练习卷答案

1.在android程序中,Log.d()用于输出什么级别的日志信息?(A) A、调试 B、信息 C、警告 D、错误 2.以下情况不会创建Context对象的是(C) A.创建Application 对象时 B.创建Service对象时 C.创建ContentProvider对象时 D.创建Activity对象时 3.下列不属于Android中广播中的类别的是(D) A.Normal Broadcas B.Sticky Broadcast C.Local Broadcast D.Order broadcast 4.以下哪个不是Intent的Activity启动方式(A) A.FLAG_ACTIVITY_BROUGHT_TO_FIRST B.FLAG_ACTIVITY_CLEAR_TOP C.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET D.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS 5.安卓AndroidManifest.xml文件的子节点不包括(C) A.application B.services C.permission D.provider 6.下面那个不是Fragment的生命周期方法(D) A. onStart B. onAttach C. onDestoryView D. onRestart 7.下面那种不是安卓原生支持的Menu(A) A.Selected Menu B.Option Menu C.Submenu D.Context Menu 8.下面不属于android的动画分类的有(D) A、Tween B、Frame C、Property D、Animation 9.下列哪个不是安卓service自带的方法(A) A.OnResume B.onCreate C.onStartCommand D.onRebind 10.下列属于SAX解析xml文件的优点的是(B) A、将整个文档树在内存中,便于操作,支持删除,修改,重新排列等多种功能 B、不用事先调入整个文档,占用资源少 C、整个文档调入内存,浪费时间和空间 D、不是长久驻留在内存,数据不是持久的,事件过后,若没有保存数据,数据就会消失 11.下列关于Soundpool和MediaPlayer的说法,错误的是(A) A.MediaPlayer支持多个音乐同时播放 B.MediaPlayer资源占用率高 C.MediaPlayer延迟时间较长 D.new MediaPlayer()后要调用prepare()方法才能播放 12.关于res/raw目录说法正确的是(A) A、这里的文件是原封不动的存储到设备上不会转换为二进制的格式

Android开发实战中常用安卓开发框架

Android是基于Linux平台的开源移动操作系统,主要适用于移动设备,如智能手机和平板电脑(当然现在已经适用车控应用了),由Google公司和开放手机联盟领导及开发。不完全统计,Android平台手机的全球市场份额已经达到80%,本文介绍了android开发者实战中最喜欢使用的几种Android开发框架。 1) Corona SDK Corona SDK是一个跨平台技术的工具,它利用Lua开发脚本,从一个特定的移动操作系统开发应用。应用程序可以在模拟器中测试,然后编译为Android的本机代码。同时Corona SDK 还支持与Map、Facebook、OpenFient、GameCenter的集成。然而在编译项目时,程序员需要把代码上传到Corona的服务器上去编译,不能在本地直接编译。 2) Phonegap Phonegap是一款开源的开发框架,旨在让开发者使用HTML、Java、CSS等Web APIs开发跨平台的移动应用程序。它需要特定平台提供的附加软件,例如iPhone的iPhone SDK,Android的Android SDK等,也可以和DW5.5及以上版本配套开发。使用PhoneGap比为每个平台分别建立应用程序稍好一些,因为虽然基本代码是一样的,但是程序员仍然需要为每个平台分别编译应用程序。 3) Xamarin Xamarin 始创于2011年,旨在使移动开发变得难以置信地迅捷和简单。Xamarin的产品简化了针对多种平台的应用开发,包括iOS、Android、Windows Phone和Mac App。Xamarin 由许多著名的开源社区开发者创立和参与,而且也是Mono项目的主导者——C#与?NET框架的开源、跨平台实现。 而这其中Xamarin Studio就是一个用C#语言开发跨平台应用的集成开发环境,它和iOS 以及Android SDK紧密整合。Xamarin Studio提供了很多现代开发所需功能,包括代码完成、调试器、打包和发布应用(支持通过TestFlight发布应用程序)。对于Android,Xamarin还包含了自己的UI生成器(对于iOS,则使用苹果Xcode的UI生成器),此外还集成了Git和Subversion。Android开发者可以使用Xamarin Studio在模拟器和真机上对移动应用进行测试和bug调试。 4) Sencha Touch 2 Sencha Touch是由Sencha公司开发的移动Web应用开发框架,用以提升主流移动设备在浏览器上的触碰操作,增强用户体验。该框架以久负盛名的Ext JS富客户端框架为基础,并支持最新的HTML5及CSS3标准,与流行的Apple iOS和Andriod设备兼容。一方面,它以Webkit浏览器引擎为基础,提供了出色的性能和用户体验;另一方面,它提供了基于GPL V3许可的开源版本和详尽的API文档,体现了良好的开放性和易用性。因此,该框架可帮助移动应用开发人员提升开发效率,从而创造出更多富有创意的移动应用。 5) Appcelerator Appcelerator是一个构建基于SOA的RIA应用的全集成平台,用来构建富应用、交互式的网站和应用程序。Appcelerator应用的语言——Web Expression Language,是一种对HTML 的扩展,它采用直观、声明的方法来构建动态的web应用。

android复习资料物联网

各位同学注意:考试总共4道题目 1.考试题有单选20道(共40分) 2.判断15道(15分) 3.简答3道(共15分) 4.编程2道(共30分) 一、单选题 1、退出 activity 对一些资源以及状态的操作保存,可以在生命周期的哪 个函数中进行 (A) A、onPause() B、onCreate() C、onResume() D、onStart() 2、下列哪个不是Activity的生命周期方法之一( B ) A、 onCreate B、 startActivity C、 onStart D、 onResume 3、下列不属于android布局的是(c) A、FrameLayout B、LinearLayout? BorderLayout D、TableLayout E、RelativeLayout 4、Intent 的作用的是 (A) A、intent是连接四大组件的纽带,可以实现界面间切换,可以包含动作和动 作数据, B、是一段长的生命周期,没有用户界面的程序,可以保持应用在后台运行, 而不会因为切换页面而消失 service C、实现应用程序间的数据共享 contentprovider D、处理一个应用程序整体性的工作 5、要在布局文件中把命令按钮的id设置为t1,下面那句代码是正确的(A ) A、android:id="@+id/t1" B、android:id="/t1" C、id="@+id/t1" D、id="t1" 6、下列哪个是AbsoluteLayout中特有的属性( B) A、android:layout_height B、android:layout_x C、android:layout_above D、android:layout_toRightOf 6、在手机开发中常用的数据库是(A ) A,sqlLite B,Oracle C,Sql Server D,Db23 7、如果要让标签(TextView居中显示,需要设置哪个属性(D) A、android:orientation B、android:layout_gravity C、android:gravity D、android:layout_weight 8、在XML布局文件中android:layout_width属性不可以设置为(D ) A、match_parent B、fill_parent C、wrap_content D、match_content 8、关于BroadcastReceiver的说法不正确的是( B) A、是用来接收广播Intent的 B、一个广播Intent只能被一个订阅了此广播的BroadcastReceiver所接收 C、对有序广播,系统会根据接收者声明的优先级别按顺序逐个执行接收者 D、接收者声明的优先级别在的android:priority属性中 声明,数值越大优先级别越高 9、使用MediaPlayer播放保存在Raw包下的mp3文件时(a) A、需要使用MediaPlayer、create方法创建MediaPlayer

Android面试题带标准答案

Android面试题 下列哪些语句关于内存回收的说明是正确的? (b ) A、程序员必须创建一个线程来释放内存 B、内存回收程序负责释放无用内存 C、内存回收程序允许程序员直接释放内存 D、内存回收程序可以在指定的时间释放内存对象 下面异常是属于Runtime Exception的是(abcd)(多选) A、ArithmeticException B、IllegalArgumentException C、NullPointerException D、BufferUnderflowException Math.round(11.5)等于多少(). Math.round(-11.5)等于多少(c). c A、11 ,-11 B、11 ,-12 C、12 ,-11 D、12 ,-12 下列程序段的输出结果是:(b)?void complicatedexpression_r(){int x=20, y=30; boolean b; b=x>50&&y>60||x>50&&y<-60||x<-50&&y>60||x<-50&&y<-60; System.out.println(b);? } A、true B、false C、1 D、011.activity 对一些资源以及状态的操作保存,最好是保存在生命周期的哪个函数中进行(d) A、onPause() B、onCreate() C、 onResume() D、onStart() Intent传递数据时,下列的数据类型哪些可以被传递(abcd)(多选) A、Serializable B、charsequence C、Parcelable D、Bundle android 中下列属于Intent的作用的是(c) A、实现应用程序间的数据共享 B、是一段长的生命周期,没有用户界面的程序,可以保持应用在后台运行,而不会因为切换页面而消失 C、可以实现界面间的切换,可以包含动作和动作数据,连接四大组件的纽带 D、处理一个应用程序整体性的工作 下列属于SAX解析xml文件的优点的是(b) A、将整个文档树在内存中,便于操作,支持删除,修改,重新排列等多种功能 B、不用事先调入整个文档,占用资源少 C、整个文档调入内存,浪费时间和空间 D、不是长久驻留在内存,数据不是持久的,事件过后,若没有保存数据,数据就会 消失 下面的对自定style的方式正确的是(a) A、 <resources> ?<stylename="myStyle"> ? ?</style> B、<style name="myStyle"> ?<item name="android:layout_width">fill_parent</item>

相关文档