Android程序设计练习卷答案

Android程序设计练习卷答案
Android程序设计练习卷答案

1.在android程序中,()用于输出什么级别的日志信息(A)

A、调试

B、信息

C、警告

D、错误

2.以下情况不会创建Context对象的是(C)

A.创建Application 对象时

B.创建Service对象时

C.创建ContentProvider对象时

D.创建Activity对象时

3.下列不属于Android中广播中的类别的是(D)

Broadcas Broadcast Broadcast broadcast

4.以下哪个不是Intent的Activity启动方式(A)

5.安卓文件的子节点不包括(C)

6.下面那个不是Fragment的生命周期方法(D)

A. onStart

B. onAttach

C. onDestoryView

D. onRestart

7.下面那种不是安卓原生支持的Menu(A)

Menu Menu Menu

8.下面不属于android的动画分类的有(D)

A、Tween

B、Frame

C、Property

D、Animation

9.下列哪个不是安卓service自带的方法(A)

A.OnResume

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

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

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

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

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

11.下列关于Soundpool和MediaPlayer的说法,错误的是(A)

支持多个音乐同时播放

资源占用率高

延迟时间较长

MediaPlayer()后要调用prepare()方法才能播放

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

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

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

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

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

13.下面异常不属于Runtime Exception 的是(D)

A、ArithmeticException

B、IllegalArgumentException

C、NullPointerException

D、IOException

14.以下方法那个不能实现不显示android标题栏(B)

A.在Activity的Oncreate方法中写,;

B.设置布局Layout上移一定单位dp

C.在manifest设置Activity的节点 android:theme="@android:style/"

D.在style中定义 true 后在manifest中引用

15.下列对android NDK的理解正确的是(D)

A、 NDK是一系列工具的集合

B、 NDK 提供了一份稳定、功能有限的 API 头文件声明。

C、使“Java+C”的开发方式终于转正,成为官方支持的开发方式

D、 ABC都是

16.以下关于安卓的国际化的说法正确的是(B)

A.安卓国际化就是将app上架到各国的安卓应用商店

B.安卓国际化就是将安卓app相关显示数据设置不同语言版本

C.安卓国际化就是将安卓操作系统进行定制

D.安卓国际化就是将安卓app适配各国际品牌手机

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

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

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

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

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

18.下面关于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中的一个进程,所以说可以认为是同一个概念.

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

A、onCreateOptionsMenu()

B、onCreateMenu()

C、onOptionsItemSelected()

D、A和C

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

A、onPause()

B、onCreate()

C、 onResume()

D、onStart()

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

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

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

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

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

22.下面的对自定style的方式正确的是(A)

A、

B、

C、

fill_parent

D、

23. android 关于service生命周期的onCreate()和onStart()说法正确的是(D)

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

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

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

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

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

A、finish()

B、抛异常强制退出

C、()

D、onStop()

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

A、onDestroy()

B、onClear()

C、onFinish()

D、onStop()

26.下列关于Android的Asset目录下的文件说法不正确的是(D)

A.不能通过R文件直接访问Asset目录资源

目录可以新建文件夹

目录一般存放一些二进制文件

D.通过AssetManager提供的方法可以修改里面的文件

27.以下对Activity的生命周期方法描述错误的是(A)

A.onResume阶段,用户不能与Activity交互

B.Onstop阶段,原Activity 变得不可见,被下一个activity覆盖了

C.onDestory阶段,这是activity被干掉前最后一个被调用方法

D.onPause阶段,到这一步是可见但不可交互的

B、

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

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

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

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

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

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

A、getWriteDatabase()

B、getReadableDatabase()

C、getDatabase()

D、getAbleDatabase()

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

A、

android:name=""/>

B、

android:name=""/>

C、

android:name=""/>

D、

android:name=""/>

二.简答题

1.简述apk安装卸载的原理。

APK安装可以通过以下四种方式:

1. 系统应用安装,开机时完成系统应用的检查,没安装就安装,安装就跳过,无安装界面。

2. 网络下载应用安装,通过market应用完成,无安装界面。

3. ADB工具安装,无安装界面

4. 通过SD卡来安装apk,有安装界面,由应用处理安装及卸载过程的界面。

应用安装涉及到如下几个目录:

system/app 系统自带的应用程序,无法删除

data/app 用户程序安装的目录,有删除权限

data/data 存放应用程序的数据

Data/dalvik-cache 将apk中的dex文件安装到dalvik-cache目录下

(dex文件是dalvik虚拟机的可执行文件,其大小约为原始apk文件大小的四分之一)

安装过程:复制APK安装包到data/app目录下,解压并扫描安装包,把dex文件(Dalvik字节码)保存到dalvik-cache目录,并data/data目录下创建对应的应用数据目录。

卸载过程:删除安装过程中在上述三个目录下创建的文件及目录。

2. 简述Android应用程序结构是哪些

Android应用程序结构是:

Linux Kernel(Linux内核)、Libraries(系统运行库或者是c/c++核心库)、Application

Framework(开发框架包)、Applications (核心应用程序)

3.安卓如何做屏幕适配

1)android有H、L、M、X、XX四个不同的文件夹存放不同分辨率的图片,系统会自动加载

2) 偏移量d的设置可以在values-hpdi,values-mdpi,values-ldpi三种文件夹中的文件进行设置

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

在中定义Activity的地方一句话android:theme="@android:style/"或android:theme="@android:style/"就变成半透明的

5.在多线程编程这块,我们经常要使用Handler,Thread和Runnable这三个类,请简述他们之间的关系。

Android的CPU分配的最小单元是线程,Handler一般是在某个线程里创建的,因而Handler和Thread就是相互绑定的,一一对应。而Runnable是一个接口,Thread是Runnable的子类。所以说,他俩都算一个进程。HandlerThread顾名思义就是可以处理消息循环的线程,他是一个拥有Looper的线程,可以处理消息循环。与其说Handler和一个线程绑定,不如说Handler是和Looper一一对应的。最后需要说明的是,在UI线程(主线程)中:

mHandler=new Handler();

(new Runnable(){

void run(){

.}

});

这个线程其实是在UI线程之内运行的,并没有新建线程。

常见的新建线程的方法是:

Thread thread = new Thread();

();

HandlerThread thread = newHandlerThread("string");

();

的全称是什么如何工作能处理哪些类型的数据

AIDL的英文全称是Android Interface Define Language

当A进程要去调用B进程中的service时,并实现通信,我们通常都是通过AIDL来操作的

A工程:

首先我们在包中创建一个文件,在里面我们自定义一个接口,含有方法get。ADT插件会在gen目录下自动生成一个文件,该类中含有一个名为的内部类,该内部类中含有aidl文件接口的get方法。说明一:aidl文件的位置不固定,可以任意

然后定义自己的MyService类,在MyService类中自定义一个内部类去继承这个内部类,实现get 方法。在onBind方法中返回这个内部类的对象,系统会自动将这个对象封装成IBinder对象,传递给他的调用者。

其次需要在文件中配置MyService类,代码如下:

为什么要指定调用AIDL服务的ID,就是要告诉外界MyService这个类能够被别的进程访问,只要别的进程知道这个ID,正是有了这个ID,B工程才能找到A工程实现通信。

说明:AIDL并不需要权限

B工程:

首先我们要将A工程中生成的文件拷贝到B工程中,在bindService方法中绑定aidl服务绑定AIDL服务就是将RemoteService的ID作为intent的action参数。

说明:如果我们单独将文件放在一个包里,那个在我们将gen目录下的该包拷贝到B工程中。如果我们将文件和我们的其他类存放在一起,那么我们在B工程中就要建立相应的包,以保证文件的报名正确,我们不能修改文件

bindService(newInten(""),serviceConnection, ;

ServiceConnection的onServiceConnected(ComponentName name, IBinderservice)方法中的service参数就是A工程中MyService类中继承了类的内部类的对象。

三.程序分析题

1.现在已经在Activity的布局文件中创建了id为Progressbar1的进度条,和id为button1的按钮,请写出实现以下功能的代码:

1)在Activity页面显示这个按钮和进度条;

2)点击按钮后,使用AsyncTask更新进度条的进度。

import

import

import

import

import

import

import

import

public class MyActivity extends Activity {

private ProgressBar mProgressBar = null;

private Button myButton = null;

/** Called when the activity is first created. */

@Override

public void onCreate(Bundle savedInstanceState) {

(savedInstanceState);

setContentView

mProgressBar = (ProgressBar)findViewById

myButton = (Button)findViewById

(new BtnClickListener());

}

private class BtnClickListener implements OnClickListener{ public void onClick(View arg0) {

xecute();

}

}

private class myAsync extends AsyncTask {

int duration = 0;

int current = 0;

@Override

protected Void doInBackground(Void... params) {

do {

("handleMessage","id:"+().getId()+" name:"+().getName());

current+=10;

try {

publishProgress(current); . values) {

(values);

(values[0]);

("updateThread","id:"+().getId()+" name:"+().getName());继承SQLiteOpenHelper实现:

1).创建一个版本为1的“”的数据库,

2).同时创建一个“diary”表(包含一个_id主键并自增长,topic字符型100长度, content 字符型1000长度)

3).在数据库版本变化时请删除diary表,并重新创建出diary表。

publicclass DBHelper extends SQLiteOpenHelper{

public final static String DATABASENAME ="";

public final static int DATABASEVERSION =1;

//创建数据库

public DBHelper(Context context,Stringname,CursorFactory factory,int version)

{

super(context, name, factory,version);

}

//创建表等机构性文件

public void onCreate(SQLiteDatabase db)

{

String sql ="create tablediary"+

"("+

"_idinteger primary key autoincrement,"+

"topicvarchar(100),"+

"contentvarchar(1000)"+

")";

(sql);

}

//若数据库版本有更新,则调用此方法

public void onUpgrade(SQLiteDatabasedb,int oldVersion,int newVersion) {

String sql = "drop table ifexists diary";

(sql);

(db);

}

}

android程序设计

一、填空题 1、下列哪个不是Activity的生命周期方法之一() A. onCreate B. startActivity C. onStart D. onResume 2、下列用于进行文本输入的组件是() A、TextView B、Button C、EditText D、Label 3、下面哪个不是Android的界面布局方式() A、BorderLayout B、LinearLayout C、TableLayout D、RelativeLayout 4、下列不是手机操作系统的是( ) A. Android B. Window Mobile C. Apple IPhone IOS D.windows vista 5、定义LinearLayout垂直方向布局时设置的属性是() A.android:layout_height B.android:gravity C.android:layout D. android:orientation vertical 6、Android 项目工程下面的assets 目录的作用是什么( ) A、放置应用到的图片资源。Res/drawable B、主要放置一些文件资源,这些文件会被原封不动打包到apk 里面 C、放置字符串,颜色,数组等常量数据res/values D、放置一些与UI相应的布局文件,都是xml 文件res/layout 11、在XML布局 7、跳转到另一个Activity的方法是( ) A.runActivity() B.goActivity() C.startActivity() D.startActivityForIn() 8、用于进行文字显示的组件是( ) A.TextView B.Button C.EditText https://www.360docs.net/doc/bc4890389.html,bel 9、下面退出Activity错误的方法是() A.finish() B.抛异常强制退出

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程序设计练习卷答案

1.在android程序中,()用于输出什么级别的日志信息(A) A、调试 B、信息 C、警告 D、错误 2.以下情况不会创建Context对象的是(C) A.创建Application 对象时 B.创建Service对象时 C.创建ContentProvider对象时 D.创建Activity对象时 ] 3.下列不属于Android中广播中的类别的是(D) Broadcas Broadcast Broadcast broadcast 4.以下哪个不是Intent的Activity启动方式(A) 5.安卓文件的子节点不包括(C) & 6.下面那个不是Fragment的生命周期方法(D) A. onStart B. onAttach C. onDestoryView D. onRestart 7.下面那种不是安卓原生支持的Menu(A) Menu Menu Menu ( 8.下面不属于android的动画分类的有(D) A、Tween B、Frame C、Property D、Animation 9.下列哪个不是安卓service自带的方法(A) A.OnResume 10.下列属于SAX解析xml文件的优点的是(B) @ A、将整个文档树在内存中,便于操作,支持删除,修改,重新排列等多种功能 B、不用事先调入整个文档,占用资源少 C、整个文档调入内存,浪费时间和空间 D、不是长久驻留在内存,数据不是持久的,事件过后,若没有保存数据,数据就会消失 11.下列关于Soundpool和MediaPlayer的说法,错误的是(A) 支持多个音乐同时播放 资源占用率高 { 延迟时间较长

《Android程序设计》期末试题B

一、判断题(每小题2分,共10分) 1、Android是J2ME的一个实现。() 2、View是ViewGroup的子类。() 3、一个Intent可以包含多个category。() 4、Android系统下的文件,可以被本系统里的所有应用程序访问。() 5、无论Service是以启动方式还是绑定方式运行,该Service类都要重写onBind 方法。() 二、单项选择题(在每小题的四个备选答案中,有且只有一个正确答案,请将正确答案的序号填在题干的括号内。每小题2分,共20分) 1、下列关于继承的哪项叙述是正确的?() A、在Java中类允许多重继承 B、在Java中一个类只能实现一个接口 C、在Java中一个类不能同时继承一个类和实现一个接口 D、在Java中接口允许继承自另一个接口 2、以下哪种方式不能退出当前活动状态的Activity?() A、调用finish()方法 B、单击(返回)按钮 C、单击(回到桌面)按钮 D、Activity运行时出现异常 3、对于TextView,使用哪个属性来设置显示的文本?() A、android:textSize B、android:text C、android:textColor D、android:string 4、要处理Button的点击事件,需要注册哪个监听器?() A、OnClickListener() B、OnButtonClickListener() C、OnButtonListener() D、OnItemClickListener() 5、浏览网页使用的Intent的Action是什么?() A、ACTION_CALL B、ACTION_EDIT C、ACTION_SEND D、ACTION_VIEW 6、Android 关于启动方式的service生命周期的onCreate()和onStartCommand()方法,说法正确的是()

android程序设计a

一、选择题 1、下列哪个不是Activity的生命周期方法之一() A. onCreate B. startActivity C. onStart D. onResume 2、下列用于进行文本输入的组件是() A.TextView B.Button C.EditText https://www.360docs.net/doc/bc4890389.html,bel 3、如果要让标签文本(TextView)上的文字居中显示,需要设置哪个属性() A.android:orientation B.android:layout_gravity C.android:gravity D.android:layout_weight 4、Activity的onCreate()什么时候调用( ) A.当第一次启动Activity时 B.当onCreate方法被执行之后 C.当界面被隐藏时 D.当界面重新显示时 5、关于应用程序的生命周期,一个Activity从启动到运行状态需要执行 3个方法,请选择一个正确的执行顺序。( ) A. onCreate()->onStart()->onResume() B. onStart()->onCreate()->onResume() C. onCreate()->onResume()->onStart() D. onStart()->onResume()->onCreate() 6、android 关于service生命周期的onCreate()和onStart()说法正确的是 ( ) A.当第一次启动的时候先后调用onCreate()和onStart()方法 B.当第一次启动的时候只会调用onCreate()方法 C.如果service已经启动,将先后调用onCreate()和onStart()方法 D.如果service已经启动,只会执行onStart()方法,同时执行onCreate()方法 7、跳转到另一个Activity的方法是( ) A.runActivity() B.goActivity() C.startActivity() D.startActivityForIn() 8、用于进行文字显示的组件是( ) A.TextView B.Button C.EditText https://www.360docs.net/doc/bc4890389.html,bel

《Android应用程序设计》教学大纲

《Android应用程序设计》课程教学大纲 课程类别:专业核心课 适用对象: 嵌入式技术与应用专业 总学时:60讲授学时:30课内实践学时:30 一、课程的性质、任务与课程的教学目标 (一)课程的性质、任务 1.课程的性质 《Android应用程序设计》课程是<<嵌入式技术与应用专业>>的专业核心课(学习领域)。该课程的先修课程为<<嵌入式C语言程序设计>>、<<嵌入式实时操作系统>>、<>和<>; 其后续课程为<<嵌入式Android项目设计与开发>>、<<嵌入式Android高级应用开发实训>>和<<嵌入式Android高级应用开发实训>>。 2.课程的任务 本课程主要讲授 Google Android的移动互联软件开发平台的基本原理、应用框架和基本应用程序设计,涉及从基础支持平台到系统应用框架、从Java开发包到Android开发环境与模拟器、从线性布局到Android屏幕复杂布局、从Android控件Widgets到Android的图形用

户界面、从Android数据存储到Android多媒,以及手机乐游项目等的综合应用编程。 本课程的核心知识单元主要包括:Android开发环境、Android屏幕布局、Android控件Widgets、 Android的图形用户界面、Android 数据存储、Android多媒体等,讲授Android应用程序框架、Activity 生命周期、典型屏幕控件、图形用户界面设计、文件存储、Preference 、嵌入式数据库SQLite 、Mp3 Player多媒体等应用核心知识和应用技术。 本课程将Java作为编程语言。学习使用Android 集成开发环境及其Eclipse Android编译器,掌握Android应用程序设计和调试方法。通过两个综合Android应用项目的设计与实现,让学生熟练掌握Android基本应用编程知识和编程技巧。 (二)课程的教学目标 1.基本理论要求 了解Android平台的基本结构,熟悉Android应用软件开发环境,基本掌握Android应用编程的集成开发环境、常用软件软件包、屏幕布局方式、典型控件、数据存储技术和应用程序设计。 本课程包含有旨在提高学生Android应用程序设计与实现能力的综合项目实训。 2.基本技能要求 (1)Android开发环境构建和参数配置的能力; (2)Android应用程序调试能力; (3) 掌握Android应用程序基本框架,具备基本应用程序设计与实现能力;

Android程序设计期末试卷答案

《Android程序设计》期末试题B(答案) 一、判断题(每小题2分,共10分)1、(错)2、(错)3、(对)4、(错)5、(对)二、单项选择题(在每小题的四个备选答案中,有且只有一个正确答案,请将正确答案的序号填在题干的括号内。每小题2分,共20分) 题号1 2 3 4 5 6 7 8 9 10 答案D C B A D D D C B B 三、填空题(每空2分,共10分)1、TableLayout 、RelativeLayout 2、START_ STICKY 、START_REDELIVER_INTENT 3、ContentResolver 四、名词解释(每小题5分,共15分)1、答:Intent Filter其实是一个Intent属性限制条件的集合,包含Intent对象的action、data、category等属性限制。每个Intent Filter描述组件的一种能力,即能够接收的一组Intent。2、答:Service是Android系统的后台服务组件,适用于开发无界面、长时间运行的应用功能。3、答:如果应用程序注册了BroadcastReceiver,则可以接收到指定的广播消息并作相应的处理。所以BroadcastReceiver 可以看成是全局的监听器,用于监听系统广播消息或自定义广播消息。 五、简答题(每小题5分,共20分)1、答:获取子Activity的返回值,一般可以分为以下三个步骤:(1)使用startActivityForResult()去启动子Activity。(2)设置子Activity 的返回值。在子Activity调用finish()函数关闭前,调用setResult()方法将所需的数据返回给父Activity。(3)在父Activity中获取返回值。当子Activity关闭时,启动它的父Activity 的onActivityResult()方法将被调用;如果需要在父Activity中处理子Activity的返回值,则重载此方法即可。 2、答:Android系统中运行Service有如下两种方式:(1)启动方式通过Context的startService()方法启动Service,访问者与Service之间没有关联,即使访问者退出了,Service 仍然运行。访问调用stopService()停用Service。(2)绑定方式通过Context的bindService()方法绑定Service,访问者与Service绑定在了一起,访问者一旦退出,Service也就终止。访问者调用unbindService()来解绑定Service。 3、答:要实现自己的BroadcastReceiver,就需要继承android.content.BroadcastReceiver类并重写onReceive()方法。BroadcastReceiver作为应用级组件,必须注册才能处理广播消息。注册有两种方式:(1)静态地在AndroidManifest.xml中用标签声明,并在标签内用标签设置过滤器。(2)动态的在代码中先定义并设置好一个Intent Filter 对象,然后在需要注册的地方调Context. registerReceiver (BroadcastReceiver,IntentFilter)方法。 4、开放性问题,没有标准答案。 六、编程题(第1小题10分,第2小题15分,共25分)1、解://ChangeTextColorActivity.java package xiong.changetextcolor; import android.app.Activity; import android.graphics.Color; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.TextView; public class ChangeTextColorActivity extends Activity { private TextView mText; private Button mButton; private int[] mColors; private int colornum; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setCo ntentView(https://www.360docs.net/doc/bc4890389.html,yout.main); mText = (TextView) findViewById(https://www.360docs.net/doc/bc4890389.html,); mButton = (Button) findVi ewById(R.id.change); /* 声明并建构一整数array来储存欲使用的文字颜色 */ mColors = new int[] { Color.RED, Color.BLUE, Color.GREEN, Color.MAGENTA, Color.YELLO W }; colornum = 0; mText.setTextColor(mColors[colornum]); /* 使用onClick让用户点下按钮来驱动变动文字颜色 */ mButton.setOnClickListener(new View.OnClickListener() { public void onClick(View v) {

Android综合程序设计(2048游戏)

山东轻工业学院实验报告成绩 实验项目名称实验七、 Android综合程序设计(2048游戏) 一、实验目的 通过进行一个较为完整的Android应用程序开发,学习综合运用课程所学的相关Android开发知识的,进行移动软件设计的相关能力。在模拟软件开发的过程中,掌握从问题发现、系统分析、系统规划到代码实现中每一步所要做的工作。掌握实际软件开发的过程和方法。 二、主要仪器设备、试剂或材料 微型计算机;JDK、eclipse、ADT、Android SDK等软件包 三、实验内容 运用Android制作一个简单的2048小游戏。 2048游戏的制作属于电子游戏中的益智类小游戏,它做到了娱乐性、趣味性、教育性相统一。益智类的游戏即是需要去开动大脑去思考从而获得游戏的胜利。简单的益智类游戏可以使玩家在娱乐中不断的开发大脑。这样一来就实现了在娱乐中学习 四、程序设计思路、运行及及结果分析 设计思路: (1)初始化 进入游戏,初始化4*4表格,并随机产生两个数字(2或者4);二维数组this.tables 表格循环存入数据;random1, random2 ,random11, random22四个随机数可以确定两个2的xy位置; 方法newNumber里面,根据位置i,j和级别num可以确定一个新的数字;创建背景cell和cell上面的数字标签cellLabel;并根据num确定是否显示cellLabel;最后给cell关联一个data数据;特别说明这里的number:num不是精灵上面的数字而是精灵的级别,比如number=11 则数字是1024。 (2)游戏结束的判断 每次发生卡片移动,都要检查游戏还能否继续,是否已经结束。使用函数CheckComplete()完成游戏是否失败的检查。 (3)游戏的计分 在卡片的每一次移动的时候判断是否有两个相同数字进行相加,凡是有相见的两个数字其相加所得的和需要存入计分中,其中如果游戏获得了最高分要对最高分进行保存。public class BestScore { private SharedPreferences sp; public BestScore(Context context){ sp = context.getSharedPreferences("bestscore", context.MODE_PRIV ATE); } public int getBestScore(){ int bestscore = sp.getInt("bestscore", 0); return bestscore; } public void setBestScore(int bestScore){ Editor editor = sp.edit(); editor.putInt("bestscore", bestScore);

Android课程设计报告

课程设计 课程名称:嵌入式技术课程设计 设计题目:基于Android系统的小查询工具 学院:信息工程与自动化学院 专业:计算机科学与技术 年级: 2010级 学生姓名: 指导教师: 日期: 2013/7/8 教务处制

课程设计任务书 信息工程与自动化学院计算机科学与技术专业 2010 年级 学生姓名: 课程设计题目:基于Android系统的小查询工具 课程设计主要内容: 通过本课程设计,使学生巩固软件工程的基本概念、原理,熟悉安卓应用开发环境和技术,学会完成一个移动终端应用软件的分析、设计、编码测试和安装,将理论与实际相结合,强化学生的项目开发和团队意识,提高学生分析能力和创新能力 基本理论 1、 Android系统的开发方法及基本原理 2、 JavaEE应用程序设计开发技术 实验方法与基本要求 要求学生掌握Windows环境下Android系统开发的一般方法,AndroidSdk 集成开发环境的构建及JavaEE应用程序的开发。整个设计过程必须由学生自己独立完成,课程设计按二人一组,分组进行全过程的设计。 设计内容 1、Windows环境下构建Android系统的开发环境 2、基于Android模拟手机,设计手机应用程序 3、将程序下载的Android手机上应用 设计指导教师(签字): 教学基层组织负责人(签字): 年月日 目录

一、课程设计的目的及要求 (3) 1.1 课程设计的目的 (3) 1.2 课程设计要求 (3) 二、Android应用程序开发背景 (3) 2.1开发背景 (3) 2.2开发环境 (4) 三、Android应用程序开发环境搭建 (5) 3.1所需软件的下载 (5) 3.2相应软件的安装 (5) 四、“小查询工具”的设计与实现 (10) 1. 总体设计 (10) 1)界面设计 (10) 2)功能设计 (12) 2. 详细设计 (12) 1)模块设计 (12) 2)编码实现 (12) 3. 手机上运行截图 (14) 五、总结与体会 (16) 基于Android系统的小查询工具设计

《 Android应用程序设计课程设计》课程设计报告书(移动16-049-杨芝源)#优选.

广东职业技术学院 课程设计报告书 2017-2018学年第一学期课程名称:《Android应用程序设计课程设计》 设计题目:计算器的设计和实现 系别:信息工程系 班级:移动16 姓名:杨芝源 起止日期: 2018.1.2---2018.1.12 指导教师:黄旺华 1 / 12word.

摘要 Android是当今最重要的手机开发平台之一,他是建立在Java 基础之上的,能够迅速建立手机软件的解决方案。Android的功能十分强大,成为当今软件行业的一股新兴力量。 本实训是在学习java语言程序设计的基础上进行的一次综合实践。通过综合训练,要求学生掌握java语言程序设计的基本技能和Android编程的应用开发手机app,并较系统地掌握JA V A语言程序设计开发方法以及帮助文件的使用等。 简单计算器又是手机上必备的小程序,所以此次创新实践很有意义,使用性很强。关键词: Android 手机app 计算器 2 / 12word.

目录 1、需求分析 (1) 2、概要设计 (2) 2.1 总体设计 (2) 2.2 模块设计 (3) 3、详细设计 (5) 3.1 输入模块 (5) 3.2 显示模块 (5) 3.2 计算模块 (5) 4、实现 (7) 4.1 公共类 (7) 4.2 加减乘除模块1 (7) 4.3 三角函数模块2 (7) 4.4 某某模块3 (7) 5、测试 (8) 5.1 测试方案 (8) 5.2 测试用例 (8) 5.3 测试结果 (8) 6、总结 (9) word.

1、需求分析 随着智能手机的普及,生活工作等方面的应用都迁移到手机中,本课程设计旨在实现一种某某的APP,为人们解决设计一款基于Android系统下的计算器,实现一般计算器可以进行的加减乘除算法,科学计算三角函数以及清零操作。 通过对该问题的分析,APP主要涉及的对象有:计算器 主要的事务是: 1、计算器界面友好,方便使用,具有良好的交互性。 2、具有基本的加、减、乘、除功能,还有+—、开方、平方功能。 3、能够判断用户输入运算数是否正确。 4、支持小数运算。 5、具有退格功能,能够删除最后一个输入,ce。 6、具有清除功能,删除所有,c。 7、具有结果存储功能,能够显示存储器状态,支持触屏手机。 需求分析得出的流程图: 知道了系统的功能以后,我们通过main.xml来建立显示界面,完成后系统开始监听用户的按键输入,每次输入系统都会判断一次用户输入的类型,是数字还是运算符号或者是清除,判断完后分成不同类型如数字,符号,基本运算等等进行进一步的处理,根据用户的要求继续进行下一步的操作,最后计算出最终结果并显示在显示区。系统流程图如图所示: word.

android用户界面程序设计

淮海工学院计算机工程学院实验报告书 课程名:《手持设备软件开发》 题目:实验2:用户界面程序设计 班级:软件092 学号: 1 姓名: 评语: 成绩:指导教师: 批阅时间:年月日

一、实验目的与要求 掌握Android用户界面程序设计的一般方法; 掌握系统提供的各种View和ViewGroup的基本用法; 掌握使用XML Layout资源创建用户界面的方法; 熟悉ADT用户界面可视化编辑器及Hierarchy Viewer透视图的功能及用法; 理解Android用户界面程序设计中的单线程模型 掌握选项菜单及快捷菜单的创建及菜单子项选择事件的处理方法; 掌握用户界面组件事件处理的一般方法。 二、实验内容 1. 使用ADT创建一个Android Project,并在默认创建的布局资源main.xml中添加一个Button 组件,在程序中该按钮的单击事件处理方法中,执行100万次或更多次的循环,并在每次循环中向LogCat中输出当前循环变量的值和一个[0,1)之间的随机双精度数值。调节循环执行的次数直到产生“应用程序无响应”(ANR:Application Not Responding)错误,并思考产生该错误的原因。 2. 编写一个简单的贷款计算器,根据输入的贷款金额、期限和利率,显示每月应还款的金额。使用android.widget.Toast显示输入数据中的格式错误信息。(可参考文档中Dev Guide的帮助主题Toast Notifications中的内容) 三、实验步骤 1. 实验一(1)新建一个android 项目,打开res文件夹下面的layout文件夹中的main.xml文件,对界面进行编辑,如图1

《Android程序设计》期末试题A(答案)

一、判断题(每小题2分,共10分) 1、(对) 2、(对) 3、(错) 4、(错) 5、(错) 二、单项选择题(在每小题的四个备选答案中,有且只有一个正确答案,请将正确答案的序号填在题干的括号内。每小题2分,共20分) 三、填空题(每空2分,共10分) 1、 BroadcastReceiver 、 ContentProvider 2、onCreate、onResume 3、 getSystemService 四、名词解释(每小题5分,共15分) 1、答:Activity是一个独立的,可以与用户交互的Android应用组件,在表现形式上它代表一个单独的屏幕。从功能上来说,它作为应用程序的界面框架,负责动态加载各种用户界面视图,实现底层的消息传递等。 2、答:在Android中,Intent是一类特殊的组件,它负责对应用中一次操作的动作以及动作相关数据进行描述,包含了动作的产生组件、接收组件和传递的数据信息。Android则根据此描述,负责找到对应的组件,将 Intent传递给调用的组件,并完成组件的调用。 3、答:ContentProvider是不同应用程序之间进行数据交换的标准API。ContentProvider以某种Uri的形式对外提供数据,允许其它应用访问和修改数据;其它应用使用ContentResolver根据Uri去访问操作指定数据。 五、简答题(每小题5分,共20分) 1、答:Android平台的体系架构可以分为以下几层: (1)Linux Kernel:负责硬件的驱动程序、网络、电源、系统安全以及内存管理等功能。 (2)Libraries和Android Runtime:Libraries:即C/C++函数库部分,大多数都是开放源代码的函数库,例如WebKit,该函数库负责Android网页浏览

基于android的简单用户注册系统课程设计报告

实验报告 课程名称 : Android应用程序设计 实验名称 :简单的用户注册登录系统 学院 : 电子信息工程学院 专业 : 计算机科学与技术 班级 : 姓名 : 学号 : 时间 :

目录 第一章设计背景 1.1引言 (3) 1.2设计目的 (3) 1.3 设计要求 (3) 1.4 开发运行环境 (3) 第二章需求分析 2.1技术可行性 (4) 2.2网络需求分析 (4) 2.3运行环境需求分析 (4) 2.4用户需求分析 (4) 第三章具体方案设计 3.1 注册登录界面系统介绍 (5) 3.2 流程图 (5) 3.2.1子程序流程图 (6) 3.3详细界面设计 3.3.1 注册界面........................................................... . (6) 3.3.2 登录界面............................................................ (7) 3.4 项目目录结构图.......................................................... (8) 3.5 系统界面组件的生成...................................................... (8) 3.6 实现过程及代码 3.6.1 注册界面的生成....................................................... .. (9) 3.6.2 登录界面的生成.................................................... . (10) 3.6.3 用XML实现用户界面优缺点 (12) 3.7 程序代码 3.7.1 Zhuce.java (12) 3.7.2 denglu.java (14) 第四章实验结果截图 4.1 填写注册信息 (16) 4.2 注册成功 (16) 4.3 填写登录信息 (17) 4.4 登录成功 (18) 4.5 填写密码不一致时 (19) 第五章软件的系统测试 5.1 系统测试的原则 (20) 5.2 测试环境 (20) 第六章实验总结

android GUI程序设计复习题

Android复习题及答案 一、选择题 1.下列哪些语句关于内存回收的说明是正确的( ) A、程序员必须创建一个线程来释放内存 B、内存回收程序负责释放无用内存 C、内存回收程序允许程序员直接释放内存 D、内存回收程序可以在指定的时间释放内存对象 2.Android 中下列属于Intent的作用的是( ) A、实现应用程序间的数据共享 B、是一段长的生命周期,没有用户界面的程序,可以保持应用在后台运行,而不会因为切换页面而消失 C、可以实现界面间的切换,可以包含动作和动作数据,连接四大组件的纽带 D、处理一个应用程序整体性的工作 3.下面在文件中注册BroadcastReceiver方式正确的( ) A、 B、 android:name=""/> C、 D、 android:name=""/>

Android程序设计练习卷答案

在android程序中,Log.d()用于输出什么级别的日志信息?(A) 调试B、信息C、警告D、错误 2.以下情况不会创建Context对象的是(C) 创建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) 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、这里的文件是原封不动的存储到设备上不会转换为二进制的格式 B、这里的文件是原封不动的存储到设备上会转换为二进制的格式 C、这里的文件最终以二进制的格式存储到指定的包中 D、这里的文件最终不会以二进制的格式存储到指定的包中 13.下面异常不属于Runtime Exception 的是(D) A、ArithmeticException B、IllegalArgumentException C、NullPointerException D、IOException 14.以下方法那个不能实现不显示android标题栏(B)

安卓程序设计报告

弹球游戏 物联一班谢鑫 20100740123 一、实验目的 1、掌握Swing图形用户界面编程以及事件处理等,掌握java绘图技术。 2、掌握多线程编程的基本原理,能使用Runnable、ExecutorService等接口进行 线程的创建、启动等工作。 二、实验任务 设计并编程实现弹球游戏: 用户能通过GUI组件指定生成小球的数量,每个小球将从随机的位置出现,并具有随机颜色,随机速度以及随机的运动方向,小球沿初始方向匀速运动,当碰到窗口边缘时,小球将依据受力原理改变运动方向(可简化考虑,受力只改变小球的运动方向,小球仍按照初始速度匀速运动,且不考虑小球之间的碰撞)。 鼠标在界面中显示为方块状,玩家需按住鼠标来回移动以避开运动的小球及屏幕四周,如果鼠标碰到任一小球或者窗口四周,则游戏结束。 程序需提供计时功能,并最终显示玩家能坚持多少秒。 三、设计思路 1.界面设计 (1)制作一个简单的面板JFrame,文件保存为bollFrame.java 其中为一public的类bollFrame,其构造方法为: bollFrame(int n){ super(); setTitle("我的弹球小游戏"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); Dimension dimension = Toolkit.getDefaultToolkit().getScreenSize();//得到电脑屏幕大小 setSize(450,450); setLocation((dimension.width-game.getWidth())/2-250, (dimension.height-game.getHeight())/2-250);//设置面板显示基中; this.n = n; myBollPanel = new bollPanel(n);//构造一个画板; add(myBollPanel);//将画板放入JFrame createMenu();//创建菜单; setJMenuBar(bar); } (2)构造画板类,文件保存为bollPanel.java

Android程序设计报告-标准体重

Android应用程序设计报告 学院:信息工程与自动化学院 专业:通信工程 班级: 姓名: 学号: 日期:2014年7月8日

一、背景介绍 随着移动通信与Internet向移动终端的普及,网络和用户对移动终端的要求越来越高,而Symbian,Windows Mobile,PalmOS等手机平台过于封闭,不能很好的满足用户的需求,因此市场迫切需要一个开发性很强的平台。经过多年的发展,第三代数字通信(3G)技术活动了广泛的接受,它为移动终端用户带来了更快的数据传输速率。随着3G网络的使用,移动终端不再仅是通讯网络的终端,还将成为互联网的终端。因此,移动终端的应用软件和需要的服务将会有很大的发展空间。Google为此于2007年11月推出了一个专为移动设备设计的软件平台——Android。 Android是一套真正意义上的开发性的移动设备综合平台,它包括操作系统、中间件和一些关键的平台应用。Android是由Linux+Java构成的开源软件,允许所有厂商和个人在其基础上进行开发。Android平台的开放性等特点既能促进技术(包括平台本身)的创新,又有助于降低开发成本,还可以是运营商能非常方便地制定自己的特色化的产品。因此,它具有很大的市场发展潜力。 二、需求分析 如今,伴随着Google Android操作系统的盛行,基于Android SDK的系统开发和基于Android应用的开发等已倍受大家关注。Android应用面向的是普通个体用户,这些用户往往会更加关注用户体验,因此Android应用增加多媒体功能十分必要。就目前的手机发展趋势来看,手机已经不再是单一的通讯工具,更多的手机用户希望在工作、学习之余通过方便灵巧可随身携带的仪器休闲娱乐。 而且近年来,由于人们生活水平的提高,越来越多的人开始关注人体健康,而体重也成为了人们关注的重点,尤其是女性。因此为了迎合众多用户的需求并适应现在的手机的规模,我们提出了一个计算标准体重的设计。 三、设计目的 Android以Linux为核心的Android行动平台,使用Java作为编程语言。本设计是在学习java语言程序设计的基础上进行的一次综合实践。通过综合训

Android程序设计期末试题B

A n d r o i d程序设计期末试 题B Prepared on 24 November 2020

一、判断题(每小题2分,共10分) 1、Android是J2ME的一个实现。() 2、View是ViewGroup的子类。() 3、一个Intent可以包含多个category。() 4、Android系统下的文件,可以被本系统里的所有应用程序访问。() 5、无论Service是以启动方式还是绑定方式运行,该Service类都要重写onBind方法。() 二、单项选择题(在每小题的四个备选答案中,有且只有一个正确答案,请将正确答案的序号填在题干的括号内。每小题2分,共20分) 1、下列关于继承的哪项叙述是正确的() A、在Java中类允许多重继承 B、在Java中一个类只能实现一个接口 C、在Java中一个类不能同时继承一个类和实现一个接口 D、在Java中接口允许继承自另一个接口 2、以下哪种方式不能退出当前活动状态的Activity() A、调用finish()方法 B、单击(返回)按钮 C、单击(回到桌面)按钮 D、Activity运行时出现异常 3、对于TextView,使用哪个属性来设置显示的文本() A、android:textSize B、android:text C、android:textColor D、android:string 4、要处理Button的点击事件,需要注册哪个监听器()

A、OnClickListener() B、OnButtonClickListener() C、OnButtonListener() D、OnItemClickListener() 5、浏览网页使用的Intent的Action是什么() A、ACTION_CALL B、ACTION_EDIT C、ACTION_SEND D、ACTION_VIEW 6、Android 关于启动方式的service生命周期的onCreate()和onStartCommand()方法,说法正确的是() A、当第一次启动的时候只会调用onCreate()方法 B、当第一次启动的时候只会调用onStartCommand ()方法 C、如果service已经启动,将先后调用onCreate()和onStartCommand ()方法 D、如果service已经启动,只会执行onStartCommand ()方法,不再执行onCreate()方法 7、下列控件中,只有两种状态并能相互切换的是:() A、ImageButton B、SeekBar C、Toast D、ToggleButton 8、对于音乐播放器程序中的播放进度控制,使用哪个控件适合() A、ProgressBar B、RatingBar C、SeekBar D、CheckBox 9、要往SD卡写入数据,需要加上哪个权限() A、WRITE_STORAGE B、 WRITE_EXTERNAL_STORAGE

相关主题
相关文档
最新文档