安卓面试问答题_第1页
安卓面试问答题_第2页
安卓面试问答题_第3页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

1、二、问答题1. 说明使用操作栏为程序开发所带来的便利。答案:操作栏代替了传统的标题栏功能,右侧用来显示“选项菜单的菜单项,但所显示的内容,会根据操作栏所具有的空间不同而具有不同的显示方式。在屏幕尺寸较小的设备上,操作栏会自动隐藏菜单项的文字,而仅现实菜单项的图标; 而在屏幕尺寸较大的设备上,操作栏会同时现实菜单项的文字和图标。操作栏提 供多个实用的功能,包括1将“选项菜单的菜单项现实在操作栏的右侧;2基于Fragment实现类似于Tab页的导航切换功能;3为导航提供可“拖 拽一放置的下拉列表;4可在操作栏上实现类似于“搜索框的功能。2. 写出an droid中主要的三种数据存储方式。答案一:数

2、据存储方式有三种:一个是文件,一个是数据库,另一个那么是网络。答案二:常用的数据存储方式:SharePreferenee存储、File存储分为 内 存存储和SD卡存储、SQLite数据库存储和网络存储。答案三:2.文件存储数据库方式?4.内容提供器Content?provider 5.?网络存储方式3. 简述an droid中的适配器作用,an droid有哪些适配器区别是什么答案:作用:把一些数据给弄得适当,适合以便于在View上显示。我们常用的适配器一共有三个,ArrayAdapter ,SimpleAdapter,SimpleCursorAdapter ,他们都是继承 BaseAdapt

3、er其中以ArrayAdapter最为简单,只能展示一行字。 SimpleAdapter有最好的扩 充性,可以自定义出各种效果。SimpleCursorAdapter可以认为是SimpleAdapter对数据库的简单结合,可以方面的把数据库的内容以列表的形式展示出来。4. 说明线程的两种实现方式是什么答案:第一种方式:使用Runnable接口创立线程。第二种方式:直接继承Thread 类创立对象使用Runnable接口创立线程。5. 说明如何在不同的activity之间进行传值答案:根本数据类型可以通过 I ntent传递数据(key, value)(n ame, value)两个Activi

4、ty之间跳转时必然会执行的是哪几个方法。答案:一般情况比方说有两个activity, 分别叫A,B,当在A里面激活B组件的时 候,A会调用 onPause()方法,然后 B 调用 onCreate() ,onStart(), OnResume(), 这个时候B覆盖了窗体,A会调用onStop()方法.如果B呢是个透明的,或者是对 话框的样式,就不会调用onStop()方法8. 怎么让在启动一个Activity 是就启动一个service答案:在 activity 的 onCreate()方法里面 startService();9. I nte nt作用答案:An droid中通过In te n

5、t对象来表示一条消息,一个In te nt对象不仅包含有这个消息的目的地,还可以包含消息的内容,这好比一封Email,其中不仅 应该包含收件地址,还可以包含具体的内容。对于一个In te nt对象,消息“目的地是必须的,而内容那么是可选项。通过In te nt可以实现各种系统组件的调用与激活.10. Intent传递数据时,可以传递哪些类型数据答案:一般的根本数据类型Intent .putextra()();数据的uri,()();11. Activity ,intent、Service 和 BroadCastReceiver 之间是什么关系Activity 、Intent、Service、B

6、roadCastReceiver 的概念(每个分),一个应用程序怎么去利用他们(每个1分)中常用的数据存储方式和怎样去实现这些存储方式答案:常用的数据存储方式:SharePreferenee存储、File存储分为 内存存储和SD卡存储、SQLite数据库存储和网络存储。每个分怎样去实现这 些存储每个1分13.简述文件答案:是每个an droid程序中必须的文件。它位于整个工程的根目录,描述了 package中暴露的组件activities, services,等等,他们各自的实现类,各种能被处理的数据和启动位置。除了能声明程序中的Activities,ContentProviders, Ser

7、vices,和 Intent Receivers, 还能指定 permissions 和in strume ntatio n平安控制和测试14 .举例说明 android:gravity与 android:layout_gravity的区另S答案:LinearLayout 有两个非常相似的属性:android:gravity与android:layout_gravity 。他们的区别在于: android:gravity 用于设置 View 组件的对齐方式,而an droid:layout_gravity用于设置Con tai ner组件的对齐方式。举个例子,我们可以通过设置 android:

8、gravity="center"来让EditText中的文字在EditText组件中居中显示;同时我们设置 EditText的android:layout_gravity="right" 来让 EditText 组件在 LinearLayout中居右显示。15. 注册播送接收者两种方式是什么答案:首先写一个类要继承 BroadcastReceiver第一种:在清单文件中声明,添加vreceivea ndroid: name=".l ncomi ngSMSReceiver " ><i nte nt-filter> va

9、cti onan droid:n ame="")<i nte nt-filter><receiver>二种使用代码进行注册如:In te ntFilterfilter = new In te ntFilter("");In comi ngSMSReceiverreceiver = new In comgSMSReceiver();registerReceiver;16. 请介绍下An droid中常用的五种布局。答案:FrameLayout (框架布局),LinearLayout (线性布局),AbsoluteLayout(绝对布

10、局),RelativeLayout(相对布局),TableLayout (表格布局)17. 请介绍下An droid的数据存储方式。一 .SharedPrefere nces 方式二. 文件存储方式三. SQLite数据库方式四. 内容提供器(Content provider )方式五. 网络存储方式18. 如何启用Service,如何停用Service。答案:()和效劳不能自己运行,需要通过调用()或()方法启动效劳。这两个方法 都可以启动Service,但是它们的使用场合有所不同。1. 使用startService()方法启用效劳,调用者与效劳之间没有关连,即使调用者退出了,效劳仍然运行。

11、使用bindService()方法启用效劳,调用者与效劳绑定在了一起,调用 者一旦退出,效劳也就终止。2. 采用()方法启动效劳,在效劳未被创立时,系统会先调用效劳的onCreate()方法,接着调用onStart()方法。如果调用startService()方法前服务已经被创立,屡次调用startService()方法并不会导致屡次创立效劳,但会导致屡次调用onStart()方法。采用startService()方法启动的效劳,只能调用()方法结束效劳,效劳结束时会调用 onDestroy()方法。3. 采用()方法启动效劳,在效劳未被创立时,系统会先调用效劳的 onCreate()方法,接

12、着调用onBind()方法。这个时候调用者和效劳绑定在一起, 调用者退出了,系统就会先调用效劳的onUnbind()方法,。接着调用onDestroy() 方法。如果调用bindService()方法前效劳已经被绑定,屡次调用bindService() 方法并不会导致屡次创立效劳及绑定(也就是说onCreate()和on Bi nd()方法并 不会被屡次调用)。如果调用者希望与正在绑定的效劳解除绑定,可以调用 un bi ndService()方法,调用该方法也会导致系统调用效劳的onUnbin d()->on Destroy()方法中的动画有哪几类,它们的特点和区别是什么答案:两种,一

13、种是Tween动画、还有一种是Frame动画。Tween动画,这种实 现方式可以使视图组件移动、放大、缩小以及产生透明度的变化;另一种Frame动画,传统的动画方法,通过顺序的播放排列好的图片来实现,类似电影。20. 谈谈UI中,Padding和Margin有什么区别答案:Padding文字对边框,margin是控件与控件之间的距离。21. Adapter的作用是什么常见的 Adapter有哪些(见3)答案:Apapter使数据绑定到控件变得更加简单和灵活,为容器提供子视图,利 用视图的数据和元数据来构建每个子视图。常见有 arrayAdapter , simpleCursorAdapter

14、,cursorAdapter , resourceCursorAdapter22. a ndroid四大组件是什么,各有有什么作用答案一:Activity : Activity 是An droid程序与用户交互的窗口,是 An droid 构造块中最根本的一种,它需要为保持各界面的状态,做很多持久化的事情,妥 善管理生命周期以及一些跳转逻辑。service :后台效劳于Activity ,封装有一个完整的功能逻辑实现,接受上 层指令,完成相关的事务,定义好需要接受的Intent提供同步和异步的接口。Con te nt Provider :是An droid提供的第三方应用数据的访问方案,可以派

15、生Content Provider 类,对外提供数据,可以像数据库一样进行选择排序,屏 蔽内部数据的存储细节,向外提供统一的接口模型,大大简化上层应用,对数据 的整合提供了更方便的途径。Broadcast Receiver :接受一种或者多种Intent作触发事件,接受相关消息,做一些简单处理,转换成一条Notification,统一了 An droid的事件播送模型。答案二:Activity 是An droid程序的呈现层,显示可视化的用户界面,并接收 与用户交互所产生的界面事件,用于提示用户程序已经正常启动。Service 一般用于没有用户界面,但需要长时间在后台运行的应用。Broadca

16、seReceiver是用来接受并响应播送消息的组件。Con te ntProvider是An droid系统提供的一种标 准的共享数据的机制,应用程序可以通过ContentProvider访问其他应用程序的 私有数据。23. a ndroid中常用的四个布局有哪些答案:五种布局方式,分别是:FrameLayout 框架布局,LinearLayout(线性布局),AbsoluteLayout (绝对布局),RelativeLayout (相对布局), TableLayout (表格布局)24. an droid的四大组件是什么答案:Activity 、Service、BroadcastRecei

17、ver、ContentProvider25. android中 service 的实现方法是:startservice 和 bindservice。26. activity一般会重载7个方法用来维护其生命周期,分别是什么(至少写5个)答案:onCreate() ,onStart() ,onDestory()、on Restart() ,on Resume() ,on Pause() ,on Stop()27. android的数据存储的方式有哪些(见2)28. 简述在嵌入式系统中使用SQlite数据库的优势。29 程序运行的结果是: good and gbc。public class Exam

18、pleString str=new Strin g("good");charch='a','b','c'public static void main( Stri ng args)Example ex=new Example();J J"a nd ");public void cha nge(Stri ng str,char ch)str="test ok"ch0='g'30. 简述Service的用途见2231. 简述an droid系统三种菜单的特点及使用方式答案:A

19、n droid系统支持的三种菜单分别是:选项菜单、子菜单和快捷菜单。1选项菜单是常用的An droid系统菜单,可分为图标菜单和扩展菜单,图标菜单的子项最多是六个,支持显示图标,不支持单项选择框和复选框;而当子项多余 六个时,采用扩展菜单,扩展菜单的子项是垂直排列,支持单项选择框和复选框,不 支持显示图标。第一次启动选项菜单时,只需要调用一次on CreateMe nu函数。2子菜单的表现形式是浮动窗体的形式,适应小屏幕的显示形式,能够展示更加详细的信息,通过addSubMeni函数增加子菜单,但不支持嵌套。在选项菜 单和快捷菜单中使用子菜单,便于显示和分类相似的菜单子项。3快捷菜单采用动窗体

20、的显示形式,启动方式特别,点击界面元素超过2秒后,那么启动该界面元素的快捷菜单。每次启动快捷菜单时,都要调用一次on CreateMe nu函数。32. 简述Intent的定义和用途答案:Intent是一个动作的完整描述,包含了动作的产生组件、接收组件和传递的数据信息。Intent 为 Activity 、Service 和 BroadcastReceiver 等组件提 供交互能力,将一个组件的数据和动作传递给另一个组件。In te nt的一个最常见的用途就是启动Activity 和Service ;另一个用途是在 An droid系统上发布 播送消息,播送消息可以是接收到特定数据或消息, 也

21、可以是 的信号变化或 电池的电量过低等信息。33. android 中 service 的实现方法是:startservice 和 bindservice。34. 当启动一个Activity 并且新的Activity 执行完后需要返回到启动它的 Activity 来执行的回调函数是通信效劳端编程步骤 答案:1.创立一个ServerSocket ,用于监听客户端Socket的连接请求。2.采用循环不断接受来自客户端的请求。3.每当接受到客户端Socket的请求,效劳器 端也对应产生一个Socket36. Socket通信客户端编程步骤答案:客户端编程步骤:1、创立客户端套接字指定效劳器端IP地址

22、与端口号。2、连接Android 创立Socket时会自动连接。3、与效劳器端进行通信。4、 关闭套接字。的作用答案:费时的任务操作总会启动一些匿名的子线程,太多的子线程给系统带来巨大的负担,随之带来一些性能问题。因此an droid提供了一个工具类Asyn cTask, 顾名思义异步执行任务。这个 Asyn cTask生来就是处理一些后台的比拟耗时的 任务,给用户带来良好用户体验的,从编程的语法上显得优雅了许多,不再需要 子线程和Handler就可以完成异步操作并且刷新用户界面。38. 两种播送注册类型的区别是什么答案:1第一种是常驻型静态注册,也就是说当应用程序关闭后,如果有信 息播送来,

23、程序也会被系统调用自动运行。2第二种不是常驻型播送动态注册, 也就是说播送跟随程序的生命周期。注册的方法有两种,一种是静态注册,一种是动态注册。动态注册优点:在 An droid的播送机制中,动态注册的优先级是 要高于静态注册优先级的,因此在必要的情况下,我们是需要动态注册播送接收 器的。静态注册优点:动态注册播送接收器还有一个特点,就是当用来注册的 Activity 关掉后,播送也就失效了。同时反映了静态注册的一个优势,就是无 需担忧播送接收器是否被关闭,只要设备是开启状态,播送接收器就是翻开着的。39. Android中为什么要引入Handler答案:在开发An droid移动客户端的时候

24、往往要使用多线程来进行操作,我们 通常会将耗时的操作放在单独的线程执行,防止其占用主线程而给用户带来不好的用户体验。但是在子线程中无法去操作主线程(UI线程),在子线程中操作 UI线程会出现错误。因此an droid提供了一个类Ha ndler来在子线程中来更新 UI线程,用发消息的机制更新UI界面,呈现给用户。这样就解决了子线程更 新UI的问题。40. Adapter的作用是什么常见的Adapter有哪些文件中主要有哪些信息答案:它指定了该应用程序的Java包:该包名作为应用程序的一个独特标识。它描述了应用程序组件:该应用程序由哪些 activity ,service ,broadcast

25、receiver和content provider组成。它指定了实现每个组件的类以及公开发布 它们的能力(例如,它们能持有哪个In te nt信息)。这些声明使An droid系统知 道这儿有什么组件以及在什么条件下它们可以被载入。它决定那些进程将容纳应用程序组件。它声明了本应用程序必须拥有哪些许可,以便访问API的被保护局部,以及与其他应用程序交互。它也声明了其他应用程序在和该应用程序交互时需要持有的许可。它列出了 Instrumentation 类,可以在应用程序运行时提供简档和其他信息。这 些声明仅当应用程序在开发和测试过程中被提供;它们将在应用程序正式发布之 前被移除。它声明了该应用程

26、序所需的 An droid API的最小化水平。它列出了该应用程序必须链接的库。启动一个线程使用run()还是start()答案:启动线程肯定要用start()方法。当用start()开始一个线程后,线程就 进入就绪状态,使线程所代表的虚拟处理机处于可运行状态,这意味着它可以由JVM调度并执行。这并不意味着线程就会立即运行。当cpu分配给它时间时,才开始执行run()方法(如果有的话)。START(是方法,它调用RUN()方法.而RUN() 方法是你必须重写的.run()方法中包含的是线程的主体。41. 你如何评价An droid系统优缺点(总共写出5条即可)。An droid平台 5大优势:

27、一、开放性二、挣脱运营商的束缚三、丰富的硬件选择四、不受任何限制的开发商五、无缝结合的Google应用再说An droid 的5大缺乏:一、平安和隐私二、首先开卖An droid 的不是最大运营商三、运营商仍然能够影响到An droid 四、同类机型用户减少五、过分依赖开发商缺少标准配置42. ?如何将SQLite数据库文件)与apk文件一起发布解答:可以将文件复制到 Eclipse An droid 工程中的res raw目录中。所有在 res raw目录中的文件不会被压缩,这样可以直接提取该目录中的文件。可以将 文件复制到res raw 目录中43. 如何将翻开res raw目录中的数据库

28、文件解答:在An droid中不能直接翻开res raw目录中的数据库文件,而需要在程序 第一次启动时将该文件复制到 内存或SD卡的某个目录中,然后再翻开该数据库文件。复制的根本方法是使用 getResources().openRawResource方法获得 res raw目录中资源的InputStream 对象,然后将该InputStream 对象中的数据 写入其他的目录中相应文件中。 在An droid SDK中可以使用方法来翻开任意目录 中的SQLite数据库文件。44. activity一般会重载7个方法用来维护其生命周期,分别是什么(至少写5个)(见上)45 .请介绍下An droi

29、d中常用的五种布局。答案:FrameLayout (帧布局),LinearLayout(线性布局),AbsoluteLayout(绝对布局),RelativeLayout(相对布局),TableLayout (表格布局)。46. 通过 startService ()和 bindService ()启动 service ,service 的生 命周期上有哪些不同答案:通过startService() 启动效劳:会调用如下生命周期方法:on Create。->on Start()->on Destory()如果是调用bindService()启动效劳:会调用如下生命周期方法:onCre

30、ate()->onBind->onUnBin d()->on Destory()不同点在于:当采用startService()方法启动效劳,访问者与效劳之间是没有绑定在一起的,访问者退出,效劳还在运行,而采用bin dService()方法启动服务时,访问者与效劳是绑定在一起的,即访问者退出,效劳也就终止,解除绑定。47. 如何启用Service,如何停用Service答案:An droid中的效劳和wi ndows中的效劳是类似的东西,效劳一般没有用 户操作界面,它运行于系统中不容易被用户觉察,可以使用它开发如监控之类的程序。效劳的开发比拟简单,如下:第一步:继承Service 类public class SMSService exte nds Service 第二步:在 文件中的<ap

温馨提示

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

评论

0/150

提交评论