下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、如果设置,Activity会在一个新Task的运行。 如果设置,将Activity上方的所有Activity都将2Activity和Task的启动模式有哪些?毎种含义是什么?;“standard” (默认)对于每一个启动Intent都会生成一个activity的新实 例;"singleTop”的实例"singleTask”实例"singlelnstance”task 里activity如果在task的栈顶,则不生成新的该activityactivity如果在task的中,则不生成新的该activity的activity独占一个task,其它activity不能存在
2、那个L Intent的几种有关Activity启动的方式有哪些,你了解每个含义吗? FLAG.ACTIVITY_NEW_TASK FLAG_ACTIVITY_CLEAR_TOP 关闭如果设置,当这个Activity位于task顶端运行时,FLAG_ACTIVITY_SINGLE_TOP 不再石动一个氯3. 通过Imcm传递一些二进制数据的方法有哪些? 传递实现Serializable接口对象 传递实现Parcelable接口对象 4能说卜.Android应用的入口点吗?AndroidManifest.xml2、3、4、1、应用程序安装的时候,manifest信息会放到一张系统索引表里面 系统启
3、动的时候PackageManagerService读取Manifest侑息 应用程序启动的时候,Launcher进行系统级判断,比如最小的SDK等 四大组件在需求的时候实例化操作 android系统的优势和不足Android 优点 j开源 集成Google相关服务大多数厂商支持Android 缺点 j 版本分化严重,品牌效应稀释6. Java基础问题,用Java的集合类写下广度优先搜索. 使用队列实现。7. Android都有哪些XML解析器,都熟练掌握吗?SAX DOM PULLSAX:基于事件驱动,在文档,元素开始结尾触发。不占内存空间、解析属性方便, 但缺点就是对于套嵌多个分支来说处理不
4、是很方便DOM:把整个XML文件加载到内存中去,解析速度快,占内存空间大。PULL:类似SAX方式,同样很节省内存8, SQLite支持事务吗?添加删除如何提高性能? SQLiie支持事务a. 优化SQL语句b使用Contentvalue封装添加或者删除的数据 9 Android Service 和 Binder. AIDE 你都熟练吗?Android 包含两种服务j siartScrvicc BoundScrviccBinder、AIDL是实现BoundScrvicc的两种方式。a.扩展Binder类,主要用于应用中Activity和Service的交互,通信。 b使用AIDL主要为了实现I
5、PC,实现应用之间交互,调用010.你用过哪款Android手机有哪些优点和不足相对于iPhone或Symbian又有哪些优缺 点?三星i9100或者英它iPhone外观塑料,握持感较差金属,握持感好UI比较粗糙美观流畅度较菱很好电量看视频,通话消耗快看视频,通话消耗比较慢发热大型游戏发热较大大型游戏发热较小1、Android中为什么要经常使用内部类?内部类特征:1. 内部类与父类同生共死;2. 内部成员变量之间,可以互相访问;3. 内部成员变量可以访问到父类的一些类型:4. 父类可以操作内部的一些东西在Android中经常在设背事件和多线程的时候使用匿名内部类。2、版本控制中,SVN与GIT
6、有什么区別?1. GIT是分布式的,SVX不是:2. GIT把内容按元数据方式存储,而SVN是按文件;3. GIT分支和SVN的分支不同:4. GIT没有一个全局的版本号,而SVN有;5. GH的内容完整性要优于SVN: 3、什么是 Android?基于Linus的开源的终端(手机,平板,TV)操作系统 4、说说Android有哪些特性?a. 开源,在一世的授权范围内可以随意修改,:i制。b. 无缝集成Google众多的服务。C.有大量免费应用供选择使用。5、Android的系统架构的理解AFR LJCATtON,Hom*ConocoPhofwBwwmtMinat«rKvuc*rLi
7、BRARieaAndroid RuntimgSurfK« Mimfw''y J Frvntworli叶GLIBVWbKit4MxhreSCLSSLIbeLINUX KCRNCL阳C»m«raOrwcrhall M»m(xTDowrKrypH Dfw»rDtmviHjmtfcfntmConcent hwdertAetmrx H*ratvrV«w SinumApplication Framework6、执行eclipse的Run或者debug时候,发生了什么事情? 所有的操作都是有ADT控制将项目所有的源代码编译成dex二
8、进制文件打包成APK选择target设备,发布的地方(模拟器)上传APK安装APK启动主activity2、3、4、5、6、说说 Activity, view , window-间的关系Activity在构造的时候new 了一个Window与当前的上下文绑定,window是抽象类,通过 phoneffindow来绑崔自己世义的View.通过setContentView展示出来7、8、掌上设备开发的局限性会制约我们的需求通常有哪些?2、3、4、5、6、7、8、更低的处理器有限的内存有限的存储能力小屏幕和低分辨率(HVGA、QYGA、WVGA)数据传输的高成本数据传输的低速度和高延迟不稳立的数据连
9、接有限的电量9、2、3、4、做手机开发经常需要思考哪些问题?性能(更快和更灵敏)响应能力(避免ANR)无缝:用户使用自然(与第三方程序的交互,前台后台的切换)安全:对操作权限的考虑 10、什么构成了 android应用程序?Activity , Service , Contentproviderr BroadcastReceiverManifest如何解析?2、3、4、应用程序安装的时候,manifest信息会放到一张系统索引表里而 系统启动的时候PackageManagerService读取Manifest信息 应用程序启动的时候,Launcher进行系统级判断,比如最小的SDK等 四大组件
10、在需求的时候实例化操作 12、请说出Android进程5个等级Foreground ProcessVisable ProcessService ProcessBackground ProcessEmpty Process优先级 J Foreground Process > Visable Process > Service Process > Background Process >Empty Process 13、什么是 Activity?Activity代表Android的屏幕,用来展示View组件类似于MVC中的控制器。2、Android的四大组件是哪些,它们的作
11、用?Activity: Android程序与用户交互的窗口, service:后台服务于Activity,后台运行无界面,处理长时间操作。 Content Provider: Android第三方应用数据之间数据共孚。Broadcast Receiver: Android 的事件广播模型3、请介绍下Android中常用的五种布局。a. FrameLayout (框架布局):所有控件依次放在左上角,会重叠,b. LinearLayout (线性布局):线性布局,每一个LinearLayout里面乂可分为垂直布局(£ind:roid:o:rient£ition二"ve
12、rtical")和水平布局(android:orientation二"horizontal")c. AbsoluteLayout (绝对布局):用X, Y坐标来指定元素的位置,d. RelativeLayout (相对布局):可以理解为某一个元素为参照物,来定位的布 局方式。e.Tab 1 eLayout (表格布局):每一个TableLayout里面有表格行TableRow,Tab 1 eRow里面可以具体定义每一个元素。4. android中的动画有哪几类,它们的特点和区别是什么一. 补间动画(T陀en):使视图组件移动、放大、缩小以及产生透明度的变化;二.
13、逐帧动画(Frame):传统的动画方法,通过顺序的播放排列好的图片来实现,类似电影。5. android中有哪几种解析xml的类?官方推荐哪种?以及它们的原理和区 别。有三种方式,SAX、DOM、PULL (推荐)SAX:读取是单向的,优点:不占内存空间、解析属性方便,缺点就是对于套嵌多 个分支来说处理不是很方便。DOM:会把整个XML文件加载到内存中去,PULL:常常用在J2ME对于节点处理比较好,类似SAX方式,同样很节省内存, 在J2ME中我们经常使用的KXML库来解析。6. Listview的优化方案(用代码较好)viewo自定义适配器,在getView方法中要考虑方法传进来的参数co
14、ntentView是否为 null,如果为null就创建contentview并返回,如果不为null则直接使 用。在这个方法中尽可能少创建viewo给 contentview 设置 tag (setTag ():,传入一个 viewHolder 对象,用于缓存 要显示的数据,可以达到图像数据异步加载的效果。分页加载:如果listview需要显示的item很多,就要考虑分页加载。6、请介绍下Android的数据存储方式.SharedPreferences存储数据;用来存储一些简单配置信息的一种机制,只能在 同一个包内使用,U 录是/data/data/Package Name/Shared_P
15、ref, 文件存储数据;外部和内部存储,Package Name/files,SQLite 数据库存储数据;/data/data/Package Xame/database。ContentProvider存储数据;当应用继承ContentProvider类,并重写该类用于 提供数据和存储数据的方法,就可以向其他应用共学其数据。网络存储数据:网络存储方式,需要与Android网络数据包打交道aivity的启动模式有哪些?是什么含义?"standard "(默认)"singleTop"“ singleTask"singlelnstance”7、跟a
16、ctivity和Task有关的Intent启动方式有哪些?其含义?FLAG_ACTIVITY_NEff_TASKFLAG_ACTIVITY_CLEAR_TOPFLAG_ACTIVITY_RESET_TASK_IF_XEEDEDFLAG_ACTIVITY_SIXGLE_TOP8、请描述下Activity的生命周期。答:activity 的生命周期方法有j onCreateO x onStart () onReStart () x onResume ()、onPause ()、onStop ()、onDestory (); 可见生命周期:从onStart ()直到系统调用onStopQ前台生命周期
17、:从onResume 0直到系统调用onPauseO9、activity在屏幕旋转时的生命周期答:不设置Activity的android:configChanges时,切屏会重新调用各个生命 周期,切横屏时会执行一次,切竖屏时会执行两次;设置Activity的 android:configChanges=orientation时,切屏还是会重新调用各个生命周期, 切横、竖屏时只会执行一次;设置Activity的android: conf igChanges=orientation I keyboardHidden时,切屏不会重新调用 各个生命周期,只会执行onConfigurationChan
18、ged方法10、如何启用Service,如何停用Service。a. startservice0 ;启动式 ServiceIntent intent = new Intent(this, Myservice. class); Startservice (intent); 启动 ServiceIntent intent = new Intent(); stopService (Intent intent);停止 Service b. bindServiceO/绑定式 Service bindService(Intent intent, serviceConnection conn, int fl
19、ag); 启动 ServicexinbindService (Intent intent); /停止 ServiceIK注册广播有几种方式,这些方式有何优缺点?请谈谈Android引入广播机制的用意。答:件先写一个类要继承BroadcastReceiver第一种:在清单文件中声明,添加<receive android:name=. IncomingSMSReceiver " >intent-filter<action android:name="android provider. Telephony. SMS_RECEIVED")<inte
20、nt-filter><receiver>第二种使用代码进行注册如:IntentFilter filter = newIntentFilter(android, provider. Telephony. SMS_RECEIVED"); IncomingSMSReceiver receiver = new IncomgSMSReceiver(): registerReceiver(receiver, filter);两种注册类型的区别是:1) 第一种不是常驻型广播,也就是说广播跟随程序的生命周期。2) 第一种是常驻型,也就是说当应用程序关闭后,如果有信息广播来,程序也会
21、 被系统调用自动运行。12、请解释下在单线程模型中 Message、HandlerMessage Queue> Looper之间的关系。(图形)Thread IThr«4dHandler3. Message QueueMessage Queue消息队列,用来存放通过Handler发布的消息,按照先进先 出执行。每个 message queue 都会有一个对应的 Handlero Handler 会向 message queue通过两种方法发送消息:sendMessage或post。这两种消息都会插在 message queue队尾并按先进先出执行。但通过这两种方法发送的消息执行
22、的方 式略有不同:通过sendMessage发送的是一个message对象,会被Handler的 handleMessage ()函数处理:而通过post方法发送的是一个runnable对象,则 会自己执行。4. LooperLooper是每条线程里的Message Queue的管家。Android没有Global的 Message Queue»而Android会自动替主线程(UI线程)建立Message Queue,但 在子线程里并没有建立Message Queueo所以调用Looper. getMainLooper ()得到 的主线程的Looper不为NULL,但调用Looper
23、. myLooper ()得到当前线程的 Looper就有可能为NULL。对于子线程使用Looper, API Doc提供了正确的使用 方法:这个Message机制的大概流程:1. 在Looper. loopO方法运行开始后,循环地按照接收顺序取出MessageQueue 里面的非 NULL 的 Message。2. 一开始Message Queue里面的Message都是NULL的。当Handler. sendMessage(Message)到 Message Queue» 该函数里面设置了那个 Message对象的target属性是当前的Handler对象。随后Looper取出了
24、那个 Message.则调用 该 Message 的 target 指向的 Hander 的 dispatchMessage 函数 对Message进行处理。在dispatchMessage方法里,如何处理Message则ill用户 指定,三个判断,优先级从高到低:1) Message里面的Callback, 一个实现了 Runnable接口的对象,其中run 函数做处理工作;2) Handler里面的mCallback指向的一个实现了 Callback接口的对象,| 其handleMessage进行处理;3) 处理消息Handler对象对应的类继承并实现了其中handleMessage函数,
25、 通过这个实现的handleMessage函数处理消息。山此可见,我们实现的handleMessage方法是优先级最低的!3. Handler 处理完该 Message (update UI)后,Looper 则设置该 Message 为NULL,以便回收!在网上有很多文章讲述主线程和其他子线程如何交互,传送信息,最终谁来 执行处理信息之类的,个人理解是最简单的方法一判断Handler对象里面的 Looper对象是属于哪条线程的,则山该线程来执行!1. 当Handler对象的构造函数的参数为空,则为当前所在线程的Looper;2. Looper. getMainLooper ()得到的是主线程
26、的 Looper 对象, Looper. myLooper ()得到的是当前线程的Looper对象。13%简要解释一下activity, intent intent filter>serviceBroadcasexBroadcaseReceiver答:一个activity呈现了一个用户可以操作的可视化用户界面;一个service 不包含可见的用户界面,而是在后台运行,可以与一个activity绑定,通过绑 定暴露出来接口并与其进行通信;一个broadcast receiver是一个接收广播消 息并做出回应的component» broadcast receiver没有界面;一个
27、intent是一 个Intent对象,它保存了消息的内容。对于activity和service来说,它指定 了请求的操作名称和待操作数据的URI, Intent对象可以显式的指定一个U标 componentO如果这样的话,android会找到这个component (基于manifest文件 中的声明)并激活它。但如果一个U标不是显式指定的,android必须找到响应 intent的最佳componento它是通过将Intent对象和U标的intent filter相 比较来完成这一工作的;一个component的intent filter吿诉android该 component能处理的int
28、ent« intent filter也是在manifest文件中声明的。14、AIDL的全称是什么?如何工作?能处理哪些类型的数据?AIDE (android 接口定义语言)Android Interface Define Language 在Android中,BoundService通过AIDL实现IPC机制,服务器端发布AIDL,实 现服务,客户端获取Aidl,文件生成代理类,本地代码调用代理类实现应用之间 通信,aidl可以处理基本类型,复杂类型,自定义对象等。15、请解释下Android程序运行时权限与文件系统权限的区别。答:运行时权限Dalvik( android授权)文件
29、系统linux内核授权 1应用程序(ApplicationAndroid本身提供了桌而(Home),联系人(Contact电话(Phone)和浏览器(Browers) 等核心应用,应用程序开发者可以利用应用程序框架层的API实现自己的程序。2应用程序框架(Applicalion Framework)下面介绍一下每个应用程序可能会使用到的应用框架的部分: 组Views (UI组件人 这些UI组件包括列表(Lisi),文本框(icxlbox),按钮(button) 等,通过这些UI组件可以构建应用程序的视图部分:Content Providers.其提供一种机制,通过这种机制,应用程序可以实现数据
30、的互访和共享: Resource Manger.它负责管理非代码的访问,如图片资源,设il布局的XML文件及国际化 的字符串等:Notification Manager,它能让程序将自己的警示信息显示在状态栏上,例如有短信的时候: Activity Manager,它管理应用程序的生命周期,并且提供了应用页而退出机制在Android应 用中每一个应用一般是由多个页而组成的,毎一个页面的单位都是Activity,也就是说 Android的应用程序是由多个Activity的交互构成的:3库(Libraries)和运行环境(RunTime)这部分开始涉及底层,与应用程序的关系不是很密切。Androi
31、d中包含一些C/C+库.这些库可以被Android系统中不同的组件使用,通过Android 应用程序框架为开发者提供服务,一下是一些核心库:系统C库、媒体库、LibWebCore等。Android包括了一个核心库,该库提供了 java编程语言核心库的大多数功能。4操作系统(0S)每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例。 Dalvik依赖于Linux内核的一些功能,例如,线程机制和底层内存管理机制。其次是Android应用程序组成一个 Android 程序有四个部分组成j ActivityBroadcast Intent Receiver、Se
32、rvicex Content Provider。并不是毎一个程序都是由这四部分组成的,例如HclloWorld只涉及了 Activity。 在Android中有一个叫做AndroidManifest.xml»在这个文件中需要申明用到的上而四类组件 名称,以及可能为每一个组件的功能和需求进行必要的描述。下面分别介绍一下这四个组件: 1、Activity它是Android中最基本的模块之一,Activity -般代表手机屏幕的一屏。Activity相当于一个 UI的容器,在Activity中可以添加一些View,并对这些View做一些事件处理,例如加一些 Button» Che
33、ck box等,按一下button uf以实现Activity 间的跳转,和网页跳转不同的是 Activity Z间的跳转可能会有返回值。Android会把每一个应用程序的Activity都保存在堆栈 中。Intent就是一次对務要执行的操作的抽象描述,Intent最常用的作用是通过Intent可以实现多 个Activity 间的跳转JiHcni中重要的部分是Intern动作(Action)和动作对应的数据(Data), 典型的动作有:MAIN(Activity的门户)、VIEW、PICK、EDIT等而动作对应的数据则以URI 的形式进行标示,例如査看一个人的联系方式,需要创建一个VIEW动作的Intent.以及这 个人的URL下而代码是实现两个Activity 间的跳转(A跳转到B):Java代码Intent in = new InicnKA.lhisBclass);/指运 Int
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年中国蛋品加工行业市场前景预测及投资价值评估分析报告
- 砂带自动磨刀裁剪机行业深度研究报告
- 2026年中国防水材料防水涂料行业市场前景预测及投资价值评估分析报告
- 扫描仪遥控器外壳行业深度研究报告
- 2026年市场深度调研及发展趋势与投资前景预测研究报告
- 九龙顶珠工艺品行业深度研究报告
- 长岭~客家110千伏线路工程、茅坡~客家110千伏线路工程(110千伏长岭站、茅坡站接入系统配套工程)建设项目工程建设项目环境影响报告表
- 铝合金铸造全生命周期管理方案
- 煤电项目风险评估报告
- 数据中心智能监控与故障预测系统
- 2024年山东省公务员考试申论(C卷)真题答案解析
- 2025广东惠州市政务服务和数据管理局编外人员招聘6人考试笔试参考题库附答案解析
- 贵州省考公安真题及答案
- 2025年黄岛网格员考试题及答案
- 2025年度天津市中小学教师系列正高级职称评审劳动教育综合练习题及答案
- 虚拟化应急预案
- 抖音美食运营方案
- 氨水泄漏知识培训课件
- 纪念抗战胜利 坚定民族信念
- 印刷管理考试题及答案
- 2025年包钢(集团)公司新员工招聘考试真题及答案
评论
0/150
提交评论