




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
学习资料收集于网络,仅供参考1、 Android四大组件是什么?(activity,service,content provider,broadcast receiver)2、 Activity生命周期方法有哪些?不要与service的生命周期方法记混淆(onCreate():当activity是被创建时候,会自动运行该方法。该方法做一些初始化动作,比如创建views,设置数据到list等等,该方法提供了一个Bundle类型的变量,该变量中有这个activity以前的状态信息,前提是以前存过这些信息。这个方法执行完后执行的是onStart()方法;若在onCreate方法中加入finish()方法,onCreate下一个运行onDestroy方法onRestart():把activity从onStop状态唤醒时,会用onRestart方法,该方法优先于再次运行的onStart,运行完onRestart之后运行onStart。若在onRestart()方法中加入finish()语句,则还是会继续运行onStart及后面的状态方法直到onDestroy运行完onStart():当activity对用户可见时会调用onStart,当activity在前台显示时,会运行onResume;当activity还没在前台显示就被隐藏(停止状态)了会运行onStop(),比如在onStart方法中用了finish()方法的话,onStart()之后就会直接运行onStop-onDestroy。onResume():当activity开始与用户交互时,会调用onResume,并且为了用户操作此时该activity位于activity栈的顶部。经过某些操作后该方法执行完后执行的是onPause()onPause():当一个activity运行到onResume方法后,不管是这个activity要销毁还是要暂停或停止,都会调用该方法。这个方法之后有可能是onResume也有可能是onStop,若是在这个activity-A中打开一个不完全覆盖这个activity-A的新activity-B,那么activity-A就会是onPause状态,当activity-B退出时,activity-A就直接运行onResume(前提是onPause的方法执行完了,否则会等onPause方法执行完后才运行onResume方法,所以不建议在这个方法中执行CPU密集的操作)。若是需要退出activity-A,那么下一个就会执行onStop。onPause()用于提交未保存发生变化了的持久化数据,及停止动画及其他其他比较消耗CPU的事件(比如广播接收器,传感器(比如GPS),或者消耗电量的资源),这是为了更好的运行新的activityonStop():当这个activity完全看不见的时候,会调用onStop方法,因为另一个activity会调用onResume并且覆盖这个activity。以下三种情况都会使这个activity调用onStop()方法,第一种是一个新的activity被执行,第二种是一个已经存在的activity被切换到最前端,第三种是这个activity要被销毁。如果通过用户召回这个activity,那么会调用onRestart方法;若这个activity要被销毁,则调用onDestroy方法onDestroy():当activity销毁前会调用该方法,比如发生如下情况:activity调用了finish()方法来结束这个activity,或者因为系统为了节省空间而临时销毁这个activity,这两个情况可以通过isFinishing()方法判断总结:当用户自己退出程序的时候,建议在onStop方法中保存数据;当用户打开一个新的activity的时候,建议通过onSaveInstanceState来保存数据;这里在网上看到很多人说应该放在onPause里保存,其实我觉得在打开新的一个activity的时候,或者将程序至于后台的时候,都会默认调用onSaveInstanceState方法,而且在这种暂停的状态下,Android的内存管理机制也不太会杀死这种状态的activity。而用onPause保存的时候,若是下一个执行onResume的方法的话,会影响速度,当然数据量小的话也感觉不出来。)3、 Back键与home键对Activity的影响有什么不同,哪个会销毁页面?(back键Android的程序无需刻意的去退出,当你一按下手机的back键的时候,系统会默认调用程序栈中最上层Activity的Destroy()方法来销毁当前Activity,当此Activity又被其它Activity启动起来的时候,会重新调用OnCreate()方法进行创建,当栈中所有Activity都弹出结束后,应用也就随之结束了.如果说程序中存在service之类的,则可以在恰当的位置监听处理下也就可以了. home键Android程序的隐藏,当你按下手机的Home键的时候,系统会默认调用程序栈中最上层Activity的stop()方法,然后整个应用程序都会被隐藏起来,当你再次点击手机桌面上应用程序图标时,系统会调用最上层Activity的OnResume()方法,此时不会重新打开程序,而是直接进入,会直接显示程序栈中最上层的Activity.)4、 Android应用程序的目录结构的用途,assests与res文件夹的区别(1.assets:不会在R.java文件下生成相应的标记,存放到这里的资源在运行打包的时候都会打入程序安装包中2.res:会在R.java文件下生成标记,这里的资源会在运行打包操作的时候判断哪些被使用到了,没有被使用到的文件资源是不会打包到安装包中的。在res文件夹下其实还可以定义一下目录:res/anim:这里存放的是动画资源。res/xml:可以在Activity中使用getResource().getXML()读取这里的资源文件res/raw:该目录下的文件可以直接复制到设备上,编译软件时,这里的数据不需要编译,直接加入到程序安装包中,使用方法是getResource().OpenRawResources(ID),其中参数ID的形式是R.raw.XXX.)5、 Android中gen文件夹中最重要的是R.java文件,它是系统自动生成的,不能手动修改。6、 AndroidManifest.xml文件中各类元素,如与,同层次的元素位置,元素属性是否必须设置等。7、 Src values drawable layout 文件夹放什么(1. src:存放所有的*.java源程序。2. gen:为ADT插件自动生成的代码文件保存路径,里面的R.java将保存所有的资源ID。3. assets:可以存放项目一些较大的资源文件,例如:图片、音乐、字体等。4. res:可以存放项目中所有的资源文件,例如:图片(*.png、*.jpg)、文本等。5. resdrawable-hdpi:保存高分辨率图片资源,可以使用Resources.getDrawable(id)可以获得资源类型。6. resdrawable-ldpi:保存低分辩率图片资源,可以使用Resources.getDrawable(id)可以获得资源类型。7. resdrawable-mdpi:保存中等分辨率图片资源,可以使用Resources.getDrawable(id)可以获得资源类型。8. reslayout:存放所有的布局文件,主要是用于排列不同的显示组件,在Android程序中要读取此配置。9. resvalues: 存放一些资源文件的信息,用于读取文本资源,在本文件夹之中有一些约定的文件名称: arrays.xml:定义数组数据; colors.xml:定义表示颜色的数据; dimens.xml:定义尺度,可以使用Resources.getDimension()获得这些资源; strings.xml:定义字符串,可以使用Resources.getString()或Resources.getText()方法获得这些资源; styles.xml:定义显示的样式文件;10.resraw:自定义的一些原生文件所在目录,像音乐、视频等文件格式,Resources.getRawResource()方法可以获得这些资源。11. resxml:用户自定义的XML文件,所有的文件在程序运行时编译到应用程序之中,在程序运行时可以使用Resources.getXML()方法获取。12. resanim:用于定义动画对象;13. bin:生成apk的文件夹。)8、 常用xml属性及属性值的意思,如android:layout_width 指定组件布局宽度 layout_height指定组件布局高度 android:text 指定控件当中显示的文字 android:hint 来设置当EditText内容为空时显示的文本,这个文本只在EditText为空时显示,你输入字符的时候就消失了,android:autoText 如果设置,将自动执行输入值的拼写纠正android:textSize 指定控件当中字体的大小 wrap_content表示根据控件中的内容来确定,也就是说,在满足完全显示控件内容的情况下,把宽度和高度设置为最小。 fill_parent 表示尽可能地充满父控件的空间,如果当前控件是最上层,就是充满整个屏幕9、 从当前Activity启动另一个Activity,可以使用哪两种方法?有什么区别?(显式Intent:通过指定Intent组件名称来实现的,它一般用在知道目标组件名称的前提下,一般是在相同的应用程序内部实现的。隐式Intent:通过Intent Filter来实现的,它一般用在没有明确指出目标组件名称的前提下,一般是用于在不同应用程序之间。)10、 Intent 的作用:实现页面跳转,连接四大组件的桥梁11、 ContentProvider的作用:实现应用程序之间的数据共享12、 退出activity的方法(finish onstop 抛出异常强制退出)13、 AlertDialog怎样创建?(new AlertDialog.builder),怎样显示?(show),设置“确认”按钮的方法setPositivebutton 设置“取消”按钮的方法setNegativeButton14、 Service生命周期的方法:onCreate onStart ,第一次启动时会执行什么,若已经启动了,再次启动Service会执行哪些方法(当第一次启动的时候先后调用onCreate()和onStart()方法,如果service已经启动,只会执行onStart()方法,不在执行onCreate()方法)15、 Service的两种启动方式分别对应哪两个方法?停止呢?(有两种方式启动一个Service,他们对Service生命周期的影响是不一样的。 1 通过startService Service会经历 onCreate - onStart stopService的时候直接onDestroy 如果是调用者自己直接退出而没有调用stopService的话,Service会一直在后台运行。下次调用者再起来可以stopService。 2 通过bindService Service只会运行onCreate, 这个时候服务的调用者和服务绑定在一起 调用者退出了,Srevice就会调用onUnbind-onDestroyed所谓绑定在一起就共存亡了。并且这种方式还可以使得 调用方(例如)调用服务上的其他的方法)16、 关于ContentValues的key-value,key可以是什么类型,value又可以是什么类型(key为字段名称string,value为字段值boolean,byte,double,float,long,short,string)17、 Android界面元素大小的度量单位有 px(不建议用,但可以用) sp(文字) dp(长度)18、 广播的注册方式有动态注册和静态注册,其中动态注册一般在生命周期的对应方法中实现,如onCreat与onDestory onResume与onPause19、 广播的xml静态注册在AndroidManifest.xml文件里,标签里都有什么?看AndroidManifest.xml文件记清楚20、 Sqlite数据库:SqliteDatabase作用 :SQLiteDatabase.openDatabase的过程是构建SQLiteDatabase对象的过程,实质是构建SQLiteDatabase的成员变量SQLiteConnectionPool的过程,该过程是一个获取primaryConnection的过程。SqliteopenHelper的作用 SQLiteOpenHelper 可以更方便的管理数据库,version是数据库版本,一般设置成1.0就可以,以后有不同的版本程序可以就行判断啊 SqliteopenHelper的onCreate及onUpgrade方法调用的时机:首先获取数据库的当前版本,当版本号为0的时候,就会执行onCreate方法(当数据库文件第一次创建的时候版本号就是0)如果版本号不为0,同时和最新版本号进行比较,如果大于的话,就执行升级操作onUpgrade方法,否则就执行降级onDowngrade方法,21、 SharePreferences的作用(保存配置信息), 格式为xml, 存键值对, 存储在哪儿(data/data/包名/shared_prefs)22、 BaseAdapter的内部常用方法的作用(getview getcount),Listview的Item布局设定,事件监听都在哪里实现?(adpter用的是继承的baseadapter,给整个listview上的Item设置点击事件就用listview.setOnItemClickListener(listener)就可以,下面介绍如果给Item里面某一控件设置点击事件。方法是重写 Adapter。 ListView工作原理(针对下面代码): 1. 给ListView设置数据适配器,此ch程序是自己重写的Adapter,创建Adapter 的时候主要做下面的工作: (1)把ListView需要显示的数据传给Adapter (2)把ListView显示Item的界面传给Adapter (3)把上下文对象传给Adapter,主要用来得到LayoutInflater对象来得到Item界面 2. 给ListView设置当点击Item对象的时候执行的操作,此ch要实现给Item中的各项也就是该程序的三个TextView设置监听器,也就是调用Adapter中的getView函数。)google推荐借助什么优化ListView?(ArrayAdapter、SimpleAdapter和BaseAdapter)23、 Android常用的适配器有哪些?(ArrayAdapter、SimpleAdapter和BaseAdapter)24、 ArrayAdapter与SimpleAdapter有什么区别?(1.ArrayAdapter只可以简单的显示一行文本;SimpleAdapter可以显示比较复杂的列表,包括每行显示图片、文字等,但不能对列表进行后期加工(在java代码中加工),也是只是单纯的负责显示(当然可以设计复杂点的布局来显示复杂列表),例如,每行显示不同背景等。)25、 AsyncTask的常用方法有哪几个?每个方法的负责的主要工作是什么?(AsyncTask定义了三种泛型类型 Params,Progress和Result。Params 启动任务执行的输入参数,比如HTTP请求的URL。Progress 后台任务执行的百分比。Result 后台执行任务最终返回的结果,比如String。)26、 Handler主要是用于解决什么问题的?(子线程与主线程通讯)27、 Handler发送消息用什么方法?处理消息呢?(andriod提供了Handler 和 Looper 来满足线程间的通信。Handler先进先出原则。Looper类用来管理特定线程内对象之间的消息交换(MessageExchange)。1)Looper: 一个线程可以产生一个Looper对象,由它来管理此线程里的MessageQueue(消息队列)。 2)Handler: 你可以构造Handler对象来与Looper沟通,以便push新消息到MessageQueue里;或者接收Looper从Message Queue取出)所送来的消息。3) Message Queue(消息队列):用来存放线程放入的消息。 4)线程:UIthread 通常就是main thread,而Android启动程序时会替它建立一个MessageQueue。)28、 Message里面的what主要作用是什么?(what区分消息要做的事情)29、 Android模拟器连接本机Web站点的地址不再是localhost,而是30、 使用SAX解析XML文件的优点是什么(1,ax方式解析xml的优点;只要有jdk的存在,严格意义上来说是jre,它就可以运行,不依赖任何第三方的jar包。在移动设备上尤为广泛使用。比如Android就使用它来解析xml。当然Android更为推荐的是采用xmlpull来解析xml。这种方式也同样适合javase。我在后期会为大家准备使用xmlpull解析xml的demo2,SAX处理的优点非常类似于流媒体的优点。分析能够立即开始,而不是等待所有的数据被处理。SAX解析器采用了基于事件的模型,它在解析XML文档的时候可以触发一系列的事件,当发现给定的tag的时候,它可以激活一个回调方法,告诉该方法制定的标签已经找到。而且,由于应用程序只是在读取数据时检查数据,因此不需要将数据存储在内存中。这对于大型文档来说是个巨大的优点线性解析,不能随机访问,也无法修改原文件3. 不需要像dom解析那样在内存中建立一个dom对象,占用内存,sax解析是逐行解析的,每次读入内存的只是一行xml,所以速度快,效率高点。)31、 JSON数据格式里常用的两个对象是 JSONObject JSONArray简答题1、 Android常用布局(FrameLayout(框架布局),LinearLayout (线性布局),AbsoluteLayout(绝对布局),RelativeLayout(相对布局),TableLayout(表格布局)2、 Android生命周期方法3、 广播的注册方式有几种,各有什么特点(注册方式有两种:1、静态注册,就是在manifest文件里配置一下,这种方式注册的广播属于系统级广播。你的应用没打开也能收到广播。比如你要做一个收到某广播就启动你的应用的功能可以这样搞。2、动态注册,在代码里执行一个rigisterBroadcastReciver(可能拼写有误)的方法。这种你要自己作好反注册。这种广播可以做成你的应用启动后才监听,关闭后就不监听的效果。)4、 Service的两种启动方式是什么?有什么区别?(1.使用startService()方法启用服务,调用者与服务之间没有关连,即使调用者退出了,服务仍然运行。使用bindService()方法启用服务,调用者与服务绑定在了一起,调用者一旦退出,服务也就终止。2.采用Context.startService()方法启动服务,在服务未被创建时,系统会先调用服务的onCreate()方法,接着调用onStart()方法。如果调用startService()方法前服务已经被创建,多次调用startService()方法并不会导致多次创建服务,但会导致多次调用onStart()方法。采用startService()方法启动的服务,只能调用Context.stopService()方法结束服务,服务结束时会调用)Android应用程序工程的主要目录结构有哪些,分别是什么作用?(Linux Kernel(Linux内核)、Libraries(系统运行库或者是c/c+核心库)、Application Framework(开发框架包)、Applications (核心应用程序))什么是ANR?哪些情况会引起ANR?(ANR:Application NotResponding,五秒 在Android中,活动管理器和窗口管理器这两个系统服务负责监视应用程序的响应。当出现下列情况时,Android就会显示ANR对话框了: 对输入事件(如按键、触摸屏事件)的响应超过5秒 意向接受器(intentReceiver)超过10秒钟仍未执行完毕 Android应用程序完全运行在一个独立的线程中(例如main)。这就意味着,任何在主线程中运行的,需要消耗大量时间的操作都会引发ANR。因为此时,你的应用程序已经没有机会去响应输入事件和意向广播(Intentbroadcast)。因此,任何运行在主线程中的方法,都要尽可能的只做少量的工作。特别是活动生命周期中的重要方法如onCreate()和 onResume()等更应如此。潜在的比较耗时的操作,如访问网络和数据库;或者是开销很大的计算,比如改变位图的大小,需要在一个单独的子线程中完成(或者是使用异步请求,如数据库操作)。但这并不意味着你的主线程需要进入阻塞状态已等待子线程结束 - 也不需要调用Therad.wait()或者Thread.sleep()方法。取而代之的是,主线程为子线程提供一个句柄(Handler),让子线程在即将结束的时候调用它(xing:可以参看Snake的例子,这种方法与以前我们所接触的有所不同)。使用这种方法涉及你的应用程序,能够保证你的程序对输入保持良好的响应,从而避免因为输入事件超过5秒钟不被处理而产生的ANR。这种实践需要应用到所有显示用户界面的线程,因为他们都面临着同样的超时问题。)Android菜单有几种?分别
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025辽宁沈阳瑞恩科技公司所属单位高校毕业生招聘130人模拟试卷及一套答案详解
- 2025年河南省事业单位招聘联考省直系统核减、核销岗位情况的模拟试卷含答案详解
- 2025第十四师昆玉市二二四团玉龙幼儿园自聘教师招聘(1人)考前自测高频考点模拟试题及答案详解(名校卷)
- 2025湖北交投集团部分中层管理岗位竞聘上岗20人考前自测高频考点模拟试题附答案详解(完整版)
- 2025福建武夷山市供销总公司招聘3人考前自测高频考点模拟试题(含答案详解)
- 2025河北中兴冀能实业有限公司招聘80人模拟试卷完整参考答案详解
- 2025北京十一未来城学校春季招聘考前自测高频考点模拟试题及答案详解1套
- 2025河南省职工医院药学部招聘8人考前自测高频考点模拟试题及答案详解(必刷)
- 个人进步守诺承诺书5篇
- 华夏银行杭州市临安区2025秋招结构化面试15问及话术
- 工程合同转让三方协议范文6篇
- 昆明市城中村改造48号地块(上峰片区)回迁房项目可行性商业策划书
- 混凝土试件养护协议书
- 安全文化课件
- 股份清算协议书范本
- 企业运营管理学习课件
- 蓝藻治理打捞管理制度
- 2025年合肥兴泰金融控股(集团)有限公司招聘23人笔试参考题库附带答案详解
- 苏州市建设工程档案立卷程序与标准
- 脑血管造影术围手术期管理
- 国庆、中秋节前安全教育培训
评论
0/150
提交评论