1、Android移动开发技术(慕课版)习题集题库及答案 一、填空题 1.在Android开发环境中,SDK组件的作用是用于( 开发 )Android应用。 2.在Android开发环境中,( Dalvik )组件的作用是虚拟机管理。 二、判断题 1.电子邮件客户端属于Android平台体系结构的应用程序框架层。( F ) 2.Android 中使用AVD Manager工具进行SDK版本控制。( F ) 3.Android 只能在Windows环境下开发。( F ) 三、问答题 1. 写出2种当前比较流行的移动操作系统并介绍其作用和特点。 略
2、 2. 简述Android平台体系结构的层次划分,并说明各个层次的作用。 第一层Linux内核,提供有操作系统内核管理的底层基础功能;第二层中间层,由函数库和Android运行时构成;第三层应用程序框架层,提供了Android平台的管理功能和组件重用机制;第四层应用程序层,提供了一系列核心应用程序。 习题 一、填空题 1.Android项目打包后生成一个( apk )文件。 2.Logcat日志信息按照等级由低到高划分为五个等级,分别是( verbose )、( debug )、( info )、( warn )、( er
3、ror )。 3.如果想根据日志信息的标签进行日志信息的过滤,需要添加的过滤条件是( tag )。 二、问答题 1.简述签名的意义。 a) 为了保证每个应用程序开发商合法ID b) 防止部分开发商可能通过使用相同的Package Name来混淆替换已经安装的程序 c) 保证我们每次发布版本的一致性(如自动更新不会因为版本不一致而无法安装) 2.简述Release版本和Debug版本打包生成的文件的区别。 debug模式:系统自动生成debug签名; debug签名的应用程序不能在Android Market上架销售,它会强制你使用自己的签名;Debug模式
4、下签名用的证书(默认是Eclipse/ADT和Ant编译)自从它创建之日起,1年后就会失效。 debug.keystore在不同的机器上所生成的可能都不一样,就意味着如果你换了机器进行apk版本升级,那么将会出现上面那种程序不能覆盖安装的问题,相当于软件不具备升级功能 通过在Android studio上运行直接在模拟机或手机上启动程序,只是调试程序而已; release模式:用自己生成的key文件来签名; release通常被称为发布版本。 3.简述APK文件反编译得到的几个文件的作用。 AndroidManifest 全局配置文件; Classes.dex java核心
5、代码文件; Resource 记录了资源文件的位置和id之间的映射关系; Res文件夹 资源文件; META-INF文件夹 用于保证apk文件的完整性和安全性; Mf 包含所有文件的文件名的编码值,保证apk的完整性; Rsa 非对称加密,被称为公钥加密标准;算法自己看;公钥加密; Sf 同manifest的结构,私钥加密; 习题 一、选择题 通过特定的接口类进行事件处理的是( C )。 A.事件 B.事件源 C.事件监听器 D.事件处理器 二、填空题 Android的事件处理模型常用的有( 基于监听接口 )和( 基于回
6、调接口 )。 三、问答题 1.简述基于监听接口的事件处理模型的编程步骤。 1)获取普通界面组件; 2)实现事件监听类,该监听类是一个特殊的java类,必须实现一个XXXListener接口; 3)调用事件源的setXXXListener方法注册事件监听器 2.简述Android中点击事件、长按事件、键盘事件、触摸事件、焦点改变事件、选择改变事件对应的事件监听接口。 单击事件:onClickListener; 长按事件:onLongClickListener; 键盘事件:onKeyListener; 触摸事件:onTouchListener; 焦点改变事件:onFo
7、cusChangeListener;
选择改变事件:onCheckedChangeListener
3.哪些监听方法的返回值为布尔值?其意义有何不同?
布尔值用来表示您是否已经处理完事件,以及是否应该将他继续传下去。也就是说,返回true表示已经处理事件并且事件应该就此停止;如果返回值为false表示您尚未处理事件或者事件应该继续传递给其他任何点击监听器。
四、编程题
写一个输入框,当对输入框进行触摸操作时可以获取触控行为的抬起、滑动、按下的状态,以及触摸操作的位置坐标。
页面代码如下:
8、 android:layout_width="wrap_content"
android:layout_height="wrap_content" />
9、y {
EditText et_touch;
TextView tv_action;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.ontouch_layout);
et_touch = (EditText) findViewById(R.id.et_touch);
tv_action = (TextView)findView 10、ById(R.id.tv_action);
et_touch.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
int iAction = event.getAction();
switch (iAction){
case MotionEvent.ACTION_DOWN:
11、 Log.i("tag","按下");
break;
case MotionEvent.ACTION_MOVE:
Log.i("tag","滑动");
break;
case MotionEvent.ACTION_UP:
Log.i("tag","抬起");
}
double x = eve 12、nt.getX();
double y = event.getY();
et_touch.setText("点的坐标为:("+x+","+y+")");
tv_action.setText("action=="+iAction);
return true;
}
});
习题
一、填空题
1.设置Toast消息居中显示的方法是( setGravity(Gravity.CENTER) )。
2.创建Notification对象需要使用的是( 13、 NotificationManager ),发送通知栏信息使用的方法是( notify() ),取消发送通知栏信息的方法是( cancel() )。
3.创建一个AlertDialog对话框需要使用的对象类是( AlertDialog.Builder )。
二、简答题
1.简述Toast消息提示框的特点。
一种快速的即时消息。
消息内容简短。
悬浮于应用程序的最上方
不获得焦点
用于提示任务是否完成的消息提示机制
2.简述Notification通知栏的适用情况。
某些信息不需要用户马上处理,可以利用通知。即延迟消息,比如软 14、件的更新、短信、新闻之类的。
3.简述一个对话框包含的内容。
图标、标题、内容、选择按钮
三、编程题
编写Android程序,模拟实现用户注册功能。如果用户名是张三,密码是123,点击“登录”按钮,触发点击事件,使用Toast提示“登录成功”,否则提示“登录失败”。效果如图5.8所示。
图5.8 显示效果
activity_main.xml代码如下。
15、
android:layout_height="match_parent"
android:orientation="vertical">
(1) 请补全代码
16、补全代码
17、itText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/login_username"
android:hint="请输入您的用户名"/>(2分)
(2)






