ImageVerifierCode 换一换
格式:DOCX , 页数:11 ,大小:25.59KB ,
资源ID:4003995      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4003995.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(面试问答题.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

面试问答题.docx

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

2、种数据存储方式。答案一:数据存储方式有三种:一个是文件,一个是数据库,另一个则是网络。答案二:常用的数据存储方式:SharePreference存储、File存储(分为手机内存存储和SD卡存储)、SQLite数据库存储和网络存储。答案三:1.SharedPreferences 2.文件存储 3.SQLite数据库方式4.内容提供器(Contentprovider)5.网络存储方式3. 简述android中的适配器作用,android有哪些适配器?区别是什么?答案:作用:把一些数据给弄得适当,适合以便于在View上显示。我们常用的适配器一共有三个,ArrayAdapter,SimpleAdapt

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

4、 传递数据 extras.putDouble(key, value) intent.putExtra(name, value) / 通过intent putExtra 方法 基本数据类型 都传递 Bundle bundle = new Bundle(); bundle.putShort(key, value); intent.putExtras(bundle); intent.putExtras(bundle)获取到激活他的 getIntent(); Intent intent = getIntent(); Bundle bundle = intent.getExtras(); intent.

5、getStringExtra(“key”,”value”); intent.getBooleanExtra(“key”,”value”)6.什么是Activity?答案:Activity是Android组件中最基本也是最为常见用的四大组件之一。Activity是一个应用程序组件,提供一个屏幕,用户可以用来交互为了完成某项任务。Activity中所有操作都与用户密切相关,是一个负责与用户交互的组件,可以通过setContentView(View)来显示指定控件。在一个android应用中,一个Activity通常就是一个单独的屏幕,它上面可以显示一些控件也可以监听并处理用户的事件做出响应。Act

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

7、案:Android 中通过 Intent 对象来表示一条消息,一个 Intent 对象不仅包含有这个消息的目的地,还可以包含消息的内容,这好比一封 Email,其中不仅应该包含收件地址,还可以包含具体的内容。对于一个 Intent 对象,消息“目的地”是必须的,而内容则是可选项。通过Intent 可以实现各种系统组件的调用与激活.10Intent传递数据时,可以传递哪些类型数据?答案:一般的基本数据类型 Intent .putextra() intent.getStringextra();数据的uri, intent.setData() intent.getData();11. Activit

8、y,intent、Service和BroadCastReceiver之间是什么关系?Activity、Intent、Service、BroadCastReceiver的概念(每个1.5分),一个应用程序怎么去利用他们(每个1分)12.android中常用的数据存储方式和怎样去实现这些存储方式答案:常用的数据存储方式:SharePreference存储、File存储(分为手机内存存储和SD卡存储)、SQLite数据库存储和网络存储。(每个1.5分)怎样去实现这些存储(每个1分)13. 简述Manifest.xml 文件?答案:AndroidManifest.xml 是每个android程序中必须

9、的文件。它位于整个项目的根目录,描述了package中暴露的组件(activities, services, 等等),他们各自的实现类,各种能被处理的数据和启动位置。 除了能声明程序中的Activities, ContentProviders, Services, 和Intent Receivers,还能指定permissions和instrumentation(安全控制和测试)14 .举例说明android:gravity与android:layout_gravity 的区别答案:LinearLayout 有两个非常相似的属性:android:gravity 与android:layout_

10、gravity。他们的区别在于:android:gravity 用于设置View 组件的对齐方式,而android:layout_gravity用于设置Container 组件的对齐方式。举个例子,我们可以通过设置android:gravity=center来让EditText 中的文字在EditText组件中居中显示;同时我们设置EditText 的android:layout_gravity=right来让EditText组件在LinearLayout 中居右显示。15.注册广播接收者两种方式是什么?答案:首先写一个类要继承BroadcastReceiver第一种:在清单文件中声明,添加a

11、ctionandroid:name=android.provider.Telephony.SMS_RECEIVED)二种使用代码进行注册如:IntentFilterfilter = newIntentFilter(android.provider.Telephony.SMS_RECEIVED);IncomingSMSReceiverreceiver = new IncomgSMSReceiver();registerReceiver(receiver.filter);16.请介绍下Android中常用的五种布局。答案:FrameLayout(框架布局),LinearLayout (线性布局),

12、AbsoluteLayout(绝对布局),RelativeLayout(相对布局),TableLayout(表格布局)17.请介绍下Android的数据存储方式。一.SharedPreferences方式二.文件存储方式三.SQLite数据库方式四.内容提供器(Content provider)方式五. 网络存储方式18.如何启用Service,如何停用Service。答案:Context.startService()和Context.bindService服务不能自己运行,需要通过调用Context.startService()或Context.bindService()方法启动服务。这两个

13、方法都可以启动Service,但是它们的使用场合有所不同。1.使用startService()方法启用服务,调用者与服务之间没有关连,即使调用者退出了,服务仍然运行。使用bindService()方法启用服务,调用者与服务绑定在了一起,调用者一旦退出,服务也就终止。2.采用Context.startService()方法启动服务,在服务未被创建时,系统会先调用服务的onCreate()方法,接着调用onStart()方法。如果调用startService()方法前服务已经被创建,多次调用startService()方法并不会导致多次创建服务,但会导致多次调用onStart()方法。采用star

14、tService()方法启动的服务,只能调用Context.stopService()方法结束服务,服务结束时会调用onDestroy()方法。 3.采用Context.bindService()方法启动服务,在服务未被创建时,系统会先调用服务的onCreate()方法,接着调用onBind()方法。这个时候调用者和服务绑定在一起,调用者退出了,系统就会先调用服务的onUnbind()方法,。接着调用onDestroy()方法。如果调用bindService()方法前服务已经被绑定,多次调用bindService()方法并不会导致多次创建服务及绑定(也就是说onCreate()和onBind(

15、)方法并不会被多次调用)。如果调用者希望与正在绑定的服务解除绑定,可以调用unbindService()方法,调用该方法也会导致系统调用服务的onUnbind()-onDestroy()方法19.android中的动画有哪几类,它们的特点和区别是什么?答案:两种,一种是Tween动画、还有一种是Frame动画。Tween动画,这种实现方式可以使视图组件移动、放大、缩小以及产生透明度的变化;另一种Frame动画,传统的动画方法,通过顺序的播放排列好的图片来实现,类似电影。20.谈谈UI中, Padding和Margin有什么区别?答案:Padding 文字对边框, margin是控件与控件之间的

16、距离。21. Adapter的作用是什么?常见的Adapter有哪些?(见3)答案:Apapter使数据绑定到控件变得更加简单和灵活,为容器提供子视图,利用视图的数据和元数据来构建每个子视图。常见有arrayAdapter,simpleCursorAdapter,cursorAdapter,resourceCursorAdapter 22.android四大组件是什么,各有有什么作用答案一:Activity:Activity是Android程序与用户交互的窗口,是Android构造块中最基本的一种,它需要为保持各界面的状态,做很多持久化的事情,妥善管理生命周期以及一些跳转逻辑。service:

17、后台服务于Activity,封装有一个完整的功能逻辑实现,接受上层指令,完成相关的事务,定义好需要接受的Intent提供同步和异步的接口。Content Provider:是Android提供的第三方应用数据的访问方案,可以派生Content Provider类,对外提供数据,可以像数据库一样进行选择排序,屏蔽内部数据的存储细节,向外提供统一的接口模型,大大简化上层应用,对数据的整合提供了更方便的途径。BroadCast Receiver:接受一种或者多种Intent作触发事件,接受相关消息,做一些简单处理,转换成一条Notification,统一了Android的事件广播模型。答案二:Act

18、ivity是Android程序的呈现层,显示可视化的用户界面,并接收与用户交互所产生的界面事件,用于提示用户程序已经正常启动。Service一般用于没有用户界面,但需要长时间在后台运行的应用。BroadcaseReceiver是用来接受并响应广播消息的组件。ContentProvider是Android系统提供的一种标准的共享数据的机制,应用程序可以通过ContentProvider访问其他应用程序的私有数据。23.android中常用的四个布局有哪些?答案:五种布局方式,分别是:FrameLayout(框架布局),LinearLayout (线性布局),AbsoluteLayout(绝对布局

19、),RelativeLayout(相对布局),TableLayout(表格布局)24android 的四大组件是什么? 答案:Activity、Service、BroadcastReceiver、ContentProvider25.android 中service的实现方法是:startservice和bindservice。26.activity一般会重载7个方法用来维护其生命周期,分别是什么(至少写5个)?答案:onCreate() ,onStart() ,onDestory() 、onRestart() ,onResume() ,onPause() ,onStop()27.android

20、的数据存储的方式有哪些?(见2)28.简述在嵌入式系统中使用SQlite数据库的优势。29 程序运行的结果是:_good and gbc_。 public class Example String str=new String(good); charch=a,b,c; public static void main(String args) Example ex=new Example(); ex.change(ex.str,ex.ch); System.out.print(ex.str+ and ); Sytem.out.print(ex.ch); public void change(St

21、ring str,char ch) str=test ok; ch0=g; 30.简述Service的用途?(见22)31.简述android系统三种菜单的特点及使用方式?答案:Android系统支持的三种菜单分别是:选项菜单、子菜单和快捷菜单。 (1)选项菜单是常用的Android系统菜单,可分为图标菜单和扩展菜单,图标菜单的子项最多是六个,支持显示图标,不支持单选框和复选框;而当子项多余六个时,采用扩展菜单,扩展菜单的子项是垂直排列,支持单选框和复选框,不支持显示图标。第一次启动选项菜单时,只需要调用一次onCreateMenu函数。 (2)子菜单的表现形式是浮动窗体的形式,适应小屏幕的显

22、示形式,能够展示更加详细的信息,通过addSubMenu函数增加子菜单,但不支持嵌套。在选项菜单和快捷菜单中使用子菜单,便于显示和分类相似的菜单子项。 (3)快捷菜单采用动窗体的显示形式,启动方式特别,点击界面元素超过2秒后,则启动该界面元素的快捷菜单。每次启动快捷菜单时,都要调用一次onCreateMenu函数。32简述Intent的定义和用途? 答案:Intent是一个动作的完整描述,包含了动作的产生组件、接收组件和传递的数据信息。Intent为Activity、Service和BroadcastReceiver等组件提供交互能力,将一个组件的数据和动作传递给另一个组件。Intent的一个

23、最常见的用途就是启动Activity和Service;另一个用途是在Android系统上发布广播消息,广播消息可以是接收到特定数据或消息,也可以是手机的信号变化或电池的电量过低等信息。33.android 中service的实现方法是:startservice和bindservice。34. 当启动一个Activity并且新的Activity执行完后需要返回到启动它的Activity来执行的回调函数是?35.Socket通信服务端编程步骤?答案:1.创建一个ServerSocket,用于监听客户端Socket 的连接请求。2.采用循环不断接受来自客户端的请求。3.每当接受到客户端Socket

24、的请求,服务器端也对应产生一个Socket36. Socket通信客户端编程步骤答案:客户端编程步骤:1、创建客户端套接字(指定服务器端IP 地址与端口号)。2、连接(Android 创建Socket 时会自动连接)。3、与服务器端进行通信。4、关闭套接字。37.AsyncTask的作用答案:费时的任务操作总会启动一些匿名的子线程,太多的子线程给系统带来巨大的负担,随之带来一些性能问题。因此android 提供了一个工具类AsyncTask,顾名思义异步执行任务。这个AsyncTask 生来就是处理一些后台的比较耗时的任务,给用户带来良好用户体验的,从编程的语法上显得优雅了许多,不再需要子线程

25、和Handler就可以完成异步操作并且刷新用户界面。38.两种广播注册类型的区别是什么?答案:1)第一种是常驻型(静态注册),也就是说当应用程序关闭后,如果有信息广播来,程序也会被系统调用自动运行。2)第二种不是常驻型广播(动态注册),也就是说广播跟随程序的生命周期。注册的方法有两种,一种是静态注册,一种是动态注册。动态注册优点:在Android 的广播机制中,动态注册的优先级是要高于静态注册优先级的,因此在必要的情况下,我们是需要动态注册广播接收器的。静态注册优点:动态注册广播接收器还有一个特点,就是当用来注册的Activity 关掉后,广播也就失效了。同时反映了静态注册的一个优势,就是无需

26、担忧广播接收器是否被关闭,只要设备是开启状态,广播接收器就是打开着的。39.Android中为什么要引入Handler?答案:在开发Android 移动客户端的时候往往要使用多线程来进行操作,我们通常会将耗时的操作放在单独的线程执行,避免其占用主线程而给用户带来不好的用户体验。但是在子线程中无法去操作主线程(UI 线程),在子线程中操作UI 线程会出现错误。因此android 提供了一个类Handler 来在子线程中来更新UI 线程,用发消息的机制更新UI 界面,呈现给用户。这样就解决了子线程更新UI 的问题。 40. Adapter的作用是什么?常见的Adapter有哪些?AndroidMa

27、nifest.xml文件中主要有哪些信息?答案:它指定了该应用程序的Java包:该包名作为应用程序的一个独特标识。它描述了应用程序组件:该应用程序由哪些activity,service,broadcast receiver和content provider组成。它指定了实现每个组件的类以及公开发布它们的能力(例如,它们能持有哪个Intent信息)。这些声明使Android系统知道这 儿有什么组件以及在什么条件下它们可以被载入。它决定那些进程将容纳应用程序组件。它声明了本应用程序必须拥有哪些许可,以便访问API的被保护部分,以及与其他应用程序交互。它也声明了其他应用程序在和该应用程序交互时需要持

28、有的许可。它列出了Instrumentation类,可以在应用程序运行时提供简档和其他信息。这些声明仅当应用程序在开发和测试过程中被提供;它们将在应用程序正式发布之前被移除。它声明了该应用程序所需的Android API的最小化水平。它列出了该应用程序必须链接的库。启动一个线程使用run()还是start()?答案:启动线程肯定要用start()方法。当用start()开始一个线程后,线程就进入就绪状态,使线程所代表的虚拟处理机处于可运行状态,这意味着它可以由JVM调度并执行。这并不意味着线程就会立即运行。当cpu分配给它时间时,才开始执行run()方法(如果有的话)。START()是方法,它

29、调用RUN()方法.而RUN()方法是你必须重写的. run()方法中包含的是线程的主体。41. 你如何评价Android系统?优缺点(总共写出5条即可)。Android 平台手机5大优势:一、开放性二、挣脱运营商的束缚三、丰富的硬件选择四、不受任何限制的开发商五、无缝结合的Google 应用再说Android 的5大不足:一、安全和隐私二、首先开卖Android 手机的不是最大运营商三、运营商仍然能够影响到Android 手机四、同类机型用户减少五、过分依赖开发商缺少标准配置42如何将SQLite数据库(dictionary.db文件)与apk文件一起发布? 解答:可以将dictionary

30、.db文件复制到Eclipse Android工程中的res raw目录中。所有在res raw目录中的文件不会被压缩,这样可以直接提取该目录中的文件。可以将dictionary.db文件复制到res raw目录中43. 如何将打开res raw目录中的数据库文件? 解答:在Android中不能直接打开res raw目录中的数据库文件,而需要在程序第一次启动时将该文件复制到手机内存或SD卡的某个目录中,然后再打开该数据库文件。复制的基本方法是使用getResources().openRawResource方法获得res raw目录中资源的 InputStream对象,然后将该InputStre

31、am对象中的数据写入其他的目录中相应文件中。在Android SDK中可以使用SQLiteDatabase.openOrCreateDatabase方法来打开任意目录中的SQLite数据库文件。44. activity一般会重载7个方法用来维护其生命周期,分别是什么(至少写5个)?(见上)45.请介绍下Android中常用的五种布局。答案:FrameLayout(帧布局),LinearLayout (线性布局),AbsoluteLayout(绝对布局),RelativeLayout(相对布局),TableLayout(表格布局)。46.通过startService()和bindService()启动service,service的生命周期上有哪些不同? 答案:通过startService()启动服务:会调用如下生命周期方法: onCreate()-onStart()-onDestory() 如果是调用bindService()启动服务:会调用如下生命周期方法: onCreate()-o

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1