分享
分销 收藏 举报 申诉 / 11
播放页_导航下方通栏广告

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

  • 上传人:人****来
  • 文档编号:4752289
  • 上传时间:2024-10-11
  • 格式:DOC
  • 页数:11
  • 大小:120.51KB
  • 下载积分:8 金币
  • 播放页_非在线预览资源立即下载上方广告
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    开发 考试 复习题 答案
    资源描述:
    1 安卓核心组件有哪些? What are the Android core components? 提供界面显示的Activtiy, 提供后台计算的Service, 提供进程间通信的Intent 提供广播接收的BroadcastRsceiver. 2 安卓 key features 有哪些? Intergrated browser SQLite Media support Wireless services DVM Application framework Rich development environment 3安卓用什么数据库?Android with what database? SQLite 4几个流行的移动平台各自的 IDE 是什么? IOS Xcode Android Eclipse Windows 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关联起来 注册这个Activity 8 Intent 有几个组件?各是干什么用的?哪些组件是必须存在的,哪些是可选的,在Manifest中 intent filter 是如何声明的? Componment name(接收者名字) Action(指定需要被执行的动作) Data(指定用于操作的数据) Category(指定目标应用程序组件的行为) Extras Flags 定义在<activity> <intent-filter> </intent-filter> </activity> 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完全覆盖,需要注意的是包括暂停状态在内,这两种状态都仍然保存了所有状态信息,直到被系统终止。 1 2 3 4 5 6 7 void 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.xml Color 用XML格式定义的颜色值 文件位置:res/values/colors.xml Dimens 用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/filename.xml 18 IPC是什么意思?和Intent有什么关系? Inter-Process Communication IPC是内部进程通信的简称, 是共享"命名管道"的资源。Android中的IPC机制是为了让Activity和Service之间可以随时的进行交互,故在Android中该机制,只适用于Activity和Service之间的通信,类似于远程方法调用,类似于C/S模式的访问。通过定义AIDL接口文件来定义IPC接口。Servier端实现IPC接口,Client端调用IPC接口本地代理 19 Broadcast有哪几种?区别?(8.14) Normal broadcasts Broadcasts sent to all interested receivers at the same time and the receivers run in an udefined order often at the same time Ordered broadcasts Broadcasts are sent ti all the interested receivers in a peoper order,which means that a broadcasts is delivered to one receivers at a time 20 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 receiver’s intent-filter element. However ,receivers with the same priority will be run in an arbitrary order(无序) 21安卓中的 Permissions,包括怎么向系统申请权限,怎么用权限保护自己等(14.9-14.11) 在Manifest.xml 文件中声明一个<permission…></permission> 然后在<activity…></activity>(或者其他)中加入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 database Call 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_READABLE MODE_WORLD_WRITEABLE 26判断SD卡是否可用,用什么方法?Judging the SD card is available, with what method? Android.os.Environment类 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 streaming 29创建一个安卓数据库都有哪些途径?Create an Android databases have what way? 2种 通过 Shell Commands: 打开adb shell ,使用cd 命令转到需要创建数据库的文件夹下,使用 sqlite3<database name>直接创建一个数据库 通过代码创建: 使用android.database.sqlite.SQLiteDatabase类 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? Dialog 34 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 <uses-permission> 和 <uses-feature> 是什么?各自干什么用的? 使用权限 用来保护用户资源的安全 利用特征 Android Market会根据uses-feature过滤所有你设备不支持的应用。 37周期性Alarm用什么方法创建?The periodic Alarm with what method to create? setRepeating() 38 安卓如何获得位置提供者,具体方法类有哪些?安卓支持哪几种Location Provider? GPS Cell tower triangulation Wi-Fi hosspots LocationManager Android how to obtain location provider, what are the specific methods? 39安卓收到一个短信,会触发什么样的broadcast? SMS_RECEIVED 40什么是ADT-Plugin? ADT(Android开发工具包)是一个为Eclipse集成开发环境设计的有效、快速构建Android应用程序的插件。 ADT扩展了Eclipse的功能,让您快速建立新的Android项目,创建一个应用程序UI,添加基于Android框架API的程序包,使用SDK工具调试你的程序,甚至导出签名的(或未签名的)apk格式的文件来发布你的应用程序。 发送短信,拨叫某个号码(可以是直接拨叫、也可以是启动拨号面板,不考虑权限问题) 直接呼叫Intent i = new Intent(Intent.ACTION_CALL, Uri.parse(“tel:18951633222”)) 拨号面板dialIntent = new Intent(Intent.ACTION_DIAL,Uri.parse(“tel:1895189443”)) 发送短信: private EditText phone_number_editText private EditText sms_content_editText; private Button send_sms_button; phone_number_editText = (EditText) findViewById(R.id.phone_number_editText); sms_content_editText = (EditText) findViewById(R.id.sms_content_editText); send_sms_button = (Button) findViewById(R.id.send_sms_button); send_sms_button.setOnClickListener(new View.OnClickListener() { @Override public 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<String> 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”; //写 try{ PrintWriter pw = new PrintWriter(openFileOutput(FILENAME,Context.MODE_PRIVATE)); pw.println(“hello world”); pw.close(); } Catch(Exception ex) { Log.e(“Exception”, ex.toString() ); } //读 try{ BufferedInputStream bis =new BufferedInputStream( openFileInput(FILENAME)); byte[ ] buffer = new byte[10000]; 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”; try{ PrintWriter pw = new PrintWriter(new FileOutputStream ( Environment.getExternalStorageDirector() + ”//” + MYFILE )); pw.write(“hello world”) pw.close(); }catch(Exceprtion ex){ Log.e(“io”,”error”) } 读 try{ BufferedInputStream bis = new BufferedInputStream(new FileInputStream(Environment.getExternalStorageDiretor()+”//”+MYFILE); Byte[] buffer = new byte[fis.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对象: (内容,时间,图标) int icon = R.drawable.notification_icon; CharSequence tickerText = "Hello";  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 mediaplayer = MediaPlayer.Create(content,r.raw.mp3_file); Mediaplayer.start(); 如何打开一个contact with ID 3. (p6.32) content://contacts///people//3 如何找到一个ID为tabHost的View TabHost tabHost = (tabHost)findViewById(R.id.tabHost); 如何点按一个Button后,让某个TextView内容发生变化。     Button btn = (Button) findViewById(R.id.right);     Right.setOnClickListener(new righonclickListener());  
    展开阅读全文
    提示  咨信网温馨提示:
    1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
    2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
    3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
    4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
    5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
    6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

    开通VIP折扣优惠下载文档

    自信AI创作助手
    关于本文
    本文标题:安卓开发考试复习题含答案.doc
    链接地址:https://www.zixin.com.cn/doc/4752289.html
    页脚通栏广告

    Copyright ©2010-2026   All Rights Reserved  宁波自信网络信息技术有限公司 版权所有   |  客服电话:0574-28810668    微信客服:咨信网客服    投诉电话:18658249818   

    违法和不良信息举报邮箱:help@zixin.com.cn    文档合作和网站合作邮箱:fuwu@zixin.com.cn    意见反馈和侵权处理邮箱:1219186828@qq.com   | 证照中心

    12321jubao.png12321网络举报中心 电话:010-12321  jubao.png中国互联网举报中心 电话:12377   gongan.png浙公网安备33021202000488号  icp.png浙ICP备2021020529号-1 浙B2-20240490   


    关注我们 :微信公众号  抖音  微博  LOFTER               

    自信网络  |  ZixinNetwork