安卓开发考试复习题含答案.docx_第1页
安卓开发考试复习题含答案.docx_第2页
安卓开发考试复习题含答案.docx_第3页
安卓开发考试复习题含答案.docx_第4页
安卓开发考试复习题含答案.docx_第5页
已阅读5页,还剩6页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 安卓核心组件有哪些? What are theAndroidcore components? 提供界面显示的Activtiy,提供后台计算的Service,提供进程间通信的Intent和提供广播接收的BroadcastRsceiver.安卓用什么数据库?Androidwithwhatdatabase?SQLite2 R.java 是什么文件?干什么用的?在什么地方?What is R.java file?What for?In what place? R.java文件是Android项目自动生成的终态类R.java文件除了有自动标识资源的索引功能之外,还有另一个主要的功能,当res目录中的某个资源在应用中没有被使用到,在该应用被编译的时候系统就不会把对应的资源编译到该应用的APK包中,这样可以节省Android手机的资源。 gen/目录下3安卓平台架构分为几层?各是什么?The Android platform structure is divided into several layers? Each is what? Android 系统分为四层,从下往上分别是Linux Kernel,Libraries 和Android Runtime,Application Frameworl,Applications.4在manifest文件中如何注册一个activity?How to register a activity in the manifest file?5 Activity的生命周期有哪些状态?状态转换时调用的方法各是什么?What is thestate ofthe Activity life cycle?State transitionmethod called whenalliswhat? 一个Activity有三种状态:激活或者运行状态,运行在前台(在当前Activity栈的栈顶)。暂停状态,失去了焦点但是仍然对用户可见,比如有其他的Activity在它之上,或者透明或者没有遮住整个屏幕。停止状态,被其他Activity覆盖,需要注意的是包括暂停状态在内,这两种状态都仍然保存了所有状态信息,直到被系统终止。1234567voidonCreate()voidonStart()voidonRestart()voidonResume()voidonPause()voidonStop()voidonDestroy()6同一个应用之间Activity互相调用要用什么Intent(隐式、显式?还是什么?)?Withan application of the Activitycall each otherto usewhatIntent(implicit,explicit?Orwhat?)? 显式Intent直接用组件的名称定义目标组件,这种方式很直接。但是由于开发人员往往并不清楚别的应用程序的组件名称,因此,显式Intent更多用于在应用程序内部传递消息。比如在某应用程序内,一个Activity启动一个Service。7什么是Dalvik Virtual Machine? (Dalvik虚拟机器)是一种暂存器型态的虚拟机器。简称DVM,DVM在撰写开发时就已经设想用最少的记忆体资源来执行,以及同时可执行多个VM为前提来开发的。8 什么是Content Provider? Content Provider,即内容提供商或者内容提供器内容提供器是应用程序之间共享数据的接口,Android系统将这种机制应用到方方面面。比如:联系人提供器专为不同应用程序提供联系人数据;设置提供器专为不同应用程序提供系统配置信息,包括内置的设置应用程序等。9什么是Broadcast Receiver?广播接收器是一个专注于接收广播通知信息,并做出对应处理的组件。应用程序可以拥有任意数量的广播接收器以对所有它感兴趣的通知信息予以响应。所有的接收器均继承自BroadcastReceiver基类。广播接收器没有用户界面。然而,它们可以启动一个activity来响应它们收到的信息,或者用NotificationManager来通知用户。通知可以用很多种方式来吸引用户的注意力闪动背灯、震动、播放声音等等。一般来说是在状态栏上放一个持久的图标,用户可以打开它并获取消息。10什么是Intent?Intent(意图)主要是解决Android应用的各项组件之间的通讯。Intent负责对应用中一次操作的动作、动作涉及数据、附加数据进行描述,Android则根据此Intent的描述,负责找到对应的组件,将 Intent传递给调用的组件,并完成组件的调用。11什么是Service,Service有哪些状态?Service是android系统中的四大组件之一(Activity、Service、BroadcastReceiver、ContentProvider),它跟Activity的级别差不多,但不能自己运行只能后台运行,并且可以和其他组件进行交互。onCreate(),onBind()2种状态 12安卓的资源有哪些类型?各放在什么位置?Bool 用XML格式定义的布尔值 文件位置:res/values/filename.xmlColor 用XML格式定义的颜色值 文件位置:res/values/colors.xmlDimensin 用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.xml13 IPC是什么意思?和Intent有什么关系?IPC是内部进程通信的简称, 是共享命名管道的资源。Android中的IPC机制是为了让Activity和Service之间可以随时的进行交互,故在Android中该机制,只适用于Activity和Service之间的通信,类似于远程方法调用,类似于C/S模式的访问。通过定义AIDL接口文件来定义IPC接口。Servier端实现IPC接口,Client端调用IPC接口本地代理14 Broadcast有哪几种?区别? 实现广播的方法有两种。一种是在androidmanifest.xml当中去注册广播,另一种方法是在代码中动态注册广播,这两种方法虽然都能实 现广播机制,但是还是有很大不同,所以运用也要分情况。如果我们在androidmanifest.xml中去定义的话,那么该广播是在activity 结束之后也不会结束的,原因在于它已经写在了manifest.xml文件当中,也就是注册到了系统当中,所以无论你的activity是否存在,对于该 广播没有影响。而在java代码中动态注册广播,在该activity结束后,我们可以注销该广播,也就是它随着activity的消失而消失15 Ordered broadcast如何决定接收者的顺序?Orderedbroadcasthow to decidetheorder?Ordered Broadcast的接收者将按预先声明的优先级依次接受Broadcast。16安卓原生支持几种IO机制?各自有什么特点?Androidnative support forseveral IO mechanisms?The respectivecharacteristics of what?17安卓原生的content provider有哪些?AlarmClock,Browser,CalendarContract,CallLog,ContactsContract(包括有Contacts,Groups,PhoneLookup等),MediaStore(AudioAlbums,Artists,Genres,Playlists,Files,Images,Video)和Setting.18如何创建一个content provider? 打开EOE工程,创建一个新的Eoe类,扩展Content Provider。重写onCreate、getType、query、insert、delete和update方法。19安卓下访问一个文件,要写到文件最后,要用什么模式打开文件?To access a fileto bewritten to a filefor Android,finally,to open thefile 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 是什么?有什么用?haredPreferences是Android平台上一个轻量级的存储类,主要是保存一些常用的配置比如窗口状态,一般在Activity中重载窗口状态onSaveInstanceState保存一般使用SharedPreferences完成,它提供了Android平台常规的Long长整形、Int整形、String字符串型的保存22要从远端URL播放多媒体文件用什么stream?Toplay multimediafiles from a remoteURL whatstream?adodb.stream23创建一个安卓数据库都有哪些途径?Createan Androiddatabases havewhat way?24安卓有几种布局管理器(Layout)?各有什么特点?Androidhas severallayout manager(Layout)?What are the characteristics?1.FrameLayout:children按照从左上开始的顺序排列,主要用于tabed view或者图片切换功能;最简单的布局模型,在这种布局下每个添加的子控件都被放在布局的左上角,并覆盖在前一子控件的上层。2.线性布局(LinearLayout):children排列成一行多列或者一列多行的形式,应该是应用程序中最常用的布局方式,它提供了控件水平或者垂直排列的模型,同时我们可通过设置子控件的weight布局参数控制各个控件在布局中的相对大小。3.相对布局(RelativeLayout):children是相互之间相关位置或者和他们的parent位置相关,参照控件可以是父控件,也可以是其他子控件,但被参照的控件必须要在参照它的控件之前定义。相对布局模型所涉及的属性设置比较多,但并不复杂。4.TableLayout:children按照行列的排序,类似于html的table;模型以行列的形式管理子控件,每一行为一个TableRow的对象,也可为一个View的对象。TableRow可添加子控件,每添加一个子控件为一列。5.坐标布局(AbsoluteLayout)的子控件需要指定相对于此坐标布局的横、纵坐标值,否则将会像FrameLayout那样被排在左上角。手机应用需要适用于不同的屏幕大小,而这种布局模型不能自适应屏幕尺寸大小,所以应用得相当少。25按下button,被调用的回调函数是什么?Press button, is what is the callback function is called? callback()26安卓内建的theme有哪些?What are theAndroidbuilt in theme?1 Theme 2 Theme_Black 3 Theme_Light 4 Theme_Dialog 5 Theme_InputMethod6 Theme_Panel 7 Theme_Wallpaper27各种对话框共同的父类是是什么?Various dialog common parent class is what?28 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 ofnative AndroidsupportDialog?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?设备模拟器,调试工具,内存及性能分析图表,和Eclipse集成开发环境插件35安卓应用程序有哪些类型?What type of Android applications? 前台应用程序 后台应用程序 间歇式应用程序 小组件36 和 是什么?各自干什么用的?使用权限 用来保护用户资源的安全 利用特征 Android Market会根据uses-feature过滤所有你设备不支持的应用。37周期性Alarm用什么方法创建?The periodic Alarm with what method to create?38 安卓如何获得位置提供者,具体方法类有哪些?Android how to obtain location provider, what are the specific methods?39安卓收到一个短信,会触发什么样的broadcast?sendOrderedBroadcast40什么是ADT-Plugin?ADT(Android开发工具包)是一个Eclipse集成开发环境设计的有效、快速构建Android应用程序的插件。 ADT扩展了Eclipse的功能,让您快速建立新的Android项目,创建一个应用程序UI,添加基于Android框架API的程序包,使用SDK工具调试你的程序,甚至导出签名的(或未签名的)apk格式的文件来发布你的应用程序。发送短信. Send text messagespackagecom.sms;importandroid.app.Activity;importandroid.app.PendingIntent;importandroid.content.Intent;importandroid.os.Bundle;importandroid.telephony.SmsManager;importandroid.view.View;importandroid.widget.Button;importandroid.widget.EditText;importandroid.widget.Toast;importjava.util.regex.Matcher;importjava.util.regex.Pattern;publicclassSend_smsActivityextendsActivityprivateButtonmButton1;privateEditTextmEditText1; privateEditTextmEditText2; publicvoidonCreate(BundlesavedInstanceState) super.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(请输入电话号码);mEditText2.setText(请输入短信内容!); mEditText1.setOnClickListener(newEditText.OnClickListener() publicvoidonClick(Viewv) mEditText1.setText(); );mEditText2.setOnClickListener(newEditText.OnClickListener() publicvoidonClick(Viewv) mEditText2.setText(); ); mButton1.setOnClickListener(newButton.OnClickListener() Override publicvoidonClick(Viewv) StringstrDestAddress=mEditText1.getText().toString(); StringstrMessage=mEditText2.getText().toString(); SmsManagersmsManager=SmsManager.getDefault(); /TODOAuto-generatedmethodstub if(isPhoneNumberValid(strDestAddress)=true&iswithin70(strMessage)=true) try /SmsManagermanager=SmsManager.getDefault(); /smsManager.sendTextMessage(10086,null,hi,thisissms,null,null); PendingIntentmPI=PendingIntent.getBroadcast(Send_smsActivity.this,0,newIntent(),0); smsManager.sendTextMessage(strDestAddress,null,strMessage,mPI,null);/ /smsManager.sendTextMessage(10086,null,hi,thisissms,mPI,null); catch(Exceptione) 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,电话号码格式错误+短信内容超过70字,请检查!,Toast.LENGTH_SHORT).show(); else Toast.makeText(Send_smsActivity.this,电话号码格式错误,请检查!,Toast.LENGTH_SHORT).show(); elseif(iswithin70(strMessage)=false) Toast.makeText(Send_smsActivity.this,短信内容超过70字,请删除部分内容!,Toast.LENGTH_SHORT).show(); ); publicstaticbooleanisPhoneNumberValid(StringphoneNumber)booleanisValid=false; Stringexpression=10-910;Stringexpression2=10-910;CharSequenceinputStr=phoneNumber;Patternpattern=Ppile(expression); Matchermatcher=pattern.matcher(inputStr); Patternpattern2=Ppile(expression2);Matchermatcher2=pattern2.matcher(inputStr);if(matcher.matches()|matcher2.matches()isValid=true;returnisValid;publicstaticbooleaniswithin70(Stringtext)if(text.length()=70)returntrue;elsereturnfalse;如何读取SD卡. How to read SD card /sdcard是否可读写 public boolean IsCanUseSdCard() try return Environment.getExternalStorageState().equals( Environment.MEDIA_MOUNTED); catch (Exception e) e.printStackTrace(); return false;如何获取当前地理位置. How the current geographical location accessimport android.location.Location;import android.location.LocationManager;Location loc;LocationManager locMan;loc = locMan.getCurrentLocation(strProvider);Lat = (float)loc.getLatitude();Lon = (float)loc.getLongitude;如何显示一个Status Bar Notification.1.获得NotificationManager对象的引用:Stringns=Context.NOTIFICATION_SERVICE;NotificationManagermNotificationManager=(NotificationManager)getSystemService(ns);2.初始化Notification对象:inticon=R.drawable.notification_icon;CharSequencetickerText=Hello;longwhen=System.currentTimeMillis();Notificationnotification=newNotification(icon,tickerText,when);3.定义通知消息和PendingIntent对象:Contextcontext=getApplicationContext();CharSequencecontentTitle=Mynotification;CharSequencecontentText=HelloWorld!;IntentnotificationIntent=newIntent(this,MyClass.class);PendingIntentcontentIntent=PendingIntent.getActivity(this,0,notificationIntent,0);notification.setLatestEventInfo(context,contentTitle,contentText,contentIntent);4.把Notification对象传递给NotificationManager:privatestaticfinalintHELLO_ID=1;mNotificationManager.notify(HELLO_ID,notification);如何播放res/raw/abc.mp3.InputStream is = getResources().openRawResource(R.id.filename);如何打开一个contact with ID 3.如何找到一个ID为tabHost的View10. public void onCreate(Bundle savedInstanceState) 11. super.onCreate(savedInstanceState); 12. TabHost tabHost = getTabHost();13. LayoutInflater.from(this).inflate(R.layout.tab1, tabHost.getTabContentView(),true);14. LayoutInflater.from(this).inflate(R.layout.tab

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论