Android复习练习题

Android复习练习题
Android复习练习题

一、单选题

退出 activity 对一些资源以及状态的操作保存,可以在生命周期

的哪个函数中进行( A )

A、onPause()

B、onCreate()

C、onResume()

D、onStart()

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

A、放置应用到的图片资源。 Res/drawable

B、主要放置一些文件资源,这些文件会被原封不动打包到 apk 里面

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

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

下列不属于android布局的是( C )

A、FrameLayout

B、LinearLayout

C、BorderLayout

D、TableLayout

E、RelativeLayout

Intent 的作用的是 ( A )

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

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

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

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

下列哪个是AbsoluteLayout中特有的属性 ( B )

A、android:layout_height

B、android:layout_x

C、android:layout_above

D、android:layout_toRightOf

RatingBar组件中不能用属性直接设置的是( D)

A、五角星个数

B、当前分数

C、分数的增量

D、五角星的色彩

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

A、,sqlLite

B、Oracle

C、Sql Server

D、Db23

关于BroadcastReceiver的说法不正确的是( B )

A)是用来接收广播Intent的

B),一个广播Intent只能被一个订阅了此广播的BroadcastReceiver所接收

C)对有序广播,系统会根据接收者声明的优先级别按顺序逐个执行接收者

D)接收者声明的优先级别在的android:priority属性中声明,数值越大优先级别越高

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

A)需要使用MediaPlayer.create方法创建MediaPlayer B)直接newMediaPlayer即可

C)需要调用setDataSource方法设置文件源D)直接调用start方法,无需设置文件源

在android中使用RadioButton时,要想实现互斥的选择需要用的组件是(D )

A)ButtonGroup B) RadioButtons C)CheckBox D)RadioGroup

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

A)ContentResolver B)ContentProvider C)Cursor D)SQLiteHelper

DDMS中Log信息分为几个级别( C )

A)3 B)4 C)5 D)6

能够自动完成输入内容的组件是( D )

A)TextView B,EditText C)ImageView D)AutoCompleteTextView

创建子菜单的方法是( B )

A)add B)addSubMenu C)createSubMenu D)createMenu

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

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

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

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

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

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

A)setDataSource B)prepare C)begin D)pause

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

A)使用onOptionsItemSelected(MenuItem item)响应

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

C)使用onMenuItemClick(MenuItem item)响应

D)使用onCreateOptionsMenu(Menu menu)响应

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

A) MODE_APPEND B)MODE_WORLD_READABLE

C)MODE_WORLD_WRITEABLE D)MODE_PRIVATE

进度条中哪个属性是设置进度条大小格式的(D )

A)android:secondaryProgress B)android:progress C)android:max D)style

下列用以显示一系列图像的是( B )

A)ImageView B)Gallery C)ImageSwitcher D)GridView

表示下拉列表的组件是( B )

A)Gallery B)Spinner C)GridView D)ListView

关于AlertDialog的说法不正确的是( A )

A)要想使用对话框首先要使用new关键字创建AlertDialog的实例

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

C)setPositiveButton方法是用来加确定按钮的

D)setNegativeButton方法是用来加取消按钮的

下列说法错误的是( D )

A)Button是普通按钮组件,除此外还有其他的按钮组件

B)TextView是显示文本的组件,TextView是EditText的父类

C)EditText是编辑文本的组件,可以使用EditText输入特定的字符

D)ImageView是显示图片的组件,可以通过设置显示局部图片

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

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

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

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

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

下列哪个是SqlLite下的命令( C )

A)shell B)push C).quit D)keytool

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

A)notification需要NotificatinManager来管理

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

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

D) Notification中有方法可以清除消息

下列关于 open core说法不正确的是( B )

A) Open core是Android多媒体框架的核心

B) MediaPlayer是openCore中的一个核心类

C)所有在Android平台的音频、视频的采集以及播放等操作都是通过它来实现的

D)在实现开发中我们并不会过多地研究open core的实现,我们的Android为我们提供了上层的media api的开发使用

上下文菜单与其他菜单不同的是( B )

A)上下文菜单项上的单击事件可以使用onMenuItemSelected方法来响应

B)上下文菜单必须注册到指定的view上才能显示

C)上下文菜单的菜单项可以添加,可以删除

D)上下文菜单的菜单项可以有子项

拖动条组件是( C )

A)RatingBar B)ProgressBar C)SeekBar D)ScrollBar

读取文件内容的首要方法是( D )

A)open B)read C)write D)open

关于隐式Intent正确的是( A )

A)android中使用IntentFilter 来寻找与隐式Intent相关的对象

B)通过组件的名称寻找与intent相关联的对象

C)隐式Intent更多用于在应用程序内部传递消息

D)一个声明了IntentFilter的组件只能响应隐式Intent请求

多选框被选择事件通常用( B )

A)setOnClickListener B)setOnCheckChangeListener

C)setOnMenuItemSelectedListener D)setOnCheckedListener

自定义对话框时,将视图对象添加到当前对话框的方法是( D )

A)setIcon B)setXML C)setLayout D)setView

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

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

绑定Service的方法是( A )

A,bindService B, startService C,onStart D,onBind

android是如何组织Activity的( A )

A、以栈的方式组式Activit y

B、以队列的方式组织Activity

C、以树形方式组织Activity

D、以链式方式组织Activity。

onPause什么时候调用( C )

A.当界面启动时

B.当onCreate方法被执行之后

C.当界面被隐藏时

D.当界面重新显示时

在Activity中,如何获取service对象(A)

A.可以通过直接实例化得到。

B.可以通过绑定得到。

C.通过startService()

D.通过getService()获取。

在表格布局中,android:collapseColumns="1,2"的含义是: (C )

A、在屏幕中,当表格的列能显示完时,显示1,2列

B、在屏幕中,当表格的列显示不完时,折叠

C、在屏幕中,不管是否能都显示完,折叠1、2列

D、在屏幕中,动态决定是否显示表格。

绝对布局中,android:layout_x 的含义有( B )

A、以手机左下为原点,组件显示到屏幕中的横向坐标值。

B、以手机左上为原点,组件显示到屏幕中的横向坐标值。

C、以手机右下为原点,组件显示到屏幕中的横向坐标值。

D、以手机右下为原点,组件显示到屏幕中的横向坐标值。

创建Menu需要重写的方法是( C )

A、onOptionsCreateMenu(Menu menu)

B、onOptionsCreateMenu(MenuItem menu)

C、onCreateOptionsMenu(Menu menu)

D、onCreateOptionsMenu(MenuItem menu)

在使用SQLiteOpenHelper这个类时,它的哪一个方法是用来实现版本升级之用的( D ) A.onCreate() B.onCreade() C.onUpdate() D. onUpgrade() ScrollView中,可以直接包含多少个组件( D )

A.三个B.两个C.一个D.无数个

TabHost.newTabSpec("tab1")( B )

A.为tab页创建标题为tab1

B.为tab页创建ID为tab1

C.为tab页创建内容

D.为tab页创建新空格

关于适配器的说法正确的有( B )

A.它主要是用来存储数据

B.它主要用来把数据绑定到组件上

C.它主要用来解析数据D.它主要用来存储xml数据

Matrix类的作用(A )

A.可以存储缩小或放大比列B.存储文件中的图片信息

C.存储资源中的图片信息 D. 存储内存中的图片信息

android:completionThreshold=1是哪个组件的属性( D )

A.ImageButton

B.EditText C.TextView D.AutoCompleteTextView

下列说法正确的是( A )

A、每个进程都运行于自己的java 虚拟机(VM)中。

B、默认情况下,每个应用程序中均运行于自己的进程中,而且此进程不会被消毁。

C、每个应用程序会被赋予一个唯一的linux用户ID,从而使得该应用程序下的文件,其它用户也可以访问。

D、一个应用程序数据,可以随意被其它应用程序所访问。

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

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

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

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

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

下列关于Service的描述,正确的是(D)

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

B.每次调用Context类中的StartService()方法后都会新建一个Service实例

C.每次启动一个服务时候都会先后调用onCreate()和onStart()方法

D.当调用了ConText类中的StopService()方法后,Serviece中的onDestroy()方法会自动回调

激活Activity的方法是( C )

A.runActivity()

B.goActivity()

C.startActivity()

D.startActivityForIn()

下列属于SAX解析xml的优点的是( B )

A、将整个文档存于内存中,这样便于操作

B、不用事先将整个文档拷入内存

C、整个文档放入内容,浪费时间和空间

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

下列样式表定义正确的是( C )

A、

B、

C、

D、

创建Menu需要重写的方法是( C )

A、onOptionsCreateMenu(Menu menu)

B、onOptionsCreateMenu(MenuItem menu)

C、onCreateOptionsMenu(Menu menu)

D、onCreateOptionsMenu(MenuItem menu)

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

A.onCreate()

B.onCreade()

C.onUpdate()

D. onUpgrade()

关于android进程,说法不正确的是( C )

A.组件运行所在的进程,是由androidmanifest.xml决定,它可以指定该组件运行于哪个进程。

B、当急需内存时,android会决定优先关闭那些空闲的进程

C.背景进程是不为用户所见的Activity,但是还会有可能被用户看到,所以它不能被杀死

D.可视进程一般不会不被系统所杀死

在Activity的生命周期中,当它从可见状态转向半透明状态时,它的哪个方法必须被调用( B )

A.onStop()

B.onPause()

C.onRestart()

D.onStart()

关于线程说法不正确的是( B )

A.在android中,我们可以在主线程中,创建一个新的线程

B.在创建的新线程中,它可以操作UI组件

C.新线程可以和Handler共同使用

D.创建的Handler对象,它隶属于创建它的线程

当Activity被消毁时,如何保存它原来的状态(A)

A.实现Activity的onSaveInstanceState()方法

B.实现Activity的onSaveInstance()方法

C.实现Activity的onInstanceState()方法

D. 实现Activity的onSaveState()方法

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

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

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

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

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

在android中,ArrayAdapter类是用于(A )

A.用于把数据绑定到组件上B.它能把数据显示到Activity上

C.它能把数据传递给广播D.它能把数据传递给服务

使进度条变横向的系统样式是( A )

A. @android:style/Widget.ProgressBar.Horizontal

B. @android:style/ProgressBar.Horizontal

C. @style/Widget.ProgressBar.Horizontal

D. @style/ProgressBar.Horizontal

能提供内容补全的组件是( D )

A.EditText

B.DatePicker

C.TimePicker

D.AutoCompleteTextView

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

A、onPause()

B、onCreate()

C、 onResume()

D、onStart()

android 中下列属于Intent的作用的是( C )

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

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

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

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

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

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

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

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

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

关于res/raw目录说法正确的是( A )

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

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

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

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

关于ContenValues类说法正确的是( D )

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

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

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

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

下面在AndroidManifest.xml文件中注册BroadcastReceiver方式正确的是( A )

A、android:name="android.provider.action.NewBroad"/>

B、android:name=”android.provider.action.NewBroad”/>

C、android:name="android.provider.action.NewBroad"/>

D、android:name=”android.provider.action.NewBroad”/>

下面退出Activity错误的方法是(C )

A、finish()

B、抛异常强制退出

C、System.exit()

D、onStop()

下面哪一个不属于Android体系结构中的应用程序层( C )

A.电话簿

B.日历

C.SQLite

D.SMS程序

下面哪种说法不正确( B)

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

B.res目录是一个特殊目录,包含了应用程序的全部资源,命名规则可以支持数字(0-9)下横线(_),大小写

字母(a-z , A-Z);

C.AndroidManifest.xml文件是每个Android项目必须有的,是项目应用的全局描述。其中指定程序的包

名(package=”…”)+指定android应用的某个组件的名字(android:name=”…”)组成了该组件类的完整路径

D.assets和res目录都能存放资源文件,但是与res不同的是assets支持任意深度的子目录,在它里面的

文件不会在R.java里生成任何资源ID

在一个相对布局中怎样使一个控件居中( C )

android:gravity="center"

android:layout_gravity="center"

android:layout_centerInParent="true"

android:scaleType="center"

下面是一段生成对话框的代码,哪一行有错误?( A )

Builder builder = new Builder(getApplicationContext()); 1

builder.setTitle("提示").setMessage("请选择"); 2

builder.setPositiveButton("重置", new OnClickListener() 3

{ 4

public void onClick(DialogInterface dialog, int which) 5

{ 6

Log.i("log", "重置被按了!"); 7

} 8

}); 9

builder.setNegativeButton("取消", null); 10

builder.setNeutralButton("确定", new OnClickListener() 11

{ 12

public void onClick(DialogInterface dialog, int which) 13

{ 14

Toast.makeText(getApplicationContext(), "确定被按了!", 15

Toast.LENGTH_SHORT).show(); 16

} 17

}); 18

builder.create().show(); 19

A.第1行

B.第10行

C.第15行

D.第19行

关于Android 事件机制与事件监听,下列说法不正确的有( D )

i.View类里的event listener是一个带有回调方法的接口,当UI里的组建是被用户触发时,这些方法会被

系统框架所调用

ii.来自View.OnClickListener ,当点击这个Item(在触摸模式),或者当光标聚集在这个Item上时按下“确认”键,导航键,或者轨迹球, 它会被调用。

iii.来自View.OnLongClickListener ,当长按这个Item(在触摸模式),或者当光标聚集在这个Item上时长按“确认”

键,导航键,或者轨迹球, 它会被调用。

iv.来自View.OnFocusChangeListener ,当手移到或离开这个Item , 它会被调用

v.来自View.OnKeyListener,当光标移到这个Item,按下和释放一个按键的时候,它会被调用

vi.来自View.OnTouchListener,在这个Item的范围内触摸的时候,它会被调用

vii.来自View.OnCreateContextMenuListener,当上下文菜单被建立时,只需短按一下,它会被调用,

A.i

B.i ii iv vii

C.iii v vi vii

D.vii

setOnTouchEvent 设置返回值为true 和false有何区别?( C )

A.没有区别,都能对事件进行监听

B.设置为true时只能在移动时获得一次监听事件,false则可以多次

C.返回true表示这个消息已经被处理结束,后续的handler不再接收到这个消息

D.设置为false是,在处理一次监听事件后,系统将抛弃该次事件

下列说法哪个不正确( C )

A.拥有android:configChanges="orientation|keyboardHidden"标签的Activity在横竖屏转换时不会再执行

onCreate方法

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

C.一个Activity的对象a1上弹出了一个模拟对话框形式的Activity的对象a2,按返回键后a1执行了

onStart和onResume方法,a2执行了onPause,onStop和onDestroy方法

D.一个界面上的EditText中输入文字后,再按下Home,该界面消失,等再回到该界面文字内容仍在,

onCreate方法也不会执行

E/AndroidRuntime(1099): https://www.360docs.net/doc/636715796.html,ng.RuntimeException: Unable to instantiate activity ComponentInfo{com.test/com.test.CanvasActivitys}: https://www.360docs.net/doc/636715796.html,ng.ClassNotFoundException: com.test.CanvasActivitys in loader dalvik.system.PathClassLoader[/data/app/com.test-1.apk]

这段话是程序报错在LogCat中产生的记录,从中可以分析问题的原因可能在哪里?( B )

A.程序执行CanvasActivitys的一个代码段时一个View有引用无对象

B.CanvasActivitys类没有在AndroidManifest中正确申明

C.最小SDK支持版本号比运行这个程序的设备版本号还高

D.CanvasActivitys是一个Activity,但没有重写它的onCreate方法

下列说法错误的是( B )

A.Intent起着一个媒体中介的作用,专门提供组件互相调用的相关信息,实现调用者与被调用者之间的

解耦

B.Intent 可以传递View对象

C.对于直接Intent,Android不需要去做解析,因为目标组件已经很明确,Android需要解析的是那些间

接Intent,通过解析,将Intent映射给可以处理此Intent的Activity、IntentReceiver或Service

D.通过Intent可以删除程序

android:shape="line">

android:color="@color/gray"

android:dashWidth="5dp"

android:dashGap="3dp" />

这是一个资源配置文件,下面描述正确的是?( D )

A.这个shape文件是画一个宽为5dp,高为3dp的色块

B.这个shape文件是画一个宽从5dp到3dp的等腰梯形

C.这个shape文件是画一个底为5dp高为3dp的等腰三角形

D.这个shape文件是画一条虚线,实线段5dp,间隔3dp

下列关于Service的描述,正确的是(D)

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

B.每次调用Context类中的StartService()方法后都会新建一个Service实例

C.每次启动一个服务时候都会先后调用onCreate()和onStart()方法

D.当调用了ConText类中的StopService()方法后,Serviece中的onDestroy()方法会自动回调

通过SurfaceView对象得到SurfaceHolder对象holder,调用holder的addCallback()方法,在匿名内部类中的onCreat()方法中的代码如下:( A )

Paint paint=new Paint();

paint.setColor(Color.Red);

Canvas canvas = holder.lockCanvas();

canvas.drawRect(0, 0, 360, 480, paint);

holder.unlockCanvasAndPost(canvas);

holder.lockCanvas(new Rect(0, 0, 250, 250));

holder.unlockCanvasAndPost(canvas);

holder.lockCanvas(new Rect(0, 0, 200, 200));

holder.unlockCanvasAndPost(canvas);

holder.lockCanvas(new Rect(0, 0, 150, 150));

holder.unlockCanvasAndPost(canvas);

holder.lockCanvas(new Rect(0, 0, 100, 100));

holder.unlockCanvasAndPost(canvas);

最后显示的图形是:

A. B. C. D.

二、多选题

Intent 传递数据时,下列的数据类型哪些可以被传递 ( ABCD)

A、Serializable

B、charsequence

C、Parcelable

D、Bundle

android 数据存储与访问的方式一下说法正确的是:( ABCDE)

A、文件

B、数据库

C、sharedpreference

D、内容提供者

E、网络

下列可能会导致GC内存泄露的是:( ABC)

A、数据库的cursor没有关闭

B、构造adapter时,没有使用缓存contentview

C、衍生listview的优化问题-----减少创建view的对象,充分使用contentview,可以使用一静态类来优化处理getview的过程activity一般会重载一些方法用来维护其生命周期,下列不输于相关方法的是

D、使用sqlite数据库

android 通过 startService 的方式开启服务, 关于 service生命周期的 onCreate()和 onStart() 说法正确的是 ( AD)

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

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

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

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

开发android程序需要的开发工具和开发包包括 ( ABCD)

A、JDK

B、Eclipse

C、Android SDK

D、ADT

E、Raw

下列属于补间动画相关类的是( ACD )

A、TranslateAnimation

B、FrameAnimation

C、RotateAnimation

D、AlphaAnimation

下列哪些 api 的操作需要声明权限 ( CD)

A、播放 mp3 文件

B、读 SD 卡 (读 sd 卡状态)

C、发短信

D、访问网络

在 android 中使用 SQLiteOpenHelper 这个辅助类时,哪些操作可能生成一个数据库( AB )

A、getWriteableDatabase()

B、getReadableDatabase()

C、getDatabase()

D、getAbleDatabase()

下列对SharePreferences存、取文件的说法中正确的是:( ABD )

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

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

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

D、信息的保存格式是xml NotificationManager中清除消息的方法是 ( BD )

A、destroy

B、cancel

C、clear

D、cancelAll

下列属于Activity的状态是( ABC )

A.运行状态 B 暂停状态 C 停止状态 D 睡眠状态

关于Handler的说话正确的是( AB )

A.它实现不同线程间通信的一种机制

B.它避免了新线程操作UI组件

C.它采用栈的方式来组织任务的

D.它可以属于一个新的线程

关于广播的作用,正确的说法是( ABCD )

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

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

C 它可以启动一个Activity

D 它可以启动一个Service

下面属于View的子类的是( C D )

A Activity

B Service

C ViewGroup

D TextView

在main.xml中,定义一个组件时,有两个属性必须写(AB )

A android:layout_width

B android:layout_height

C android:id="@+id/start"

D android:text

请找出你学过的适配器类( AC )

A SimpleAdapter

B SimpleArrayAdapter

C SimpleCursorAdapter

D SimpleCursorsAdapter

关于主题的说法,正确的是( ABC )

A 它是属性集合

B 它可以在程序中来设置

C 它通常用于一个Activity或所有Activity上

D 它可以用于单个TextView上

意图可分为( AB )

A 显式意图

B 隐式意图

C 组件意图

D 类意图

关于Sqlite数据库,正确的说法( ABD )

ASqliteOpenHelper类主要是用来创建数据库和更新数据库

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

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

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

解析xml的方式有( CD )

A 字符器类型

B 流方式

C dom

D SAX

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

android中输入日期的组件是DatePicker ____

AIDL的全称是_Android interface definition language _

广播分为:无序广播和有序广播_

android中输入时间的组件是__TimePicker

Android应用的入口点是____Main___

android中专门用于录音的组件是__MediaRecorder_

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

从PC向模拟器中复制文件的命令_ adb push __

android系统4个应用程序之一,主要用于后台运行和跨进程访问的是service

创建只显示文本的Toast对象时建议使用makeText方法

android中常用的四个布局是framlayout,(LinenarLayout),relativelayout和tablelayout。

android 的四大组件是(activiey),service,broadcast和contentprovide。

android 中service的实现方法是:( startservice )和bindservice。

activity7个方法用来维护其生命周期,除了onCreate(),onStart(),onDestory() 外还有

(。

android sharedpreference,文件,( SQlite ) ,contentprovider,网络。从PC向模拟器中复制文件的命令(adb push)

请使用命令行的方式创建一个名字为myAvd, SD卡版本为2.2,sd卡是在d盘的根目录下,名字为scard.img,并指定屏幕大小HVGA.(dnroid create acd -n myAvd -t 8 -s HVDA - C d:\card.img)属于android中的三种适配器 SimpleAdapter、ArrayAdapter、(BaseAdapter ).

元素中layout_width的取值有( wrap_content )、match_parent、match_parent

sqlite支持五种数据类型包括(TEXT )、NULL、BLOB、REAL、INTEGER

二判断题

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

2.Intent有很长的生命周期,是没有用户界面的程序,可以保持应用在后台运行,而不会因为切换页面而消

失×

3.onPause()方法在activity被暂停或收回cpu和其他资源时调用,该方法用于保存活动状态的,也是对运行

时数据的现场保护。√

4.onDestroy是activity被干掉前最后一个被调用方法,当调用finish方法或者系统为了节省空间将它暂时性

的干掉时候调用。√

5.如果service已经启动,再次启动该服务时将先后调用onCreate()和onStartCommand()方法×

6.使用startService()方法启动服务后,调用者和服务间没有关联,即使调用者退出了,服务任然进行√

7.当应用程序中某广播在AndroidMainifest进行注册后,即使该应用程序关闭后,也可以接受操作系统发出

的广播信息√

8.当Antivity的启动模式设置为SingleTop表示当该Anctivity的实例在栈顶时只会产生一个实例。√

9.关于res/raw目录是会转换为二进制的格式然后原封不动的存储到设备上×

10.UIthread 通常就是main thread,Android启动程序时会替它建立一个MessageQueue√

简答题

1. 简述Android 平台的特征有哪些。

开放性、

挣脱运行商的束缚、

丰富的硬件选择、

无缝结合的Google应用

2.简述Android 平台开发环境搭建的步骤。

答:安装Java JDK,

安装Eclipse,

安装Android SDK,

搭建Eclipse集成开发环境(IDE)、

配置ADT(Android Development Tools)、

创建AVD(Android Virtual Device)

3.简述Android系统架构从高到低的几个层次。

答:四个层次,分别是:

应用程序层(Applications)、

应用程序框架层(Application Framework)、

各种库(Libraries)和运行环境(Runtime)、

Linux内核(Linux kernel)

4.应用程序的基本组件有哪些?

答:Activity、

Service、

Content Provider、

BroadCast Receiver

5.Android根据应用程序的组件以及组件当前运行状态将所有的进程按重要性程度从高到低划分为几个?

答:可以划分为5个:

前台进程、可见进程、服务进程、后台进程、空进程

6.随着Activity的创建和销毁,可能会经历哪四种状态?

Android贪吃蛇课程设计报告

XXXX学院 计算机科学系 《Android程序设计》课程设计报告 题目:贪吃蛇 专业:计算机科学与技术 ! 班级: B11计科班 学号: 0 姓名:凌波微步 Q Q :25 指导教师: , 2014年6月

, 目录 第一章绪论 (2) 游戏简介 (2) 开发目的及意义 (3) 开发环境及工具 (3) 第二章需求分析 (4) 游戏界面分析 (4) 游戏角色分析 (4) — 游戏控制分析 (4) 第三章总体设计 (5) 系统功能模块层次图 (5) 运行机制 (6) 贪吃蛇功能流程图 (7) 第四章详细设计与实现 (9) SnakeActivity类 (9) MyTile类 (10) : NextActivity类 (18) SysApplication类 (19) 界面设计 (20) 第五章测试 (26) 功能测试 (26) 测试结果 (27) 第六章结论 (27)

第一章绪论 @ 游戏简介 贪吃蛇游戏是一款手机游戏,同时也是一款比较需要耐心的游戏。贪吃蛇游戏是一条蛇,不停地在手机屏幕上游走,吃在手机屏幕上出现的食物。当蛇吃掉1个食物后会变长,并且吃完食物时食物会消失,并立即随机生成1个新的食物,只要蛇头碰到屏幕四周或者碰到自己的身子,蛇就立即毙命。 开发目的及意义 通过本次课程设计,了解android软件的开发过程,熟悉并掌握JAVA语言,程序关键在于表示蛇的图形及蛇的移动。用一个小矩形块表示蛇的一节身体,身体每长一节,增加一个矩形块,蛇头用一节表示。移动时必须从蛇头开始,所以蛇不能向相反的方向移动,如果不按任意键,蛇自行在当前方向上前移,但按下有效方向键后,蛇头朝着该方向移动,一步移动一节身体,所以按下有效方向键后,先确定蛇头的位置,而后蛇的身体随蛇头移动。意义是方便人们在休闲时通过玩手机游戏获得一点快乐,同时锻炼自己的大脑。 开发环境及工具 在Window8下进行,采用eclipse开发工具,基于安卓操作系统。 环境搭建: 1. JDK安装 [ 2. Eclipse安装 3. Android SDK安装 4. ADT安装创建AVD

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){

贪吃蛇游戏安卓源代码

附录1.SnakeView类 package com.example.android_snake.view; import java.util.ArrayList; import java.util.List; import java.util.Random; import java.util.Timer; import java.util.TimerTask; import com.example.android_snake.R; import com.example.android_snake.food.Food; import com.example.android_snake.snake.Body; import com.example.android_snake.snake.Head; import com.example.android_snake.snake.Snake; import com.example.android_snake.snake.SnakeDirection; import com.example.android_snake.stone.Stone; import android.annotation.SuppressLint; import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.graphics.Paint.Style; import android.os.Handler; import android.util.DisplayMetrics; import android.view.Display; import android.view.MotionEvent; import android.view.View; import android.view.ViewManager; import android.view.WindowManager; import android.widget.Toast; public class SnakeView extends View { private Context context; private Bitmap headBitmap; private Bitmap bodyBitmap; private Bitmap foodBitmap; private Bitmap stoneBitmap; // 屏幕的高度和宽度 private int screenHeight; private int screenWidth; // 每个小格子的高度和宽度 private int eachHeight;

android笔试题及答案

单选题 中可以用来处理中警示,确认等对话框地是() .假设目录下有文件结构,用()方法将该网页加载至 时,需传入地参数是() . . . . .下列不属于补间动画相关类地是() 中网络互连中需要获取状态码,根据状态码来判断请求是否已经完成,下列状态码表示请求完成地是() .关于说法错误地是:() 里可以通过设定转换时候地透明位 .在使用一个之前,不一定要调用方法 是设置资源被读入到这个地时候动画效果 是资源文件从这个里消失地时候要实现地动画效果 .建立蓝牙连接时通过方法来获取对象 () (); (); . () .关于地说法不正确地是( ) .它实现不同进程间通信地一种机制 .它避免了在新线程中刷新地操作 .它采用队列地方式来存储 .它实现不同线程间通信地一种机制

8.和地主要区别是(): . 内部基于链表,而是基于数组地 . 地大部分方法做了同步,而没有同步 . 是可串行化地,而不是 . 实现了,而没有 .下列属于解析文件地优点地是() .将整个文档输在内存中,便于操作,支持删除,修改,重新排列等多种功能 .不用事先调入整个文档,占用资源少 .整个文档调入内存,浪费时间和空间 .不是长久驻留在内存,数据不是持久地,事件过后,若没有保存数据,数据就会消失""; ""; ""; 总共创建( )个对象. 多选题 .在添加第一个窗口小部件时,会执行地方法是() .下列属于优点地是() 与编程语言无关. 可以使用任何语言来完成是完全和厂商无关. 与平台无关 是简单地,可扩展地 3.下列属于解析需要用到地类和接口是() A. .在使用蓝牙必须获取地权限是() .< ""> .< "" > .< ""> .< ""> 5.类地重要方法()

知识共享-Android版贪吃蛇源码及分析(雷惊风)

Android ----snake源码分析 代码结构分析: Snake :主游戏窗口 SnakeView:游戏视图类,是实现游戏的主体类 TileView :一个处理图片或其它 Coordinate :这是一个包括两个参数,用于记录X轴和Y轴简单类,其中包括一个比较函数. RefshHandler :用于更新视图 Snake 这个类是游戏的主游戏窗口,是框架容器。 1.游戏的开始:oncreate此外的亮点是:setContentView(https://www.360docs.net/doc/636715796.html,yout.snake_layout);设置窗口的 布局文件,这里Android123给大家说明的是,这里的snake_layout使用了自定义资源标签的方式,大家注意学习:这里我们可以看到来自SnakeView这个派生类的名称,由于Android内部的R.资源不包含SnakeView类,所以我们必须写清楚Package,比如com.exmple.android.snake.SnakeView 然后和其他控件使用一样,都是一个id然后宽度、高度、以及自定义的标签tileSize(尾巴长度),如下: 2.onPause:关于这点,大家可以参考下在我blog中关于active生命周期 https://www.360docs.net/doc/636715796.html,/admin/blogs/379826 在玩游戏过程中,如果有来电或是其它事件中断,这时应该把当前状态保存。以便返回时,还可以继续玩游戏。这就使用onSaveInstanceState实现保存当前状态。 TileView 注:此部分解析来自: Android示例程序Snake贪食蛇代码分析(三) TileView,从名称上不难看出这是一个方砖类,就是生成一个方块。 TileView使用了Android平台的显示基类View,View类是直接从https://www.360docs.net/doc/636715796.html,ng.Object派生出来的,是各种控件比如 TextView、EditView的基类,当然包括我们的窗口Activity类,这些在SDK文档中都说的比较清楚。

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.导论 (1) 1.1 Android简介 (1) 1.1.1 Android的发展 (1) 1.1.2 Android系统的特点 (2) 1.1.3 Android的系统架构 (2) 1.2 项目简介 (3) 1.3 项目背景与意义 (3) 1.3.1 开发背景 (3) 1.3.2 开发意义 (3) 1.4 国内外现状分析 (4) 1.4.1 国内外手机系统现状 (4) 1.4.2 国内外手机应用现状 (5) 1.4.3 发展趋势 (5) 2. 系统的开发方法及相关技术 (7) 2.1 软件工程的定义 (7) 2.2 软件工程的模型 (7) 2.3 本项目的研究方法 (7) 2.3.1 本项目采用的开发模型 (8) 2.3.2 本项目的开发方法 (8) 2.4 开发工具及环境简介 (9) 2.4.1 开发工具eclipse简介 (9) 2.4.2 开发环境简介 (10) 3. 需求分析 (11) 3.1系统开发目标 (11) 3.2 系统需求分析 (11) 3.2.1 业务需求分析 (11) 3.2.2 用户需求分析 (11) 3.2.3 功能需求分析 (12) 4 概要设计 (13)

4.1 程序流程设计 (13) 4.2模块设计 (13) 4.2.1 模块划分 (13) 4.2.2 游戏主界面模块 (14) 4.2.3 游戏控制模块 (14) 4.2.4 游戏数据模块 (15) 4.3 模块实现原理 (15) 4.3.1游戏界面模块实现 (15) 4.3.2 游戏控制模块实现 (16) 4.3.3 数据存储模块实现 (17) 5.详细设计 (18) 5.1 游戏类图 (18) 5.2 游戏界面具体实现 (18) 5.2.1 蛇身、食物和墙的实现 (18) 5.2.2 处理键盘事件 (19) 5.2.3 TileView类的设计 (19) 5.2.4 SnakeView类的设计 (19) 5.2.5 Snake类的详细设计 (19) 5.2.6 程序主结构 (20) 5.3 游戏运行界面截图 (20) 结论 (22) 参考文献 (23) 致谢 (24)

基于android的贪吃蛇游戏设计与开发论文

基于Android的贪吃蛇游戏的设计与开发1. 程序构思 贪吃蛇游戏是一款非常经典的手机游戏,贪吃蛇游戏的设计比较复杂,它涉及面广、牵涉方面多,如果不好好考虑和设计,将难以成功开发出这个游戏。在这个游戏的设计中,牵涉到图形界面的显示与更新、数据的收集与更新,并且在这个游戏的开发中,还要应用类的继承机制以及一些设计模式。因此,在设计开发过程中,需要处理好各个类之间间的逻辑依赖关系和数据通信关系。 正是因为如此,本次设计的目的在于学习Java程序设计基本技术,学习用android开发Java 程序的相关技术,熟悉游戏“贪吃蛇”的需求,熟悉项目开发的完整过程。学会怎样进行一个项目的需求分析、概要设计、详细设计等软件开发过程,熟练地掌握Java程序设计的基本技术和方法,熟练地掌握android环境的使用方法,培养初步的项目分析能力和程序设计能力。 2.程序设计 游戏设计的处理流程图

2.1 游戏功能 本系统主要完成以下几方面的功能: 游戏控制功能——包括游戏的开始、暂停、退出 界面布局 其他辅助功能(如游戏帮助,游戏积分,游戏过关等) 2.2 总设计模块的划分 游戏总设计模块划分为游戏主要界面模块、游戏控制模块和游戏菜单模块。 2.3 游戏主界面模块 游戏主界面模块主要是指游戏的框图,其包括一下内容: 1、游戏界面的边界,即游戏中的墙; 2、游戏中蛇的构成,以及苹果的构成;

3、游戏中障碍物的构成; 4、游戏中分数显示以及关卡显示。 2.4 游戏控制模块 (1)游戏开始控制: 我们的程序是使用上键开始游戏,启动游戏后会有一个初始菜单界面,我们点击“开始游戏”,弹出一句话“请按上键开始游戏”。游戏开始后蛇向下移动,然后由控制上下左右键来控制蛇的移动。在程序中我们重新建了一个activity来控制游戏的开始,使游戏的开始界面更美观。 (2)游戏暂停控制: 我们是使用center键来控制游戏的暂停的,这是一项人性化的设计,当玩家在游戏过程中突遇紧急情况时可以按center键暂停游戏,等玩家空闲后按center键可以继续游戏。 (3)游戏退出控制: 在游戏的退出上我们的程序使用了多种方式来应对不同的情况,当玩家正在游戏中时,如想退出可以按“1”键,程序会自动跳转到初始菜单界面,在初始菜单界面点击“退出游戏”即可退出游戏。如果玩家在游戏中由于碰到墙或者咬到自己或者碰到障碍物而导致游戏结束的,游戏或自动弹出一个界面,里面有提示是继续游戏还是退出游戏,当点击“取消”时,游戏就会自动跳转到初始菜单,再点击“退出游戏”即可。 2.5类模块设计 src源码目录: Snake.java为主界面类; SnakeView 为贪吃蛇类的视图主要逻辑控制和绘制类; TitleView 为界面的整体视图; MenuActivity为菜单类,可以跳转到Help类和Snake类; Help为游戏帮助类。 3.程序实现 1、游戏界面的实现 1、先声明用来存放绘画图像的X,Y轴的位置的数组: private int[][] mTileGrid;

手机游戏的发展与现状

《计算机学科前沿导论》 课程作业 作业主题:手机游戏 学院:信息科学与技术学院 年级: 2015级 二〇一五年十二月 1、背景。 随着手机的发展,这种科技已经成为现如今人们生活中不可获取的东西,人们除了用它打电话、上网等日常沟通外,还用它在无聊的时候进行一些休闲娱乐游戏,安卓、塞班系统的发展更是扩展开了手机游戏市场,现如今,手机游戏市场种类繁多,看似非常有趣却也存在着风险与问题,值得我们谨慎思考手机游戏的未来。 2、手机游戏的发展。 第一时期:基于手机刚萌发时期的初级游戏 这一时期,手机的发展才是刚刚起步阶段,并没有像安卓应用市场这样的应用来扩展我们手机上的游戏,各个厂商的手机系统不同,各自打造了自己的简单游戏。 如:贪吃蛇、俄罗斯方块、打砖块等。 这些游戏的特点就是简单,大多都是黑白色就可以完成。以贪吃蛇为例:该游戏是基于编码中的数组,将一定范围内的空间设置为0,随机出现一个1,作为玩家操控的贪吃蛇则随着时间向一个方向改变自己的头尾,检测本来就为1的空格的时候,就身体长度增大一截。

第二时期:基于Java的手机游戏。 此时,虽然手机系统还没有统一,不过大都兼容了Java,可以从网上下载Java安装包,从而进行推广,这一定程度上促进了手机游戏的发展,甚至有的Java游戏已经实现了多机对战。 此时游戏大多已经进入了彩色时代。 代表游戏:象棋。 第三时期:基于Android的手机游戏。 安卓运行系统的上线使得手机游戏出现了爆发模式的增长,不如说安卓手机市场里一半的市值是有游戏构成的,智能手机的发展使得一个安卓手机对大多数游戏可以进行兼容,画面丰富,色彩鲜艳,音乐节奏感强,正是当今手游市场的主导。 甚至——安卓游戏的推出也同时吸引了IT界愈多企业投资,变成了可盈利的产品,主要的公司像腾讯和盛大,代理了许多手机游戏,他们通过销售虚拟的游戏币来获得收入,加入了许多网络对战系统,使得手机游戏市场广泛。 现在的游戏大多都是联网对战,从别的领域获取一些文化元素,进行改编,移植到安卓系统上,但也有些单机手游能深得人们讨论,如去年大火的flaapy bird。 3、手机游戏的分类。 (1)、卡牌游戏。 玩家通过收集各种卡牌进行升级战斗从而获得更高属性的卡牌,见到更多的角色,这种游戏需要的画面巨大,而且考研用户对自己的有用的卡牌和无用的卡牌进行管理,是一个考验智商的游戏。 但是,这种游戏最火爆的原因就是:为了获得有些稀有卡牌,用户需要通过抽奖系统来获得,当今抽奖系统主要分为单抽和11连,要么就要消耗人民币,要么就需要消耗大把大把的时间,像买彩票一样,没有抽中还想再抽一次,使得这种游戏逐渐成为一种信仰。 代表游戏:百万亚瑟王 (2)、音乐节奏游戏。 卡牌游戏考验智商,音乐节奏游戏考验手速,配合以剧情中需要通过的音乐为关卡,玩家需要根据节奏感敲击按键,技术难度大,越玩越能取得进步,获得成就感。 代表游戏:LoveLive (3)、弹幕游戏。 类似于早年的“雷电”,玩家需要操控无限子弹的角色躲过敌方枪林弹雨一样的攻击,称之为”弹幕“,弹幕越密越难打,同样考验玩家的操作能力,以及耐心。 代表游戏:东方project系列 (4)、文字类RPG游戏。 RPG意思是角色扮演,玩家扮演游戏中的主角,通过日常生活的对话做选择题而触发各种不同的剧情,有好的ending,也有bad ending,一切都取决于玩家自身的选择,此游戏制作需要大量的文学功底,技术难度并不大。 此外:该类游戏大多移植by PC版,大多PC版的galgame发售后都可以找到相应的安卓版。 代表游戏:Clannad、Air、悠之空、fate stay/night (5)、仿真游戏 把现实生活中存在的游戏和现象移植到虚拟的手机上的游戏。 其中现实生活中存在的游戏有:五子棋、象棋、跳棋等。 还有的是进行物理仿真。 如:台球、粘粘世界、愤怒的小鸟

android面试题及答案

一选择题(可多选,30分) 1、关于BroadcastReceiver说法正确的是(AB) A、BroadcastReceiver有两种注册方式,静态注册和动态注册 B、Broadcast分正常广播和有序广播,其中有序广播可以被停止掉,不传给下一个接受者 C、Broadcast Receiver 提供了可视化的界面来显示广播信息 D、BroadcastReceiver的onReceive函数里可以使用线程来执行耗时的操作 2、关于Android dvm的进程和Linux的进程,应用程序的进程说法正确的是(D) A、DVM指dalivk的虚拟机.每一个Android应用程序都在它自己的进程中运行,不一定拥有一个独立的Dalvik虚拟机实例.而每一个DVM都是在Linux中的一个进程,所以说可以认为是同一个概念. B、DVM指dalivk的虚拟机.每一个Android应用程序都在它自己的进程中运行,不一定拥有一个独立的Dalvik虚拟机实例.而每一个DVM不一定都是在Linux 中的一个进程,所以说不是一个概念. C、DVM指dalivk的虚拟机.每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例.而每一个DVM不一定都是在Linux 中的一个进程,所以说不是一个概念. D、DVM指dalivk的虚拟机.每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例.而每一个DVM都是在Linux 中的一个进程,所以说可以认为是同一个概念. 3 android 中下列关于Intent说法正确的是(C) A、实现应用程序间的数据共享 B、是一段长的生命周期,没有用户界面的程序,可以保持应用在后台运行,而不会因为切换页面而消失 C、可以实现界面间的切换,可以包含动作和动作数据,连接四大组件的纽带 D、处理一个应用程序整体性的工作 4 android 关于service生命周期的onCreate()和onStart()说法正确的是(AD) A、当第一次启动的时候先后调用onCreate()和onStart()方法 B、当第一次启动的时候只会调用onCreate()方法 C、如果service已经启动,将先后调用onCreate()和onStart()方法 D、如果service已经启动,只会执行onStart()方法,不在执行onCreate()方法 5.在异常处理中,如释放资源、关闭文件、关闭数据库等由( C)来完成。 A.try子句 B.catch子句 C.finally子句 D.throw子句 6.关于Collections说法正确的是(AC) A.Collections 包含有各种有关集合操作的静态多态方法 B.Collections是集合类的一个顶级接口, C.Collections 是一个包装类,此类不能实例化 D.List是Collections的子接口 7.关于java抽象类说法正确时是(AC)

Android贪吃蛇课程设计报告材料

综合实践报告 课程名称计算机系统综合实训 课题名称贪吃蛇游戏开发 专业计算机科学与技术 班级 学号 姓名

指导教师 2015年12月20日 湖南工程学院 课程设计任务书 课程名称计算机系统综合实训 课题贪吃蛇游戏开发 专业班级计算机1202 学生姓名 学号 指导老师 审批 任务书下达日期2015 年12月20 日任务完成日期2016年1月11日

任务书 一、实训的内容 1.贪吃蛇游戏开发 (1)设计内容: 在手机屏幕上设计一个贪吃蛇游戏,屏幕四周被绿色苹果包围,中间有贪吃蛇和随机产生的苹果,贪吃蛇的头是黄色的,身子是红色的。玩家按上、下、左、右键盘控制贪吃蛇在屏幕上向上、下、左、右移动,贪吃蛇只能向左、右方向90度转弯,当吃到一个苹果贪吃蛇就长一节,分数加一分,同时屏幕上又随机产生的一个黄色苹果,一旦碰到墙壁或自己的尾巴就失败。提示游戏得到的分数。 贪吃蛇游戏规则: 游戏初始化:在本游戏中,采用如下的策略进行初始化:将贪吃蛇基本初始化在屏幕的中央,初始移动方向和贪吃蛇节点的排列顺序一致,食物的坐标固定位置。 贪吃蛇的移动:除第一个节点以外,其它每个节点跟随前一个节点移动 贪吃蛇方向控制:贪吃蛇方向控制需要根据玩家的按键改变贪吃蛇的方向变量,在改变时需要注意,不能改变为当前方向的相反方向,例如当前方向是向下时,按向上的方向键是无效的。

(2) 设计要求: 按任务书的设计要求进行撰写。 其中游戏核心数据结构设计要求为:主要是界面控制信息和逻辑控制信息, 界面控制信息主要包含两个部分:贪吃蛇的位置信息,存储贪吃蛇的具体位置,另外一个就是闪烁的食物的位置。而逻辑控制信息主要包含三个部分:贪吃蛇的移动方向、闪烁控制以及程序暂停控制。 碰撞和处理,包括贪吃蛇和食物的碰撞和处理,贪吃蛇和四周的碰撞和处理,贪吃蛇的头和身的碰撞和处理, 二、综合实训时间安排 具体时间及要求安排如下: 综合实训时间为17~18周,包括上机与查资料。 17周安排(12月28日开始) 星期一(12月28日) 上午 星期二(12月29日) 下午 星期三(12月30日) 上午 星期四(12月31日) 上午 第18周 星期一至星期三上午风华科技老师来校讲课

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个字节

安卓贪吃蛇课程设计报告材料

滨江学院 智能手机程序设计 题目安卓智能手机贪吃蛇游戏设计 院系滨江学院计算机系 专业信息工程 学生周盈伟 学号 指导教师高超 二0 一四年六月一日

目录 第一章绪论 (3) 1.1开发背景 (3) 1.1.1安卓系统简介 (3) 1.1.2游戏简介 (3) 1.2开发目的及意义 (4) 1.3开发环境及工具 (4) 第二章需求分析 (5) 2.1游戏界面分析 (5) 2.2游戏角色分析 (5) 2.3游戏控制分析 (5) 2.4 可行性分析 (6) 第三章总体设计 (7) 3.1系统功能模块层次图 (7) 3.2运行机制 (8) 3.3贪吃蛇功能流程图 (10) 第四章详细设计与实现 (12) 4.1 TiltView类 (12) 4.2 SnakeView类 (14) 4.3 界面设计 (16) 第五章测试 (20) 5.1游戏功能测试 (20) 5.2游戏控制测试 (20) 5.3游戏界面测试 (20) 5.4测试结果 (20) 第六章结论 (21)

第一章绪论 1.1开发背景 1.1.1安卓系统简介 安卓系统作为新兴的手机操作系统,在问世不久,变风靡全球,占领手机操作系统里很大的市场份额,与苹果,诺基亚三分天下,Android是基于Linux开放性核的操作系统,是Google公司在2007年11月5日公布的手机操作系统。早期由原名为"Android"的公司开发,谷歌在2005年收购"Android.Inc"后,继续对Android系统开发运营,它采用了软件堆层(software stack,又名软件叠层)的架构,主要分为三部分。底层Linux核只提供基本功能,其他的应用软件则由各公司自行开发,部分程序以Java编写。 1.1.2游戏简介 1976年,Gremlin平台推出了一款经典街机游戏Blockade。游戏中,两名玩家分别控制一个角色在屏幕上移动,所经之处砌起围栏。角色只能向左、右方向90度转弯,游戏目标保证让对方先撞上屏幕或围栏。听起来有点复杂?其实就是下面这个样子: 基本上就是两条每走一步都会长大的贪吃蛇比谁后完蛋,玩家要做的就是避免撞上障碍物和越来越长的身体。更多照片、视频可以看Games D Base 的介绍。 Blockade 很受欢迎,类似的游戏先后出现在Atari 2600、TRS-80、苹果 2 等早期游戏机、计算机上。但真正让这种游戏形式红遍全球的还是21年后随诺基亚手机走向世界的贪吃蛇游戏——Snake。 贪吃蛇游戏是一款老牌的手机游戏,同时也是一款比较需要耐心地游戏。贪吃蛇游戏就是一条小蛇,不停地在屏幕上游走,吃各个方向出现的食物,越吃越长。只要蛇头碰到屏幕四周,或者碰到自己的身子,小蛇就立即毙命。玩“贪吃

Android Java面试笔试题

Android Java笔试题(带大部分答案) 请将试题答在答题卡上,不要在试卷中做任何标记 一、基础题: 1. 1. 请写出输出结果 public class Test1 { public static void changeStr(String str){ str=”welcome”; } public static void main(String[] args) { String str=”1234″; changeStr(str); System.out.println(str); } } ___”1234″____________________________________________________ 1. 2. 请写出输出结果 public class Test2 { static boolean foo(char c) { System.out.print(c); return true; } public static void main(String[] argv) { int i = 0; for (foo(…A?); foo(…B?) && (i < 2); foo(…C?)) { i++; foo(…D?); } } } _____ABDCBDCB___________________________________________________ 1.class A {

protected int method1(int a, int b) { return 0; } } 以下A扩展类中的方法哪两个是正确的:(选择两个) A.public int method1(int a, int b) { return 0;} B.private int method1(int a, int b) { return 0;} C.private int method1(int a, long b) { return 0;} D.public short method1(int a, int b) { return 0;} E.static protected int method1(int a, int b) { return 0;} ____AD___________________________________________________ 1.public class Outer{ public void someOuterMethod() { // Line 3 } public class Inner{} public static void main(String[] args) { Outer o = new Outer(); // Line 8 } } 下列哪一个对Inner类实例化的描述是正确的?D A.new Inner(); // At line 3 B.new Inner(); // At line 8 C.new o.Inner(); // At line 8 D.new Outer.Inner(); // At line 8//new Outer().new Inner() 1. 5. 下面这个程序正确吗? 如果不正确请说出哪里错误。 public class Something { public static void main(String[] args) { Other o = new Other(); new Something().addOne(o); } public void addOne(final Other o) { o.i++;

Bug Invasion《虫子入侵》评测:重口味塔防游戏

Bug Invasion《虫子入侵》评测:重口味塔防游戏刚看到这款游戏的图标时我就想到一个《小鸭舰队》的故事:1992年一艘从中国出发的货船在太平洋上遭遇强烈风暴,船上装满近3万只黄色塑料玩具鸭的集装箱坠入大海,其中一批玩具鸭经过白令海峡,绕过北极,漂过了“泰坦尼克号”的沉没地,最终进入北大西洋,并于2003年夏天登陆美国东海岸及加拿大海岸。它们中的有些鸭子还可能继续在海上漂流100年。在这些玩具鸭子开始其传奇旅程后,人们给它们起了一个很有气势的名字“小鸭舰队”。小鸭子“不屈不挠”的精神也被带到了这款游戏的灭虫大业之中。 作为一款塔防游戏首先当然要先让攻方和守方登场。攻方是庞大的虫群,地上爬的有蟑螂蜘蛛,天上飞的有苍蝇蜜蜂,这些虫子有赤膊上阵的也有带着家伙出来的,例如开坦克出来的。守方则是以玩具鸭为首的无厘头组合:纸杯、玩具鸭、玩具机器人,烤面包机和电动打蛋器,这五款防御塔随着游戏深入会有无厘头的升级版本,例如玩具鸭会升级成加农炮然后再升级为产蛋器,作为一个逻辑上略有洁癖的偏执狂来说,抓耳挠腮想了半天这三者有什么联系,玩具鸭升级后不应该是个双头玩具鸭吗? 攻防一共有两个属性:移动速度和生命值,带家伙的速度慢但耐打。守方也是两个属性:连发速度和杀伤力,玩具鸭只能攻击地面的虫子,玩具机器人只能攻击天上的虫子,纸杯攻击没有装备的虫子,玩具鸭攻击有装备的虫子,烤面包机只能放缓虫子的移动速度,这些设定同样适应于升级以后的防御塔。

游戏的玩法操作很简单,虫子会沿着餐桌上的路前进,路旁会有纽扣,防御塔只能建在纽扣上,合理安排防御塔位置,确保方糖不会被虫子全部消灭。游戏界面的右上角有三个数据,第一个是提醒一共有多少波虫子,第二个是提醒你方糖还剩下多少块,第三个是你这一关用来建防御塔的起始资金,在消灭了虫子之后会奖励相应的金钱来建后续的防御塔,所以在释放第一波虫子之前的布局就显得尤其重要。游戏比较有趣的是每一关到最后都会出现一只BOSS 虫,如果让BOSS 虫进了方糖盒,那就会一次性消耗十颗方糖,方糖数为零就得一切重头来过了。

android笔试题及答案

单选题 中可以用来处理js中警示,确认等对话框的是(C) 2.假设assets目录下有文件结构html/,用loadUrl()方法将该网页加载至 webView 时,需传入的参数是(B) A. B. C. D. 3.下列不属于补间动画相关类的是(B) 中网络互连中需要获取状态码,根据状态码来判断请求是否已经完成,下列状 态码表示请求完成的是(D) 5.关于ImageSwitcher 说法错误的是:( B ) 里可以通过Alpha设定转换时候的透明位 B.在使用一个ImageSwitcher之前,不一定要调用setFactory方法 是设置资源被读入到这个ImageSwitcher的时候动画效果 是资源文件从这个ImageSwitcher里消失的时候要实现的动画效果 6.建立蓝牙连接时通过_D_方法来获取BluetoothAdapter对象 D. () 7.关于Handler的说法不正确的是( A ) A.它实现不同进程间通信的一种机制 B.它避免了在新线程中刷新UI的操作 C.它采用队列的方式来存储Message D.它实现不同线程间通信的一种机制 8.Vector和ArrayList的主要区别是(B): A. ArrayList内部基于链表,而Vector是基于数组的

B. Vector的大部分方法做了同步,而ArrayList没有同步 C. Vector是可串行化的,而ArrayList不是 D. Vector实现了RandomAccess,而ArrayList没有 9.下列属于SAX解析xml文件的优点的是(B ) A.将整个文档输在内存中,便于操作,支持删除,修改,重新排列等多种功能 B.不用事先调入整个文档,占用资源少 C.整个文档调入内存,浪费时间和空间 D.不是长久驻留在内存,数据不是持久的,事件过后,若没有保存数据,数据就会消失 a1="abc"; String a2="abc"; String a3="abcd"; 总共创建( A )个String对象。 多选题 1.在添加第一个appwidget窗口小部件时,会执行的方法是(ABD) 2.下列属于SOAP优点的是(ABCD) A,SOAP 与编程语言无关。SOAP 可以使用任何语言来完成 B,SOAP 是完全和厂商无关。 C,SOAP 与平台无关D,SOAP 是简单的,可扩展的 3.下列属于SAX解析XML需要用到的类和接口是(BCD) A.DocumentBuilder 4.在使用蓝牙必须获取的权限是(AD) 5.Chronometer类的重要方法(ABC) 简答题 1.oom是什么如何避免 当程序需要申请一段“大”内存,但是虚拟机没有办法及时的给到,即使做了GC操作以后这就会抛出OutOfMemoryException 也就是OOM 避免:

基于安卓平台贪吃蛇游戏的设计开题报告

基于安卓平台贪吃蛇游戏的设计 一、选题依据 1.设计(论文)题目:基于安卓平台贪吃蛇游戏的设计 2.研究领域:通信运用 3.设计(论文)工作的理论意义和应用价值 目前随着移动设备越来越普及以及移动设备的硬件的提升,移动设备的功能越来越完善,android系统平台也日渐火热起来。目前为止国内已经有很多Android系统的用户。截止2013年Android系统的国内市场占有率已经过75%,在西欧以及北美智能手机市场占有率也在80%左右。可见Android系统正处于发展的顶峰。手机游戏作为Android系统平台的一个重要组成部分,正在被越来越多的人所重视。全球在使用的移动电话已经超过59亿部,而且这个数字每天都在不断增加。手机游戏潜在的市场比其他任何平台都要大。 二、设计研究的内容 1.重点解决的问题 (1)基于Android游戏动画的实现 (2)游戏地图的数据结构的表示 (3)游戏动画中的碰撞检测问题 2.拟开展研究的几个主要方面: 1 理论上和实践上的意义 关于Android游戏动画,基于安卓平台实现一个相对高效并且简单易用的游戏引擎,或者从其他手机平台移植相对较为成熟的游戏动画引擎。解决此问题可以为贪吃蛇游戏以及其他类似的动画游戏提供流畅的动画效果,实现游戏引擎同时也可以提高游戏动画的代码复用率,提高游戏编程的效率。 深入理解Android 系统的Dalvik虚拟机工作机制。由于Android平台使用Java语言进行开发,谷歌的工程师改写了Java ME的虚拟机。解决虚拟机垃圾回收时所造成的占用系统资源较大的问题,可以提高游戏的流畅性,提升用户的游戏体验。 解决游戏人工智能的解决方案,贪吃蛇游戏中,地图寻路问题并非如此简单,必须考虑多方面的因素。 触屏以及重力感应器等操控方式的处理问题。在Android平台中相对传统的手机系统,Android系统提供多种传感器的调用接口。探索使用手机导航球,重力感应,触屏操作等新型操控模式提高用户操作体验。 贪吃蛇游戏是一款非常经典的手机游戏,贪吃蛇游戏的设计比较复杂,它涉及面广、牵涉方面多,如果不好好考虑和设计,将难以成功开发出这个游戏。在这个游戏的设计中,牵涉到图形界面的显示与更新、数据的收集与更新,并且在这个游戏的开发中,还要应用类的继承机制以及一些设计模式。因此,在设计开发过程中,需要处理好各个类之间间的逻辑依赖关系和数据通信关系。 2 可行性论述 每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例。Dalvik被设计成一个设备可以同时高效地运行多个虚拟系统。 Dalvik虚拟机执行(.dex)的Dalvik可执行文件,该格式文件针对小内存使用做了优化。同时虚拟机是基于寄存器的,所有的类都经由JA V A编译器编译,然后通过SDK中的“dx”工具转化成“.dex”格式由虚拟机执行。 Dalvik虚拟机依赖于linux内核的一些功能,比如线程机制和底层内存管理机

相关文档
最新文档