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、SqlServer

D、Db23

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

A)是用来接收广播Intent的

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

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

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

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

A)需要使用方法创建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)5D)6

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

A)TextView B,EditTextC)ImageView D)AutoCompleteTextView

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

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

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

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

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

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

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

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

A)setDataSource B)prepare C)beginD)pause

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

A)使用onOptionsItemSelected(MenuItemitem)响应

B)使用onMenuItemSelected(intfeatureId,MenuItemitem)响应

C)使用onMenuItemClick(MenuItemitem)响应

D)使用onCreateOptionsMenu(Menumenu)响应

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中有方法可以清除消息

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

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

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

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

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

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

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

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

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

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

拖动条组件是( C )

A)RatingBarB)ProgressBar C)SeekBar D)ScrollBar

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

A)openFileOutput B)read C)write D)openFileInput

关于隐式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,startServiceC,onStartD,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 ) () () () D. onUpgrade()

ScrollView中,可以直接包含多少个组件( D)

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

("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 )

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)

() ()

()()

下列属于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 )

() () () D. onUpgrade()

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

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

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

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

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

关于线程说法不正确的是( 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对象是用来传递信息的

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

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

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

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

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

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

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

A. @android:style/ @android:style/

C. @style/ @style/

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

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类型

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

A、android:name=""/>

B、android:name=”

C、android:name=""/>

D、android:name=”下面退出Activity错误的方法是(C )

A、finish()

B、抛异常强制退出

C、()

D、onStop()

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

A.电话簿

B.日历

C.SQLite

D.SMS程序

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

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

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

下横线(_),大小写字母(a-z , A-Z);

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

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

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

目录,在它里面的文件不会在里生成任何资源ID

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

android:gravity="center"

android:layout_gravity="center"

android:layout_centerInParent="true"

android:scaleType="center"

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

Builder builder = new Builder(getApplicationContext()); 1 ("提示").setMessage("请选择"); 2

("重置", new OnClickListener() 3

{ 4 public void onClick(DialogInterface dialog, int which) 5

{ 6

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

} 8 }); 9

("取消", null); 10

("确定", new OnClickListener() 11

{ 12 public void onClick(DialogInterface dialog, int which) 13

{ 14

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

.show(); 16

} 17 }); 18

().show(); 19

A.第1行

B.第10行

C.第15行

D.第19行

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

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

这些方法会被系统框架所调用

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

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

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

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

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

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

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): Unable to instantiate activity ComponentInfo{ in loader 这段话是程序报错在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();

;

Canvas canvas = ();

(0, 0, 360, 480, paint);

(canvas);

(new Rect(0, 0, 250, 250));

(canvas);

(new Rect(0, 0, 200, 200));

(canvas);

(new Rect(0, 0, 150, 150));

(canvas);

(new Rect(0, 0, 100, 100));

(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、AndroidSDK

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

在中,定义一个组件时,有两个属性必须写(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() 外

还有( onrestart 。

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

请使用命令行的方式创建一个名字为myAvd, SD卡版本为,sd卡是在d盘的根目录下,名字为,并指定屏幕大小HVGA.(dnroid create acd -n myAvd -t 8 -s HVDA - C d:\)

属于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个:

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

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

答:活动状态:当前的Activity,位于Activity栈顶,用户可见,并且可以获得焦点暂停状态:失去焦点的Activity,依然可见,即使在内存低的情况下,也不会被系统杀死

停止状态:该Activity被其他Activity所覆盖,不可见,但是仍然保存所有的状态和信息。

当内存低的情况下,它将要被系统杀死

销毁状态:该Activity结束,或Activity所在的Dalvik进程结束

7.使用资源包括哪几种方法

答:在代码里使用资源类;

在代码里调用资源类并实例化;

从其他资源类里引用

主要包含哪些功能

答:说明application的java数据包,数据包名是application的唯一标识

描述application的component

说明application的component运行在那个process下

声明application的权限,用以访问受保护的API,以及与其他application进行交互

声明application的其他必备权限,用以与component进行交互

列举application运行时所需要的配置信息,这些声明信息只有在程序开发和测试时存在,在发布前被删除

声明application所需要的Android API的最低级版本

列举application所需要链接的库

9.应用程序的界面布局主要有哪些

答:线性布局(LinearLayout)、

表格布局(TableLayout)、

相对布局(RelativeLayout)、

帧布局(FrameLayout)

应用程序的菜单有哪几种

答:Android应用程序的菜单有3种:

选择菜单(Option Menu)、

上下文菜单(Context Menu)、

子菜单(Sub Menu)

11.在界面上创建一个Spinner(含数据选项)的步骤。

答:1、在布局文件中添加标记,并为其指定android:entries属性

2、编写用于指定列表项的数组资源文件,并将其保存在res/values目录中,在该文

中添加一个字符串组

12.现行布局中属性orientation的作用是什么

答:用于设置布局管理器内组件的排列方式,其可选的值为horizontal和vertical,默认值为vertical

中实现事件处理的步骤

答:(1)将事件监听器注册到事件源

(2)触发事件源上的事件

(3)生成时间对象

(4)触发事件监听器,事件被作为参数传入事件处理器

(5)调用事件处理器做出响应

14.简述Android平台提供了那些数据存储方法。

答:Preferences、

File、

SQLite、

ContentProvider,

网络

15.简述Android模拟器中应用程序使用SD卡的步骤。

答:(1)调用Environment的getExternalStorageState()方法判断手机上是否插入了SD卡,并且应用程序具有读写SD卡的权限

(2)调用Environment的getExternalDirectory()方法来获取外部存储器,也就是SD卡的目录

(3)使用FileOutputStream、FileInputStream、FileReader和FileWriter来读写SD卡16.简述创建或打开一个SQLite数据库的方法有哪些

答:openDataBase、

openOrCreateDataBase

17.使用ContentProvider来实现数据共享,都涉及到哪些辅助类。

答:onCreate()、

insert()、

delete()、

update()、

query()、

getType()

18.开发ContentProvider的步骤

答:(1)开发一个ContentProvider子类,并实现增、删、改、查等方法

(2)在里面注册该ContentProvider

()和bindService()启动服务的区别:

服务不能自己运行,需要通过调用startService()或bindService()方法启动服务。这两个方法都可以启动Service,但是它们的使用场合有所不同。

1.使用startService()方法启用服务,调用者与服务之间没有关连,即使调用者退出了,服务仍然运行。

使用bindService()方法启用服务,调用者与服务绑定在了一起,调用者一旦退出,服务也就终止。

2.采用startService()方法启动服务,在服务未被创建时,系统会先调用服务的onCreate()方法,接着调用onStart()方法。如果调用startService()方法前服务已经被创建,多次调用startService()方法并不会导致多次创建服务,但会导致多次调用onStart()方法。采用startService()方法启动的服务,只能调用()方法结束服务,服务结束时会调用onDestroy()方法。

()方法启动服务,在服务未被创建时,系统会先调用服务的onCreate()方法,接着调用onBind()方法。这个时候调用者和服务绑定在一起,调用者退出了,系统就会先调用服务的onUnbind()方法,接着调用onDestroy()方法。如果调用bindService()方法前服务已经被绑定,多次调用bindService()方法并不会导致多次创建服务及绑定(也就是说onCreate()和onBind()

方法并不会被多次调用)。如果调用者希望与正在绑定的服务解除绑定,可以调用unbindService()方法,调用该方法也会导致系统调用服务的onUnbind()-->onDestroy()方法。

20. 请解释下在单线程模型中Message、Handler、MessageQueue、Looper之间的关系。Handler简介:

一个Handler允许你发送和处理Message和Runable对象,这些对象和一个线程的MessageQueue相关联。每一个线程实例和一个单独的线程以及该线程的MessageQueue相关联。当你创建一个新的Handler时,它就和创建它的线程绑定在一起了。这里,线程我们也可以理解为线程的MessageQueue。从这一点上来看,Handler把Message和Runable对象传递给MessageQueue,而且在这些对象离开MessageQueue时,Handler负责执行他们。

Handler有两个主要的用途:(1)确定在将来的某个时间点执行一个或者一些Message 和Runnable对象。(2)在其他线程(不是Handler绑定线程)中排入一些要执行的动作

21. handler机制的原理

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

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

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

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

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

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

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安装包需要在线获取)。 在更新的过程中若遇到如下的提示窗口:

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应用程序开发个人总结

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

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

android笔试题及答案

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

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

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

Android ----snake源码分析 代码结构分析: Snake :主游戏窗口 SnakeView:游戏视图类,是实现游戏的主体类 TileView :一个处理图片或其它 Coordinate :这是一个包括两个参数,用于记录X轴和Y轴简单类,其中包括一个比较函数. RefshHandler :用于更新视图 Snake 这个类是游戏的主游戏窗口,是框架容器。 1.游戏的开始:oncreate此外的亮点是:setContentView(https://www.360docs.net/doc/3f18492242.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/3f18492242.html,/admin/blogs/379826 在玩游戏过程中,如果有来电或是其它事件中断,这时应该把当前状态保存。以便返回时,还可以继续玩游戏。这就使用onSaveInstanceState实现保存当前状态。 TileView 注:此部分解析来自: Android示例程序Snake贪食蛇代码分析(三) TileView,从名称上不难看出这是一个方砖类,就是生成一个方块。 TileView使用了Android平台的显示基类View,View类是直接从https://www.360docs.net/doc/3f18492242.html,ng.Object派生出来的,是各种控件比如 TextView、EditView的基类,当然包括我们的窗口Activity类,这些在SDK文档中都说的比较清楚。

安卓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编程基础笔试题及答案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是基于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的贪吃蛇游戏设计与开发论文

基于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;

搭建安卓开发环境-详细教程

搭建安卓开发环境-详细教程 注:本教程是讲解在Windows XP下搭建安卓开发环境的,不是XP系统的朋友请绕行! 在开始搭建之前,请大家先到本人的网盘中下载所需的6个文件。 下载网址为:https://www.360docs.net/doc/3f18492242.html,/c0balfh535(超链接,按住Ctrl键,单击蓝色文字,即可直接跳转) 安装目录: 步骤1→安装JDK---------------------------------对应的安装文件:jdk-6u22-windows-i586.exe 步骤2→安装Android SDK--------------------对应的安装文件:android-sdk_r17-windows.zip 步骤3→安装T omcat----------------------------对应的安装文件:apache-tomcat-7.0.26-windows-x86.zip 步骤4→安装Ant---------------------------------对应的安装文件:apache-ant-1.8.3-bin.zip 步骤5→安装Eclipse-----------------------------对应的安装文件:eclipse.part1.rar和eclipse.part2.rar 步骤6→安装Eclipse的ADT插件----------对应的安装文件:ADT-17.0.0.zip 步骤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

手机游戏的发展与现状

《计算机学科前沿导论》 课程作业 作业主题:手机游戏 学院:信息科学与技术学院 年级: 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周 星期一至星期三上午风华科技老师来校讲课

相关文档
最新文档