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

上传人:s****u 文档编号:12740009 上传时间:2020-05-20 格式:DOC 页数:17 大小:30.87KB
返回 下载 相关 举报
安卓开发考试复习题含答案.doc_第1页
第1页 / 共17页
安卓开发考试复习题含答案.doc_第2页
第2页 / 共17页
安卓开发考试复习题含答案.doc_第3页
第3页 / 共17页
点击查看更多>>
资源描述
1 安卓核心组件有哪些? What are the?Android?core components? 提供界面显示的Activtiy,提供后台计算的Service,提供进程间通信的Intent提供广播接收的BroadcastRsceiver.2 安卓 key features 有哪些?Intergrated browserSQLiteMedia supportWireless servicesDVMApplication frameworkRich development environment3安卓用什么数据库?Android?with?what?database?SQLite4几个流行的移动平台各自的 IDE 是什么?IOS XcodeAndroid EclipseWindows phone Visual Studio黑莓 Native平台5 R.java 是什么文件?干什么用的?在什么地方?What is R.java file?What for?In what place? R.java文件是Android项目自动生成的终态类R.java文件除了有自动标识资源的索引功能之外,还有另一个主要的功能,当res目录中的某个资源在应用中没有被使用到,在该应用被编译的时候系统就不会把对应的资源编译到该应用的APK包中,这样可以节省Android手机的资源。 gen/目录下6安卓平台架构分为几层?各是什么?The Android platform structure is divided into several layers? Each is what? Android 系统分为四层,从下往上分别是Linux Kernel,Libraries 和Android Runtime,Application Framework,Applications.7创建一个 UI 并运行之,有哪几个步骤?创建一个Activity把UI和Activity关联起来 注册这个Activity8 Intent 有几个组件?各是干什么用的?哪些组件是必须存在的,哪些是可选的,在Manifest中 intent filter 是如何声明的? Componment name(接收者名字) Action(指定需要被执行的动作) Data(指定用于操作的数据) Category(指定目标应用程序组件的行为) Extras Flags定义在 9 Activity的生命周期有哪些状态?状态转换时调用的方法各是什么?What is the?state of?the Activity life cycle?State transitionmethod called when?all?is?what? 一个Activity有三种状态:Running,运行在前台(在当前Activity栈的栈顶)。Paused,失去了焦点但是仍然对用户可见,比如有其他的Activity在它之上,或者透明或者没有遮住整个屏幕。Stopped,被其他Activity完全覆盖,需要注意的是包括暂停状态在内,这两种状态都仍然保存了所有状态信息,直到被系统终止。1234567void?onCreate()void?onStart()void?onRestart()void?onResume()void?onPause()void?onStop()void?onDestroy()10同一个应用之间Activity互相调用要用什么Intent(隐式、显式?还是什么?)?With an application of the Activity?call each other?to usewhat Intent (implicit, explicit? Or what?)? 显式Intent直接用组件的名称定义目标组件,这种方式很直接。但是由于开发人员往往并不清楚别的应用程序的组件名称,因此,显式Intent更多用于在应用程序内部传递消息。比如在某应用程序内,一个Activity启动一个Service。11什么是Dalvik Virtual Machine? (Dalvik虚拟机器)是一种暂存器型态的虚拟机器。简称DVM,DVM在撰写开发时就已经设想用最少的记忆体资源来执行,以及同时可执行多个VM为前提来开发的。大部分安卓应用程序都是用Java编写的,然后被编译成字节码,字节码通过dilvik虚拟机在运行环境中被解释执行12安卓日志类 Log 有几种常用方法?各用于什么输出什么信息?哪些信息只应该在开发的时候才允许输出? Errors 应用程序抛出的异常 Warnings Informational messages Debug messages Verbose messages在开发人员调试应用程序是输出13什么是Content Provider?内容提供器是应用程序之间共享数据的接口,A content provider can store and retrive data making it accessible to all application比如:联系人提供器专为不同应用程序提供联系人数据;设置提供器专为不同应用程序提供系统配置信息,包括内置的设置应用程序等。14什么是Broadcast Receiver?广播接收器是一个专注于接收广播通知信息,并做出对应处理的组件。应用程序可以拥有任意数量的广播接收器以对所有它感兴趣的通知信息予以响应。所有的接收器均继承自BroadcastReceiver基类。广播接收器没有用户界面。然而,它们可以启动一个activity来响应它们收到的信息,或者用NotificationManager来通知用户。通知可以用很多种方式来吸引用户的注意力闪动背灯、震动、播放声音等等。一般来说是在状态栏上放一个持久的图标,用户可以打开它并获取消息。15什么是Intent?Intent(意图)主要是解决Android应用的各项组件之间的通讯。Intent负责对应用中一次操作的动作、动作涉及数据、附加数据进行描述,Android则根据此Intent的描述,负责找到对应的组件,将 Intent传递给调用的组件,并完成组件的调用。16什么是Service,Service有哪些状态?Services是一个没有任何UI能够在后台长时间运行的应用程序组件Service是android?系统中的四大组件之一(Activity、Service、BroadcastReceiver、ContentProvider),它跟Activity的级别差不多,但不能自己运行只能后台运行,并且可以和其他组件进行交互。Started 一个activity调用startService()来启动它Bound 一个activity调用bindService()来绑定它17安卓的资源有哪些类型?各放在什么位置?Bool 用XML格式定义的布尔值 文件位置:res/values/filename.xmlColor 用XML格式定义的颜色值 文件位置:res/values/colors.xmlDimens 用XML格式定义的数量值 文件位置:res/values/filename.xmlID 用XML格式定义的紫苑唯一ID 文件位置:res/values/filename.xmlInteger 用XML格式定义的整数资源 文件位置:res/values/filename.xmlInteger Array 用XML格式定义的整数数组 文件位置:res/values/filename.xmlTyped Array 用XML格式定义的TypedArray 文件位置:res/values/filename.xml18 IPC是什么意思?和Intent有什么关系?Inter-Process CommunicationIPC是内部进程通信的简称, 是共享命名管道的资源。Android中的IPC机制是为了让Activity和Service之间可以随时的进行交互,故在Android中该机制,只适用于Activity和Service之间的通信,类似于远程方法调用,类似于C/S模式的访问。通过定义AIDL接口文件来定义IPC接口。Servier端实现IPC接口,Client端调用IPC接口本地代理19 Broadcast有哪几种?区别?(8.14)Normal broadcastsBroadcasts sent to all interested receivers at the same time and the receivers run in an udefined order often at the same timeOrdered broadcastsBroadcasts are sent ti all the interested receivers in a peoper order,which means that a broadcasts is delivered to one receivers at a time20 Ordered broadcast如何决定接收者的顺序?Ordered?broadcast?how to decide?the?order?To control the order in which all the interested receivers run ,you can use the android:priority attribute of the receivers intent-filter element. However ,receivers with the same priority will be run in an arbitrary order(无序)21安卓中的 Permissions,包括怎么向系统申请权限,怎么用权限保护自己等(14.9-14.11)在Manifest.xml 文件中声明一个然后在(或者其他)中加入android:permission=”permissionname”属性这样以后其他应用程序使用这个程序需要先申请对应权限22安卓原生支持几种IO机制?各自有什么特点?Android?native support for?several IO mechanisms?The respective?characteristics of what?23安卓原生的content provider有哪些?Browser 用于访问与浏览历史,书签,搜索记录相关的数据Contacts 用于访问和修改native contact details databaseCall log 用于访问通话记录Media store 访问设备上的多媒体文件(multimedia file)Settings 用于访问和修改设备的参数设置,蓝牙,铃声24如何创建一个content provider? 打开EOE工程,创建一个新的Eoe类,扩展Content Provider。重写onCreate、getType、query、insert、delete和update方法。25安卓下访问一个文件,要写到文件最后,要用什么模式打开文件?To access a file?to be?written to a file?for Android,?finally,?to open the?file with whatpattern?MODE_APPEND 如果不存在就创建MODE_PRIVATE 创建的文件只只让本程序访问MODE_WORLD_READABLEMODE_WORLD_WRITEABLE26判断SD卡是否可用,用什么方法?Judging the SD card is available, with what method?类String state = Environment.getExternalStorageState()/获取SD卡的状态MEDIA_MOUNTED 表示SD卡存在并且挂载,可以读或者写MEDIA_REMOVED 表示没有检测到SD卡MEDIA_UNMOUNTED 表示SD卡存在但是没有挂载MEDIA_MOUNTED_READ_ONLY 表示SD卡存在且挂载,但是只读27 Shared Preferences 是什么?有什么用?SharedPreferences是Android平台上一个轻量级的存储类,主要是保存一些常用的配置比如窗口状态,一般在Activity中重载窗口状态onSaveInstanceState保存一般使用SharedPreferences完成,它提供了Android平台常规的Long长整形、Int整形、String字符串型的保存28要从远端URL播放多媒体文件用什么stream?HTTP streaming29创建一个安卓数据库都有哪些途径?Create?an Android?databases have?what way?2种通过 Shell Commands:打开adb shell ,使用cd 命令转到需要创建数据库的文件夹下,使用 sqlite3直接创建一个数据库通过代码创建:使用类SQLiteDatabase sqlDB;SqlDB = openOrCreateDatabase(NAME,SQLiteDatabase.CREATE_IF_NECESSARY,NULL);SqlDB.execSQL(“CREATE TABLE” + TABLE_NAME + “id INTEGER PRIMARY KEY,Name TEXT, Phone LONG”)30安卓有几种布局管理器(Layout)?各有什么特点?Android?has several?layout manager(Layout)?What are the characteristics?5种1.FrameLayout:children按照从左上开始的顺序排列,主要用于tabed view或者图片切换功能;最简单的布局模型,在这种布局下每个添加的子控件都被放在布局的左上角,并覆盖在前一子控件的上层。2.线性布局(LinearLayout):children排列成一行多列或者一列多行的形式,应该是应用程序中最常用的布局方式,它提供了控件水平或者垂直排列的模型,同时我们可通过设置子控件的weight布局参数控制各个控件在布局中的相对大小。3.相对布局(RelativeLayout):children是相互之间相关位置或者和他们的parent位置相关,参照控件可以是父控件,也可以是其他子控件,但被参照的控件必须要在参照它的控件之前定义。相对布局模型所涉及的属性设置比较多,但并不复杂。4.TableLayout:children按照行列的排序,类似于html的table;模型以行列的形式管理子控件,每一行为一个TableRow的对象,也可为一个View的对象。TableRow可添加子控件,每添加一个子控件为一列。5.坐标布局(AbsoluteLayout)的子控件需要指定相对于此坐标布局的横、纵坐标值,否则将会像FrameLayout那样被排在左上角。手机应用需要适用于不同的屏幕大小,而这种布局模型不能自适应屏幕尺寸大小,所以应用得相当少。31按下button,被调用的回调函数是什么?(4.8)Press button, is what is the callback function is called? onTouchEvent()32安卓内建的theme有哪些?What are the?Android?built in theme?Theme.Black:Theme.Light:Theme.Translucent:Theme.Dialog:Theme.Holo:33各种对话框共同的父类是是什么?Various dialog common parent class is what?Dialog34 View类是什么?起什么作用?What is View? What is the role?View作为UI的最基本的元件,负责绘制UI元素和界面动作的监听。可以认为是Button,文本域等界面元素或者其他View的容器。29 Options Menu是什么?Context Menu是什么?Android手机上有个Menu按键,当Menu按下的时候,每个Activity都可以选择处理这一请求,在屏幕底部弹出一个菜单,这个菜单我们就叫做选项菜单(OptionsMenu)Android 的上下文菜单 (Context Menu)30 Android 原生支持哪几种 Dialog?What kinds of?native Android?support?Dialog?(10.17)AlertDialog 提示性ProgressDialog 进度条DatePickerDialog 允许用户选择一个日期TimePickerDialog 允许用户选择一个时间31安卓画图相关的主要有哪3个类?各自作用?Android drawing 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 tools are generally stored in what position?adb是androidsdk里的一个工具, 用这个工具可以直接操作管理android模拟器或者真实的andriod设备(如G1手机). 它的主要功能有:* 运行设备的shell(命令行)* 管理模拟器或设备的端口映射* 计算机和设备之间上传/下载文件* 将本地apk软件安装至模拟器或android设备当前用户的工作目录34安卓开发环境包括哪些东西?Android development environment includes what?Device emulator设备模拟器Debugging tools调试工具Memory and performance profiler内存及性能分析工具Eclipse集成开发环境以及安卓开发插件35安卓应用程序有哪些类型?What type of Android applications? 前台应用程序 后台应用程序 间歇式应用程序 小组件36 和 是什么?各自干什么用的?使用权限 用来保护用户资源的安全 利用特征 Android Market会根据uses-feature过滤所有你设备不支持的应用。37周期性Alarm用什么方法创建?The periodic Alarm with what method to create?setRepeating()38 安卓如何获得位置提供者,具体方法类有哪些?安卓支持哪几种Location Provider?GPSCell tower triangulationWi-Fi hosspotsLocationManagerAndroid how to obtain location provider, what are the specific methods?39安卓收到一个短信,会触发什么样的broadcast?SMS_RECEIVED40什么是ADT-Plugin?ADT(Android开发工具包)是一个为Eclipse集成开发环境设计的有效、快速构建Android应用程序的插件。 ADT扩展了Eclipse的功能,让您快速建立新的Android项目,创建一个应用程序UI,添加基于Android框架API的程序包,使用SDK工具调试你的程序,甚至导出签名的(或未签名的)apk格式的文件来发布你的应用程序。发送短信,拨叫某个号码(可以是直接拨叫、也可以是启动拨号面板,不考虑权限问题)直接拨号面板dialIntent = new Intent()发送短信:private EditText phone_number_editTextprivate EditText sms_content_editText;private Button send_sms_button;send_sms_button.setOnClickListener(new View.OnClickListener() Overridepublic void onClick(View arg0) String phone_number = phone_number_editText.getText().toString().trim(); String sms_content = sms_content_editText.getText().toString().trim(); if(phone_number.equals() Toast.makeText(MainActivity.this, “请输入手机号码”, Toast.LENGTH_LONG).show(); else SmsManager smsManager = SmsManager.getDefault(); if(sms_content.length() 70) /当短信超过SMS消息的最大长度时,将短信分割为几块。 List contents = smsManager.divideMessage(sms_content); for(String sms : contents) smsManager.sendTextMessage(phone_number, null, sms, null, null); else smsManager.sendTextMessage(phone_number, null, sms_content, null, null); Toast.makeText(MainActivity.this, “发送成功”, Toast.LENGTH_SHORT).show(); );如何从内部、外部(SD卡)存储器存取文件内部:Strint Filename = “mydata.txt”;Strint data = “hello world”;/写tryPrintWriter pw = new PrintWriter(openFileOutput(FILENAME,Context.MODE_PRIVATE);pw.println(“hello world”);pw.close();Catch(Exception ex)Log.e(“Exception”, ex.toString() );/读tryBufferedInputStream bis =new BufferedInputStream( openFileInput(FILENAME);byte buffer = new byte10000;while( bis.read(buffer) != -1)String mydata = new String (buffer);Bis.close();Catch(Exception ex)Log.e(“Exception”, ex.toString() )SD卡:使用之前需要查询是否可用Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)=1写String MYFILE = “MyData.txt”;tryPrintWriter pw = new PrintWriter(new FileOutputStream ( Environment.getExternalStorageDirector() + ”/” + MYFILE );pw.write(“hello world”)pw.close();catch(Exceprtion ex)Log.e(“io”,”error”)读tryBufferedInputStream bis = new BufferedInputStream(newFileInputStream(Environment.getExternalStorageDiretor()+”/”+MYFILE);Byte buffer = new bytefis.available();bis.read(buffer);string str = new string(buffer);bis.close();catch(Exception ex)Log.e(“io”,”error”);如何获取当前地理位置. How the current geographical location access获取LocationManager的一个实例LocationManager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);注册一个周期性的位置更新locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 1000, 0, locationListener);最后一个参数是LocationListener的一个引用,我们必须要实现这个类private final LocationListener locationListener = new LocationListener() public void onLocationChanged(Location location) /当坐标改变时触发此函数,如果Provider传进相同的坐标,它就不会被触发 / log it when the location changes if (location != null) Log.i(SuperMap, Location changed : Lat: + location.getLatitude() + Lng: + location.getLongitude(); public void onProviderDisabled(String provider) / Provider被disable时触发此函数,比如GPS被关闭 public void onProviderEnabled(String provider) / Provider被enable时触发此函数,比如GPS被打开 public void onStatusChanged(String provider, int status, Bundle extras) / Provider的转态在可用、暂时不可用和无服务三个状态直接切换时触发此函数 ;以上的这些步骤一般应当在Activity的onCreate()阶段完成。在成功注册了一个周期性坐标更新以后,我们就随时可以通过下面的方法来取得当前的坐标了。Location location = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);double latitude = location.getLatitude(); /经度double longitude = location.getLongitude(); /纬度double altitude = location.getAltitude(); /海拔如何显示一个Status Bar Notification.1.?获得NotificationManager对象的引用:?String?ns?=?Context.NOTIFICATION_SERVICE;?NotificationManager?mNotificationManager?=?(NotificationManager)?getSystemService(ns);?2.?初始化Notification对象:?(内容,时间,图标)long?when?=?System.currentTimeMillis();?Notification?notification?=?new?Notification(icon,?tickerText,?when);3.?定义通知消息和PendingIntent对象:?Context?context?=?getApplicationContext();?CharSequence?contentTitle?=?My?notification;?CharSequence?contentText?=?Hello?World!;?Intent?notificationIntent?=?new?Intent(this,?MyClass.class);?PendingIntent?contentIntent?=?PendingIntent.getActivity(this,?0,?notificationIntent,?0);?notification.setLatestEventInfo(context,?contentTitle,?contentText,?contentIntent);?4.?把Notification对象传递给NotificationManager:?private?static?final?int?HELLO_ID?=?1;?mNotificationManager.notify(HELLO_ID,?notification);?如何播放res/raw/abc.mp3.Mediaplayer.start();如何打开一个contact with ID 3. (p6.32)如何找到一个ID为tabHost的ViewTabHost tabHost = (tabHost)如何点按一个Button后,让某个TextView内容发生变化。?Button btn?=?(Button)?Right.setOnClickListener(new?righonclickListener();
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 考试试卷


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!