安卓开发考试复习题含答案.docx

上传人:h**** 文档编号:1371379 上传时间:2019-02-23 格式:DOCX 页数:10 大小:36.12KB
下载 相关 举报
安卓开发考试复习题含答案.docx_第1页
第1页 / 共10页
安卓开发考试复习题含答案.docx_第2页
第2页 / 共10页
安卓开发考试复习题含答案.docx_第3页
第3页 / 共10页
安卓开发考试复习题含答案.docx_第4页
第4页 / 共10页
安卓开发考试复习题含答案.docx_第5页
第5页 / 共10页
点击查看更多>>
资源描述

1、1 安卓核心组件有哪些 ? What are the Android core components? 提供界面显示的 Activtiy,提供后台计算的 Service,提供进程间通信的 Intent 和提供广播接收的 BroadcastRsceiver. 安卓用什么数据库? Android with what database? SQLite 2 R.java 是什么文件?干什么用的?在什么地方? What is R.java file? What for? In what place? R.java 文件是 Android 项目自动生成的终态类 R.java 文件除了有自动标识资源的 “索

2、引 “功能之外,还有另一个主要的功能,当 “res“目录中的某个资源在应用中没有被使用到,在该应用被编译的时候系统就不会把对应的资源编译到该应用的 APK 包中,这样可以节省 Android 手机的资源。 “gen/“目录下 3 安卓平台架构分为几层?各是什么? The Android platform structure is divided into several layers? Each is what? Android 系 统 分 为 四 层 , 从 下 往 上 分 别 是 Linux Kernel,Libraries 和 Android Runtime,Application Fr

3、ameworl,Applications. 4 在 manifest 文件中如何注册一个 activity? How to register a activity in the manifest file? 5 Activity 的生命周期有哪些状态?状态转换时调用的方法各是什么? What is the state of the Activity life cycle? State transitionmethod called when all is what? 一个 Activity 有三种状态: 激活或者运行状态,运行在前台 (在当前 Activity 栈的栈顶 )。 暂停状态,失去了

4、焦点但是仍然对用户可见,比如有其他的 Activity 在它之上,或者透明或者没有遮住整个屏幕。 停止状态,被其他 Activity 覆盖,需要注意的是包括暂停状态在内,这两种状态都仍然保存了所有状态信息,直到被系统终止。 1 2 3 4 5 6 7 void onCreate() void onStart() void onRestart() void onResume() void onPause() void onStop() void onDestroy() 6 同一个应用之间 Activity 互相调用要用什么 Intent(隐式、显式?还是什么?)? With an applica

5、tion of the Activity call each other to usewhat Intent (implicit, explicit? Or what?)? 显式 Intent 直接用组件的名称定义目标组件,这种方式很直接。但是由于开发人员往往并不清楚别的应用程序的组件名称,因此,显式 Intent 更多用于在应用程序内部传递消息。比如在某应用程序内,一个 Activity 启动一个 Service。 7 什么是 Dalvik Virtual Machine? ( Dalvik 虚拟机器)是一种暂存器型态的虚拟机器。简称 DVM, DVM 在撰写开发时就已经设想用最少的记忆体资

6、源来执行,以及同时可执行多个 VM 为前提来开发的。 8 什么是 Content Provider? Content Provider,即内容提供商或者 内容提供器内容提供器是应用程序之间共享数据的接口, Android 系统将这种机制应用到方方面面。比如:联系人提供器专为不同应用程序提供联系人数据;设置提供器专为不同应用程序提供系统配置信息,包括内置的设置应用程序等。 9 什么是 Broadcast Receiver? 广播接收器是一个专注于接收广播通知信息,并做出对应处理的组件。 应用程序可以拥有任意数量的广播接收器以对所有它感兴趣的通知信息予以响应。所有的接收器均继承自 Broadcas

7、tReceiver 基类。 广播接收器没有用户界面。然而,它们可以启动一个 activity 来响应它们收到的信息,或者用 NotificationManager 来通知用户。通知可以用很多种方式来吸引用户的注意力 闪动背灯、震动、播放声音等等。一般来说是在状态栏上放一个持久的图标,用户可以打开它并获取消息。 10 什么是 Intent? Intent(意图)主要是解决 Android 应用的各项组件之间的通讯。 Intent 负责对应用中一次操作的动作、动作涉及数据、附加数据进行描述, Android 则根据此 Intent 的描述,负责找到对应的组件,将 Intent 传递给调用的组件,并

8、完成组件的调用。 11 什么是 Service, Service 有哪些状态? Service 是 android 系统中的四大组件之一( Activity、 Service、 BroadcastReceiver、ContentProvider),它跟 Activity 的级别差不多,但不能自己运行只能后台运行,并且可以和其他组件进行交互。 onCreate() , onBind()2 种 状态 12 安卓的资源有哪些类型?各放在什么位置? Bool 用 XML 格式定义的布尔值 文件位置: res/values/filename.xml Color 用 XML 格式定义的颜色值 文件位置:

9、res/values/colors.xml Dimensin 用 XML 格式定义的数量值 文件位置: res/values/filename.xml ID 用 XML 格式定义的紫苑唯一 ID 文件位置: res/values/filename.xml Integer 用 XML 格式定义的整数资源 文件位置: res/values/filename.xml Integer Array 用 XML 格式定义的整数数组 文件位置: res/values/filename.xml Typed Array 用 XML 格式定义的 TypedArray 文件位置: res/values/filena

10、me.xml 13 IPC 是什么意思?和 Intent 有什么关系? IPC 是内部进程通信的简称, 是共享 “命名管道 “的资源。 Android 中的 IPC 机制是为了让Activity 和 Service 之间可以随时的进行交互,故在 Android 中该机制,只适用于 Activity 和Service 之间的通信,类似于远程方法调用,类似于 C/S 模式的访问。通过定义 AIDL 接口文件来定义 IPC 接口。 Servier 端实现 IPC 接口, Client 端调用 IPC 接口本地代理 14 Broadcast 有哪 几种?区别? 实现广播的方法有两种。一种是在 andr

11、oidmanifest.xml 当中去注册广播,另一种方法是在代码中动态注册广播,这两种方法虽然都能实 现广播机制,但是还是有很大不同,所以运用也要分情况。如果我们在 androidmanifest.xml 中去定义的话,那么该广播是在 activity 结束之后也不会结束的,原因在于它已经写在了 manifest.xml 文件当中,也就是注册到了系统当中,所以无论你的 activity 是否存在,对于该 广播没有影响。而在 java 代码中动态注册广播,在该 activity 结束后,我们可以注销该广播,也就是它随着 activity 的消失而消失 15 Ordered broadcast

12、如 何 决 定 接 收 者 的 顺 序 ? Ordered broadcast how to decide the order? Ordered Broadcast 的接收者将按预先声明的优先级依次接受 Broadcast。 16 安卓原生支持几种 IO 机制?各自有什么特点? Android native support for several IO mechanisms? The respective characteristics of what? 17 安卓原生的 content provider 有哪些? AlarmClock,Browser,CalendarContract,Cal

13、lLog,ContactsContract( 包括有Contacts,Groups,PhoneLookup 等 ) , MediaStore(Audio Albums,Artists,Genres,Playlists ,Files,Images,Video)和 Setting. 18 如何创建一个 content provider? 打开 EOE 工程,创建一个新的 Eoe 类,扩展 Content Provider。重写 onCreate、 getType、query、 insert、 delete 和 update 方法。 19 安卓下访问一个文件,要写到文件最后,要用什么模式打开文件?

14、To access a file to be written to a file for Android, finally, to open the file with whatpattern? 20 判断 SD 卡是否可用,用什么方法? Judging the SD card is available, with what method? android.telephony.TelephonyManager 、 android.os.Environment 及android.app.Activity.getSystemService 方法 21 Shared Preferences 是什么?

15、有什么用? haredPreferences 是 Android 平台上一个轻量级的存储类,主要是保存一些常用的配置比如窗 口 状 态 , 一 般 在 Activity 中 重 载 窗 口 状 态 onSaveInstanceState 保存一 般使用SharedPreferences 完成,它提供了 Android 平台常规的 Long 长整形、 Int 整形、 String 字符串型的保存 22 要从远端 URL 播放多媒体文件用什么 stream? To play multimedia files from a remote URL what stream? adodb.stream 2

16、3 创建一个安卓数据库都有哪些途径? Create an Android databases have what way? 24 安卓有几种布局管理器( Layout)?各有什么特点? Android has several layout manager(Layout)? What are the characteristics? 1.FrameLayout:children 按照从左上开始的顺序排列,主要用于 tabed view 或者图片切换功能;最简单的布局模型,在这种布局下每个添加的子控件都被放在布局的左上角,并覆盖在前一子控件的上层。 2.线性布局( LinearLayout) :c

17、hildren 排列成一行多列或者一列多行的形式,应该是应用程序中最常用的布局方式,它提供了控件水平或者垂直排列的模型,同时我们可通过设置子控件的 weight 布局参数控制各个控件在布局中的相对大小。 3.相对布局( RelativeLayout) :children是相互之间相关位置或者和他们的 parent位置相关,参照控件可以是父控件,也可以是其他子控件,但被参照的控件必须要在参照它的控件之前定义。相对布局模型所涉及的属性设置比较多,但并不复杂。 4.TableLayout:children 按照行列的排序,类似于 html 的 table;模型以行列的形式管理子控件,每一行为一个 T

18、ableRow 的对象,也可为一个 View 的对象。 TableRow 可添加子控件,每添加一个子控件为一列。 5.坐标布局( AbsoluteLayout)的子控件需要指定相对于此坐标布局的横、纵坐标值,否则将会像 FrameLayout 那样被排在左上角。手机应用需要适用于不同的屏幕大小,而这种布局模型不能自适应屏幕尺寸大小,所以应用得相当少。 25 按下 button,被调用的回调函数是什么? Press button, is what is the callback function is called? callback() 26 安卓内建的 theme 有哪些? What are

19、 the Android built in theme? 1 Theme 2 Theme_Black 3 Theme_Light 4 Theme_Dialog 5 Theme_InputMethod 6 Theme_Panel 7 Theme_Wallpaper 27 各种对话框共同的父类是是什么? Various dialog common parent class is what? 28 View 类是什么?起什么作用? What is View? What is the role? View 作为 UI 的最基本的元件,负责绘制 UI 元素和界面动作的监听。可以认为是 Button,文本

20、域等界面元素或者其他 View 的容器。 29 Options Menu 是什么? Context Menu 是什么? Android 手机上有个 Menu 按键,当 Menu 按下的时候,每个 Activity 都可以选择处理这一请求,在屏幕底部弹出一个菜单,这个菜单我们就叫做选项菜单 (OptionsMenu) Android 的上下文菜单 (Context Menu) 30 Android 原生支持哪几种 Dialog? What kinds of native Android support Dialog? 31 安卓画图相关的主要有哪 3 个类?各自作用? Android drawi

21、ng related what are the 3 main classes? Their role? 1) Color :颜色对象,相当于现实生活中的 调料 2) Paint : 画笔对象,相当于现实生活中画图用的 笔 主要的还是对画笔进行设置 3) Canvas : 画布对象,相当于现实生活中画图用的 纸 或 布 三者相结合,就能画出基本的图形 32 复合控件( compound views)是什么? 复合控件是原子的、可重复使用的 widget,它包含多个子控件,以某种布局方式联系在一起。 33 ADB 是什么? ADB 工具一般存放在什么位置? What is ADB? ADB too

22、ls are generally stored in what position? adb 是 androidsdk 里的一个工具 , 用这个工具可以直接操作管理 android 模拟器 或者真实的 andriod 设备 (如 G1 手机 ). 它的主要功能有 : * 运行设备的 shell(命令行 ) * 管理 模拟器 或设备的 端口映射 * 计算机和设备之间上传 /下载文件 * 将本地 apk 软件安装至 模拟器 或 android 设备 当前用户的工作目录 34 安卓开发环境包括哪些东西? Android development environment includes what? 设备

23、模拟器,调试工具,内存及 性能分析 图表,和 Eclipse 集成开发环境 插件 35 安卓应用程序有哪些类型? What type of Android applications? 前台应用程序 后台应用程序 间歇式应用程序 小组件 36 和 是什么?各自干什么用的? 使用权限 用来 保护用户资源的安全 利用特征 Android Market 会根据 uses-feature 过滤所有你设备不支持的应用。 37 周期性 Alarm 用什么方法创建? The periodic Alarm with what method to create? 38 安卓如何获得位置提供者,具体方法类有哪些?

24、Android how to obtain location provider, what are the specific methods? 39 安卓收到一个短信,会触发什么样的 broadcast? sendOrderedBroadcast 40 什么是 ADT-Plugin? ADT( Android 开发工具包)是一个 Eclipse 集成开发环境设计的有效、快速构建 Android 应用程序的插件。 ADT 扩展了 Eclipse 的功能,让您快速建立新的 Android 项目,创建一个应用程序UI,添加基于 Android 框架 API 的程序包,使用 SDK 工具调试你的程序,

25、甚至导出签名的(或未签名的) apk 格式的文件来发布你的应用程序。 发送短信 . Send text messages package com.sms; import android.app.Activity; import android.app.PendingIntent; import android.content.Intent; import android.os.Bundle; import android.telephony.SmsManager; import android.view.View; import android.widget.Button; import an

26、droid.widget.EditText; import android.widget.Toast; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Send_smsActivity extends Activity private Button mButton1; private EditText mEditText1; private EditText mEditText2; public void onCreate(Bundle savedInstanceState) super.

27、onCreate(savedInstanceState); setContentView(R.layout.main); mEditText1 = (EditText) (EditText) this.findViewById(R.id.mEditText1); mEditText2 = (EditText) (EditText) this.findViewById(R.id.mEditText2); mButton1 = (Button) (Button) this.findViewById(R.id.mButton1); mEditText1.setText(“请输入电话号码 “); mE

28、ditText2.setText(“请输入短信内容 !“); mEditText1.setOnClickListener(new EditText.OnClickListener() public void onClick(View v) mEditText1.setText(“); ); mEditText2.setOnClickListener(new EditText.OnClickListener() public void onClick(View v) mEditText2.setText(“); ); mButton1.setOnClickListener(new Button.

29、OnClickListener() Override public void onClick(View v) String strDestAddress = mEditText1.getText().toString(); String strMessage = mEditText2.getText().toString(); SmsManager smsManager = SmsManager.getDefault(); / TODO Auto-generated method stub if(isPhoneNumberValid(strDestAddress)=true / smsMana

30、ger.sendTextMessage(“10086“,null,“hi,this is sms“,null,null); PendingIntent mPI = PendingIntent.getBroadcast(Send_smsActivity.this, 0, new Intent(), 0); smsManager.sendTextMessage(strDestAddress, null, strMessage, mPI, null);/ / smsManager.sendTextMessage(“10086“,null,“hi,this is sms“,mPI,null); cat

31、ch(Exception e) e.printStackTrace(); Toast.makeText(Send_smsActivity.this, “duanxin 成功 !“ , Toast.LENGTH_SHORT).show(); / mEditText1.setText(“); / mEditText2.setText(“); else if (isPhoneNumberValid(strDestAddress)=false) if(iswithin70(strMessage)=false) Toast.makeText(Send_smsActivity.this, “电话号码格式错

32、误 +短信内容超过 70字 ,请检查 !“, Toast.LENGTH_SHORT).show(); else Toast.makeText(Send_smsActivity.this, “ 电 话 号 码 格 式 错 误 , 请检查 !“ , Toast.LENGTH_SHORT).show(); else if (iswithin70(strMessage)=false) Toast.makeText(Send_smsActivity.this, “短信内容超过 70 字 ,请删除部分内容 !“, Toast.LENGTH_SHORT).show(); ); public static b

33、oolean isPhoneNumberValid(String phoneNumber) boolean isValid = false; String expression = “10-910“; String expression2 =“10-910“; CharSequence inputStr = phoneNumber; Pattern pattern = Ppile(expression); Matcher matcher = pattern.matcher(inputStr); Pattern pattern2 =Ppile(expression2); Matcher matc

34、her2= pattern2.matcher(inputStr); if(matcher.matches()|matcher2.matches() isValid = true; return isValid; public static boolean iswithin70(String text) if (text.length() arg0, View arg1, int arg2, long arg3) LayoutInflater inflater = LayoutInflater.from(this); final View v = inflater.inflate(R.layou

35、t.view02, null); Button Right = (Button) v.findViewById(R.id.right); Right.setOnClickListener(new righonclickListener(); AlertDialog.Builder builder = new AlertDialog.Builder(this) .setTitle(“请选择: “) .setView(v) .setIcon(arg0.getId() .setPositiveButton(“确定 “, new DialogInterface.OnClickListener() Ov

36、erride public void onClick(DialogInterface dialog, int which) TextView num_tv = (TextView) v.findViewById(R.id.morensl); num_tv.setText(String.valueOf(m_ClickNum); String numStr = num_tv.getText().toString(); ) .setNegativeButton(“取消 “, null); AlertDialog alert = builder.create(); alert.show(); public class righonclickListener implements OnClickListener Override public void onClick(View arg0) m_ClickNum + ;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育教学资料库 > 试题真题

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。