长沙医学院android考查试卷(编程题答案)

更新时间:2023-10-23 15:56:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

《android程序设计》2016-2017年第一学期查考试卷

命题时间:2016年11月29日 适用班级:13级计算机1班 姓名 学号 题号 一 二 合计 阅卷人 40 60 应得分 实得分 一、 一、单选题(本大题共 20 小题,每小题 2 分,共 40 分) 1. 下列不是手机操作系统的是? ··············( ) A. Android B. Windows Phone C. Apple IPhone IOS D. windows vista

2.XML 布局文件中,layout_width 属性的属性值不可以是什么?( ) A. match_parent B. fill_parent C. wrap_content D. match_content 3.在手机开发中常用的数据库是? ·················( ) A. SQLite B. MySql C. Oracle D. SQL Server 4. 下列哪个可做 EditText 编辑框的提示信息?········( ) A. android:inputType B. android:text C. android:digits D. android:hint 5. 在一个相对布局中怎样使一个控件居中 ··········( )

A.android:gravity=\ C.android:layout_centerInParent=\6. 下面哪种说法不正确 ··················( )

A. Android 应用的 gen 目录下的 R.java 被删除后还能自动生成; B. res 目录是一个特殊目录,包含了应用程序的全部资源,命名规则可以支持数字(0-9)下横线(_),大小写字母(a-z , A-Z);

C. AndroidManifest.xml 文件是每个 Android 项目必须有的,是项目应用的全局描述。 D. assets 和 res 目录都能存放资源文件,但是与 res 不同的是 assets 支持任意深度的子目录,且不会在 R.java 里生成任何资源 ID 7.android 中下列属于 Intent 的作用的是 ··········( ) A. 实现应用程序间的数据共享

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

C. 可以实现界面间的切换,可以包含动作和数据,连接四大组件的纽带 D. 处理一个应用程序整体性的工作

8. 如果将一个 TextView 的 android:layout_height 属性值设置为wrap_content,那么该组件将是以下哪种显示效果? ····( ) A. 该文本域的宽度将填充父容器宽度

B. 该文本域的宽度仅占据该组件的实际宽度 C. 该文本域的高度将填充父容器高度

D. 该文本域的高度仅占据该组件的实际高度

9. 关于 XML 布局文件在 Java 代码中被引用的说明中,不正确的是?( ) A. Activity 中,使用 findViewById()方法,获得指定 id 视图元素

B. Activity 中,使用 R.drawable-system.***方式引用 Android 系统所提供的图片资

C. Activity 中,使用 setContentView()方法,确定加载哪一个布局文件

D. 使用 View 类的 findViewById()方法,获得当前 View 对象中的某一个视图元素 10. 关于适配器的说法正确的有( )

A. 它主要是用来存储数据 B. 它主要用来把数据绑定到组件上 C. 它主要用来解析数据 D. 它主要用来存储 xml 数据 11. 关于 BroadcastReceiver 的说法不正确的是········( ) A.是用来接收广播 Intent 的

B.一个广播 Intent 只能被一个订阅了此广播的 BroadcastReceiver 所接收 C.对有序广播,系统会根据接收者声明的优先级别按顺序逐个执行接收者

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

12. 关于 Android 布局文件常用的长度/大小单位的描述不正确的是( ) A. dp 是设备独立像素,不依赖于设备,是最常用的长度单位 B. sp 代表放大像素,主要用于字体大小的显示

C. px 是像素单位,在不同的设备上显示效果相同,因此推荐在布局中使用该单位

D. 在设置空间长度等相对距离时,推荐使用 dp 单位,该单位随设备密度的变化而变化 13. 关于 Sqlite 数据库,不正确的说法 ···········( ) A. SqliteOpenHelper 类主要是用来创建数据库和更新数据库 B. SqliteDatabase 类是用来操作数据库的

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

D. 当数据库版本发生变化时,可以自动更新数据库结构 14. 关于 ContenValues 类说法正确的是 ···········( ) A.与 Hashtable 类似,负责存储一些名值对,但是他存储的名值对当中的名是 String 类型,而值都是基本类型 B.与 Hashtable 类似,负责存储一些名值对,但是他存储的名值对当中的名是任意类型,而值都是基本类型

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

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

15. 以下关于 Android 应用程序的目录结构描述中,不正确的是( ) A. src 目录是应用程序的主要目录,由 Java 类文件文件组成

B. assets 目录是原始资源目录,该目录中的内容将不会被 R 类所引用 C. res 目录是应用资源目录,该目录中的所有资源内容都会被 R 类所索引 D. AndroidManifest.xml 文件是应用程序目录清单文件,该文件由 ADT 自动生成,不需要程序员手动修改。

16. 在 Android 应用程序中,音乐文件一般放在那个目录下? ( ) A.raw B.values C.layout D.drawable 17. 下面退出 Activity 错误的方法是? ···········( )

A. finish() B.System.exit() C.onStop() D.抛异常强制退出 18.使用 MediaPlayer 播放保存在 sdcard 上的 mp3 文件时,( ) A. 需要使用 MediaPlayer.create 方法创建 MediaPlayer

B. 直接 newMediaPlayer 即可

C. 需要调用 setDataSource 方法设置文件源 D. 直接调用 start 方法,无需设置文件源 19. DDMS 中 Log 信息分为几个级别? ···········( ) A. 3 B. 4 C. 5 D. 7

20. 关于 AndroidManifest.xml 文件,以下描述错误的选项有哪些( )

A.在所有的元素中只有和是必需的,且只能出现一次 B. 处于同一层次的元素,不能随意打乱顺序

C. 元素属性一般都是可选的,但是有些属性是必须设置的 D. 对可选的属性,即使不写,也有默认的数值项说明 二、编程题(本大题共 3 小题,共 60 分)

1. 编写一个 Android 应用。要求应用可以显示实时时间,按下手机

的”Menu”键,弹出“关于本系统”和“退出系统”两个菜单项,按下“退出系统”菜单项,退出应用。(15 分)提示:自建一个工程 exam1,包名: com.test.姓名拼音.exam1

布局代码:

android:id=\

android:layout_width=\ android:layout_height=\

android:textColor=\ android:gravity=\ android:textSize=\

android:textStyle=\ />

实现代码:

package com.example.exam;

import android.app.Activity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.widget.Toast;

public class MainActivity extends Activity {

@Override

protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); }

@Override

public boolean onCreateOptionsMenu(Menu menu) { MenuItem aboutSys = menu.add(1001, 100, 1, \关于本系统\ MenuItem exitSys = menu.add(1001, 101, 1, \退出软件\ return true; }

@Override

public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case 100: Toast.makeText(getApplicationContext(), \点击了我\Toast.LENGTH_SHORT).show(); break; case 101: finish(); Toast.makeText(getApplicationContext(), \退出程序\Toast.LENGTH_SHORT).show(); break; } return super.onOptionsItemSelected(item); } }

自定义时间控件:

package com.example.exam;

import java.util.Calendar;

import android.content.Context; import android.os.Handler; import android.os.Message; import android.util.AttributeSet; import android.widget.TextView;

public class TimeView extends TextView{

private TextView textView; private String timeString;

private TimeHandler mTimehandler=new TimeHandler(); public TimeView(Context context) { super(context); this.textView=this; Init(context); } public TimeView(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); this.textView=this; Init(context); }

public TimeView(Context context, AttributeSet attrs) { super(context, attrs); this.textView=this; Init(context); }

private void Init(Context context) { try {

updateClock();

new TimeThread().start(); }catch (Exception e){ e.printStackTrace(); } }

private class TimeThread extends Thread{ @Override

public void run() {

mTimehandler.startScheduleUpdate(); } }

private class TimeHandler extends Handler{ private boolean mStopped; private void post(){

sendMessageDelayed(obtainMessage(0),1000*(60- Calendar.getInstance().get(Calendar.SECOND)));

}

@Override

public void handleMessage(Message msg) { super.handleMessage(msg); if (!mStopped){ updateClock(); post(); } }

public void startScheduleUpdate(){ mStopped = false; post(); }

public void stopScheduleUpdate(){ mStopped = true; removeMessages(0); } }

private void updateClock() {

Calendar calendar=Calendar.getInstance();

int hour=calendar.get(Calendar.HOUR_OF_DAY); int minute=calendar.get(Calendar.MINUTE); timeString=hour+\ textView.setText(timeString); } }

实现界面:

2.编写一个 Android 应用。要求应用模拟系统登录界面效果,当用户输入正确的用户名和密码后,(设用户名为 admin;密码 123),再单击“确定”按钮,进入主界面,否则,给予相应的错误提示(Toast 方式)。界面设计示意图如图 1、图 2 所示(20 分) 提示:自建一个工程 exam2,包名: com.test.姓名拼音.exam2

请输入用户名 Admin,你好

请输入密码

欢迎使用本系统 记住密码 确定 图1登录Activity 图2系统主Activity

布局代码:

activity_main.xml:

android:id=\

android:layout_width=\ android:layout_height=\

android:gravity=\ android:textSize=\

android:text=\你好\

android:layout_width=\ android:layout_height=\ android:layout_below=\ android:gravity=\ android:textSize=\

android:text=\欢迎使用本系统\

login.xml:

android:id=\

android:layout_width=\ android:layout_height=\ android:hint=\请输入用户名\

android:id=\

android:layout_width=\ android:layout_height=\ android:layout_below=\ android:hint=\请输入密码\

android:inputType=\

android:id=\ android:layout_width=\ android:layout_height=\ android:layout_below=\ android:text=\记住密码\

Top