收藏 分销(赏)

Android移动开发技术(慕课版)习题集题库及答案.docx

上传人:快乐****生活 文档编号:3331854 上传时间:2024-07-02 格式:DOCX 页数:21 大小:332.61KB
下载 相关 举报
Android移动开发技术(慕课版)习题集题库及答案.docx_第1页
第1页 / 共21页
Android移动开发技术(慕课版)习题集题库及答案.docx_第2页
第2页 / 共21页
Android移动开发技术(慕课版)习题集题库及答案.docx_第3页
第3页 / 共21页
Android移动开发技术(慕课版)习题集题库及答案.docx_第4页
第4页 / 共21页
Android移动开发技术(慕课版)习题集题库及答案.docx_第5页
第5页 / 共21页
点击查看更多>>
资源描述

1、Android移动开发技术(慕课版)习题集题库及答案一、填空题1在Android开发环境中,SDK组件的作用是用于( 开发 )Android应用。2在Android开发环境中,( Dalvik )组件的作用是虚拟机管理。二、判断题1电子邮件客户端属于Android平台体系结构的应用程序框架层。( F )2Android 中使用AVD Manager工具进行SDK版本控制。( F )3Android 只能在Windows环境下开发。( F )三、问答题1 写出2种当前比较流行的移动操作系统并介绍其作用和特点。略2 简述Android平台体系结构的层次划分,并说明各个层次的作用。第一层Linux内

2、核,提供有操作系统内核管理的底层基础功能;第二层中间层,由函数库和Android运行时构成;第三层应用程序框架层,提供了Android平台的管理功能和组件重用机制;第四层应用程序层,提供了一系列核心应用程序。习题一、填空题1Android项目打包后生成一个( apk )文件。2.Logcat日志信息按照等级由低到高划分为五个等级,分别是( verbose )、( debug )、( info )、( warn )、( error )。3如果想根据日志信息的标签进行日志信息的过滤,需要添加的过滤条件是( tag )。二、问答题1简述签名的意义。a) 为了保证每个应用程序开发商合法IDb) 防止部

3、分开发商可能通过使用相同的Package Name来混淆替换已经安装的程序c) 保证我们每次发布版本的一致性(如自动更新不会因为版本不一致而无法安装)2简述Release版本和Debug版本打包生成的文件的区别。debug模式:系统自动生成debug签名;debug签名的应用程序不能在AndroidMarket上架销售,它会强制你使用自己的签名;Debug模式下签名用的证书(默认是Eclipse/ADT和Ant编译)自从它创建之日起,1年后就会失效。debug.keystore在不同的机器上所生成的可能都不一样,就意味着如果你换了机器进行apk版本升级,那么将会出现上面那种程序不能覆盖安装的问

4、题,相当于软件不具备升级功能通过在Android studio上运行直接在模拟机或手机上启动程序,只是调试程序而已;release模式:用自己生成的key文件来签名;release通常被称为发布版本。3简述APK文件反编译得到的几个文件的作用。AndroidManifest 全局配置文件;Classes.dex java核心代码文件;Resource 记录了资源文件的位置和id之间的映射关系;Res文件夹 资源文件;META-INF文件夹 用于保证apk文件的完整性和安全性; Mf 包含所有文件的文件名的编码值,保证apk的完整性; Rsa 非对称加密,被称为公钥加密标准;算法自己看;公钥加密

5、; Sf 同manifest的结构,私钥加密;习题一、选择题通过特定的接口类进行事件处理的是( C )。A事件B事件源C事件监听器D事件处理器二、填空题Android的事件处理模型常用的有( 基于监听接口 )和( 基于回调接口 )。三、问答题1简述基于监听接口的事件处理模型的编程步骤。1)获取普通界面组件;2)实现事件监听类,该监听类是一个特殊的java类,必须实现一个XXXListener接口;3)调用事件源的setXXXListener方法注册事件监听器2简述Android中点击事件、长按事件、键盘事件、触摸事件、焦点改变事件、选择改变事件对应的事件监听接口。单击事件:onClickLis

6、tener;长按事件:onLongClickListener;键盘事件:onKeyListener;触摸事件:onTouchListener;焦点改变事件:onFocusChangeListener;选择改变事件:onCheckedChangeListener3哪些监听方法的返回值为布尔值?其意义有何不同?布尔值用来表示您是否已经处理完事件,以及是否应该将他继续传下去。也就是说,返回true表示已经处理事件并且事件应该就此停止;如果返回值为false表示您尚未处理事件或者事件应该继续传递给其他任何点击监听器。四、编程题写一个输入框,当对输入框进行触摸操作时可以获取触控行为的抬起、滑动、按下的状

7、态,以及触摸操作的位置坐标。 页面代码如下: 其中,在输入框中显示当前坐标,在文本框中显示当前的鼠标状态值。public class OnTouchActivity extends Activity EditText et_touch; TextView tv_action;Overrideprotected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.ontouch_layout); et_touch = (EditText) find

8、ViewById(R.id.et_touch); tv_action = (TextView)findViewById(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: Log.i(tag,按下); break; case Mo

9、tionEvent.ACTION_MOVE: Log.i(tag,滑动); break; case MotionEvent.ACTION_UP: Log.i(tag,抬起); double x = event.getX(); double y = event.getY(); et_touch.setText(点的坐标为:(+x+,+y+); tv_action.setText(action=+iAction); return true; );习题一、填空题1设置Toast消息居中显示的方法是( setGravity(Gravity.CENTER) )。2创建Notification对象需要使用

10、的是( NotificationManager ),发送通知栏信息使用的方法是( notify() ),取消发送通知栏信息的方法是( cancel() )。3创建一个AlertDialog对话框需要使用的对象类是( AlertDialog.Builder )。二、简答题1简述Toast消息提示框的特点。一种快速的即时消息。消息内容简短。悬浮于应用程序的最上方不获得焦点用于提示任务是否完成的消息提示机制2简述Notification通知栏的适用情况。某些信息不需要用户马上处理,可以利用通知。即延迟消息,比如软件的更新、短信、新闻之类的。3简述一个对话框包含的内容。图标、标题、内容、选择按钮三、编

11、程题编写Android程序,模拟实现用户注册功能。如果用户名是张三,密码是123,点击“登录”按钮,触发点击事件,使用Toast提示“登录成功”,否则提示“登录失败”。效果如图5.8所示。图5.8 显示效果activity_main.xml代码如下。 (1) 请补全代码 (2) 请补全代码MainActivity代码如下。public class MainActivity extends AppCompatActivity /声明 (3) 请补全代码 Override protected void onCreate(Bundle savedInstanceState) super.onCrea

12、te(savedInstanceState); (4) 请补全代码代码如下:(1)(2分) (2)(2分) (3) private EditText et_name,et_pass;(0.5分) private Button btn_login;(0.5分)(4)setContentView(R.layout.activity_main);(1分)/初始化et_name=(EditText) findViewById(R.id.login_username);(0.5分)et_pass=(EditText) findViewById(R.id.login_password);(0.5分)btn

13、_login=(Button) findViewById(R.id.login);(1分)/创建适配器btn_login.setOnClickListener(new View.OnClickListener() Override public void onClick(View v)(1分) String name= et_name.getText().toString(); String pass=et_pass.getText().toString();(2分) if(张三.equals(name)&123.equals(pass) Toast.makeText(MainActivity

14、.this, 登录成功, Toast.LENGTH_SHORT).show(); (2分) else Toast.makeText(MainActivity.this, 登录失败, Toast.LENGTH_SHORT).show(); (2分) );习题一、填空题1. 图片资源的存放路径( res/drawable )、字符串资源的存放路径( res/strings )、颜色资源的存放路径( res/colors )、尺寸资源的存放路径( res/dimens )。2 资源文件一般存放在( xml )格式的文件中。 3 引用一个自定义的颜色资源,通过什么属性进行引用( name )。4 常用

15、的数组资源中包含的子元素有( array )、( integer-array )、(string-array)二、简答题简述资源文件的引用方式。自定义资源文件:pachagetype/name系统资源文件:android:type/nameR.java文件访问资源文件:R.type.name三、编程题使用StateListDrawable资源编写一个资源文件,要求输入框在获得焦点和失去焦点时输入框中的字体分别呈现不同的颜色状态。selector xmlns:android= 习题一、选择题如果将一个TextView的android:layout_height属性值设置为wrap_content

16、,那么该组件的展示效果为( D )。A该文本域的宽度将填充父容器的宽度B该文本域的宽度仅占该控件的实际宽度C该文本域的高度将填充父容器的宽度D该文本域的高度仅占该控件的实际高度二、简答题简述TextView组件和EditText组件的区别。TextView是一种用于显示字符串的控件EditText则是用来输入和编辑字符串的控件EditText是一个具有编辑功能的TextView三、编程题编写Android程序,利用ArrayAdapter数组适配器实现图7.15的效果(注意:列表项布局使用android.R.layout.simple_list_item_1)。图7.15 利用ArrayAda

17、pter数组适配器实现的效果activity_main.xml代码如下。 (1) 请补全代码MainActivity代码如下。public class MainActivity extends AppCompatActivity /声明 (2) 请补全代码 Override protected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); (3) 请补全代码 代码如下:(1)(2)ListView listView; ArrayAdapter arrayAdapter;(3)setCon

18、tentView(R.layout.activity_main); listView = (ListView)findViewById(R.id.listView); String arr_data = item1,item2,item3,item4;arrayAdapter=new ArrayAdapter(MainActivity.this,android.R.layout.simple_list_item_1,arr_data); listView.setAdapter(arrayAdapter);习题一、填空题1通过( TableRow )标签划分TableLayout中的行。2通常使

19、用( layout_height )和( layout_weight )常量来设置宽度或高度。3布局中的所有元素均使用( View )和( View Group )对象的层次结构进行构建。二、简答题简述Android开发过程中常用的五种布局的特点。线性布局(LinearLayout),实现垂直或水平布局;相对布局(RelativeLayout),根据控件之间的相对位置进行布局;表格布局(TableLayout),将整个页面划分为行列表格进行布局;帧布局(FrameLayout)控件只能放在页面的左上角,新添加的控件会覆盖已存在的控件;绝对布局(AbsoluteLayout),控件的位置根据x,

20、y坐标进行设定。三、编程题使用RelativeLayout实现图8.16所示的布局。图8.16 要求实现的布局代码如下: 习题一、填空题1Activity的生命周期包括运行状态、暂停状态、停止状态和( 死亡状态 )。2当处于暂停状态(Paused)的Activity由被覆盖状态回到前台或解锁屏时,系统会调用( restart )方法,再次进入( onResume )。3Intent常用属性主要有( 组件 )、动作、动作的类别、数据、数据MIME类型以及附加信息等。4启动一个Activity并从新的组件获得返回值所需方法为( onActivityResult() )。5Intent调用可以分为(

21、 显式 )和( 隐式 )两种类型。6广播接收端使用( OnReceive )告知系统其可以接收的广播类型。7在Intent的Action属性中,用来标识应用程序入口的是( ACTION_MAIN )。8Android组件中运行于后台,没有界面交互的是( Service )。9使用Context的( startActivity )方法可以启动Activity。10在Android提供的通讯录数据库contact2.db中,用于存储联系人详细信息的表是( contacts )。二、选择题1关于Activity生命周期的onCreate()和onStart()方法说法正确的是( D )。A当第一次启

22、动的时候先后调用onStart()和onCreate()方法B当第一次启动的时候只会调用onCreate()方法C如果Activity已经启动,将先后调用onCreate()和onStart()方法D如果Activity已经启动,将只调用onStart()方法2下面不是退出Activity方法的是( C )。Afinish()BSystem.exit()ConStop()D异常强制退出3下面在AndroidManifest.xml文件中设置访问网络权限正确的是( A )。ABCD4对一些资源以及状态的操作保存,最好是保存在生命周期的( A )函数中进行。AonPause()BonCreate(

23、)ConResume()DonStart()5Android中属于Intent的作用的是( C )。A实现应用程序间的数据共享BIntent是一段长的生命周期,没有用户界面的程序,可以保持应用在后台运行,而不会因为切换页面而消失C可以实现界面间的切换,可以包含动作和动作数据,连接四大组件的纽带D处理一个应用程序整体性的工作6( A )通常就是一个单独的窗口界面。AActivityBIntentCServiceDContent Provider7关于Service生命周期的onCreate()和onStart(),说法正确的是( D )。A当第一次启动的时候先后调用onStart()和onCre

24、ate()方法B当第一次启动的时候只会调用onCreate()方法C如果Service已经启动,将先后调用onCreate()和onStart()方法D如果Service已经启动,只会执行onStart()方法,不在执行onCreate()方法8下列关于ContentProvider,说法错误的是( C )。AContentProvider的作用是实现数据共享和交换B要访问ContentProvider,只需调用ContentProvider增、删、改、查的相关方法CContent Provider提供的URI必须以“content:/”开头DAndroid对于系统里的音视频、图像、通讯录提供

25、了内置的ContentProvider三、简装题描述Android中ContentProvider的作用。内容提供者组件通过请求从一个应用程序向其他的应用程序提供数据。这些请求由类 ContentResolver 的方法来处理。内容提供者可以使用不同的方式来存储数据。数据可以被存放在数据库,文件,甚至是网络。有时候需要在应用程序之间共享数据。这时内容提供者变得非常有用。内容提供者可以让内容集中,必要时可以有多个不同的应用程序来访问。内容提供者的行为和数据库很像。你可以查询,编辑它的内容,使用 insert(), update(), delete() 和 query() 来添加或者删除内容。多数

26、情况下数据被存储在 SQLite 数据库。四、程序设计设计一个应用,界面中有一个EditText控件和一个Button控件,当点击按钮时,能够打开在EditText中输入的网址。略习题一、填空题1SharedPreferences最终的存储形式是( xml )文件。2使用SharedPreferences方式操作数据时,首先要通过Context的( getDefaultSharedPreferences() )函数获得SharedPreferences类对象。二、选择题1下面关于SharedPreferences的表述正确的是( D )。ASharedPreferences pref=new

27、SharedPreferences()BEditor editor=new Editor()CSharedPreferences.apply()操作会马上将数据写入磁盘文件DEditor对象存储数据最后都要调用commit()方法 2下面关于Android数据存储方式描述错误的是( B )。AAndroid可以采用SharedPreferences数据存储BAndroid文件存储形式中,用户只能访问外部存储CAndroid可以使用数据库存储DAndroid可以采用ContentProvider存储数据3关于Android中文件操作描述正确的是( C )。AAndroid应用只能访问本应用程序的

28、文件BAndroid应用可以获得图片、音频等公共存储空间中的文件CAndroid应用能够读取其他应用程序空间中的文件DAndroid应用能够修改其他应用程序空间中的文件三、编程题根据所学的Android文件操作知识,实现一个记事本功能的App。略习题一、填空题1SQLite数据库中用于获取帮助的命令是( .help )。2在用游标操作SQLite数据表时,获取数据表中记录数的方法是( query() )。3用SQLiteOpenHelper类操作数据库时,数据库表建立语句一般在( onCreate() )方法中执行。4SQLiteOpenHelper类操作数据库时,当数据库版本发生改变时,会自

29、动调用( onUpdate() )方法。二、选择题1下面关于SQLite数据库描述正确的是( D )。ASQLite数据库中数据类型是强数据类型BSQLite数据库操作时,如果插入的数据类型与字段数据类型不一致,则一定不能插入CSQLite数据库只能应用在Android系统中DSQLite中能够使用事务操作2下面关于SQLite操作描述不正确的是( C )。ASqliteOpenHelper类主要用来创建数据库和更新数据库BSqliteDatabase类可以用来操作数据库C在每次调用SqliteDatabase类的getWritableDatabase()方法时,会执行SqliteOpenHe

30、lper类的onCreate()方法D当数据库版本发生变化时,可以自动更新数据库结构三、论述题简要论述在Android项目中,用MVC开发数据库系统的基本操作步骤。视图层(View) 对应于xml布局文件和java代码动态view部分。控制层(Controller) MVC中Android的控制层是由Activity来承担的,Activity本来主要是作为初始化页面,展示数据的操作,但是因为XML视图功能太弱,所以Activity既要负责视图的显示又要加入控制逻辑,承担的功能过多。模型层(Model) 针对业务模型,建立的数据结构和相关的类,它主要负责网络请求,数据库处理,I/O的操作。习题一

31、、简答题简述android:visibility属性对应的属性值及区别。可见(visible)XML文件:android:visibility=“visible”Java代码:view.setVisibility(View.VISIBLE);不可见(invisible)XML文件:android:visibility=“invisible”Java代码:view.setVisibility(View.INVISIBLE);隐藏(GONE)XML文件:android:visibility=“gone”Java代码:view.setVisibility(View.GONE)二、编程题编程实现图12

32、.9所示的效果。当点击第1个按钮时,实现图12.10所示的效果;当点击第3个按钮时,实现图12.11所示的效果。 图12.9 实现效果1 图12.10 实现效果2图12.11 实现效果3 代码如下:Java代码:public class MainActivity extends Activity private TextView txt222 = null;Overrideprotected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState);setContentView(R.layout.ma

33、in);txt222 = (TextView)findViewById(R.id.txt2222);findViewById(R.id.btn1).setOnClickListener(listener);findViewById(R.id.btn2).setOnClickListener(listener);findViewById(R.id.btn3).setOnClickListener(listener);View.OnClickListener listener = new View.OnClickListener() Overridepublic void onClick(View v) switch (v.getId() case R.id.btn1:txt222.setVisibility(View.VISIBLE);break;

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 考试专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服