`
w0rchid
  • 浏览: 11655 次
  • 性别: Icon_minigender_1
  • 来自: 南京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

android面试

 
阅读更多

1.        Android中进程与进程、线程与线程之间如何通信?
2.        Widgt相对位置的完成在activity的哪个生命周期阶段实现?
3.        UI配套的adapter的使用
4.        对多线程的理解和运用,以及多线程之间handle传值
5.        对android虚拟机的理解,包括内存管理机制和垃圾回收机制
6.        Framework工作方式及原理
7.        Activity是如何生成一个view的,机制是什么?
8.        Android本身的一些限制,比如APK包大小的限制,读取大文件时的时间问题
9.        Linux跨进程通信的集成方式
10.        Activity的生命周期,两个Activity之间跳转时必然会执行的是那几个方法?
11.        不用service,B页面为音乐播放,从A跳转到B,再返回,如何使音乐继续播放?
12.        Service有哪些启动方法?有什么区别?
13.        (音乐播放器)如何加载的音乐信息,如何改善其效率。
14.        电话状态的监听,改变打电话界面(听说我改动的Phone源码就不再问了)。
15.        ListView如何提高其效率?
16.        启动一个程序,可以主界面点击图标进入,也可以从一个程序中跳转过去,二者有什么区别?
17.        启动一个Activity有哪几种方法?
18.        怎么让在启动一个Activity是就启动一个service?
19.        Android程序与Java程序的区别?并强调了不是虚拟机方面的!
20.        Android中Task任务栈的分配。
21.        程序之间的亲和性的理解。
22.        同一个程序,但不同的Activity是否可以放在不同的Task任务栈中?
23.        在Android中,怎么节省内存的使用,怎么主动回收内存?
24.        Android四大组建,对各种组件的理解。(因为在不同的资料中,有人把Activity、Intent、Service、 ContentProvide看为四大组建,也有人把Activity、Broadcast Receives或Intent Receives、Service、ContentProvide看成四大组建)所以这个话题就牵出来的问题比较多。
25.        对Android的理解。
26.        Intent传递数据时,可以传递哪些类型数据?
27.        不同工程中的方法是否可以相互调用?
28.        Android中Provide是用来干什么的?
29.        电话的状态有哪之中,怎么判断是来电还是去电?
30.        在Android中是如何实现判断区分通话记录中的电话状态,去电,来电、未接来电?
31.        音乐播放器如果有大量的音乐文件,如何提高界面展示速度?
32.        音乐播放功能api中播放流程是怎么样的?
33.        Activity怎么和service绑定,怎么在activity中启动自己对应的service?
34.        Service有几种启动方式,区别是什么?
35.        界面间的跳转用什么实现,跳转时activity的生命周期。
36.        界面间的布局是怎么实现的,控件的排列。
37.        项目中你遇到的最大困难是什么,怎么解决的。
38.        有些项目(我做过的)android中已经有了,而你又自己实现了,为什么自己实现,以及你用的实现方式以及所用知识点,二者相比,哪个更有优点,优点在哪。
39.        你做的一个比较复杂的界面,画出来,每个部分用的什么控件,各个控件中你用到的的属性是什么,写出来。
40.        如果有种功能,他认为你做的显得不够完美,可能会把这个不完美的地方说出来,让你根据这问题给出一个解决方案。
41.        Android用的数据库是什么样的?它和sql有什么区别?为什么要用ContentProvide?它和sql的实现上有什么差别?









组件的介绍


 
开发框架方面包含基本的应用功能开发、数据存储、网络访问这三大块:
一、应用方面
  一般而言一个标准的Android程序由如下4部分组成即Activity、Broadcast Intent Receiver、Service、Content Provider:
  1. Activity是最频繁、最基本的模块,在Android中,一个Activity就是手机上一屏,相当于一个网页一样,所不同的是,每个Activity运行结束了,有个返回值,类似一个函数一样。Android系统会自动记录从首页到其他页面的所有跳转记录并且自动将以前的Activity压入系统堆栈,用户可以通过编程的方式删除历史堆栈中的Activity Instance。
     Activity类中主要是跟界面资源文件关联起来(res/layout目录下的xml资源,也可以不含任何界面资源),内部包含控件的显示设计、界面交互设计、事件的响应设计以及数据处理设计、导航设计等application设计的方方面面。
  2. Broadcast Intent Receiver
Intent提供了各种不同Activity进行跳转的机制,譬如如果从A activity跳转到B activity,使用Intent来实现如下:
     Intent in = new Intent(A.this, B.class);
     startActivity(in);
BroadcastReceiver提供了各种不同的Android应用程序进 行进行进程间通讯的机制,譬如当电话呼叫来临时,可以通过BroadcastReceiver发布广播消息。对于用户而 言,BroadcastReceiver是不透明的,用户无法看到这个事件,BroadcastReceiver通过 NotificationManager来通知用户这些事件发生了,它既可以在资源AndroidManifest.xml中注册,也可以在代码中通过 Context.registerReceiver()进行注册,只要是注册了,当事件来临的时候,即时程序没有启动,系统也在需要的时候会自动启动此应 用程序;另外各应用程序很方便地通过Context.sendBroadcast()将自己的事情广播给其他应用程序;
  3. Service,跟Windows当中的Service完全是一个概念,用户可以通过startService(Intent service)启动一个Service,也可通过Context.bindService来绑定一个Service.
  4. Content Provider,由于Android应用程序内部的数据都是私有的,Content Provider提供了应用程序之间数据交换的机制,一个程序可以通过实现一个ContentProvider的抽象接口将自己的数据暴露出去,并且隐蔽 了具体的数据存储实现,标准的ContentProvider提供了基本的CRUD(Create,Read,Update,Delete)的接口,并且 实现了权限机制,保护了数据交互的安全性;
  一个标准的Android应用程序的工程文件包含如下几大部分:
  -> Java源代码部分(包含Activity),都在src目录当中;
  -> R.java文件,这个文件是Eclipse自动生成与维护的,开发者不需要修改,提供了Android对的资源全局索引;
  -> Android Library,这个是应用运行的Android库;
  -> assets目录,这个目录里面主要用与放置多媒体等一些文件;
  -> res目录,放置的是资源文件,跟VC中的资源目录基本类似,其中的drawable包含的是图片文件,layout里面包含的是布局文件,values 目录里面主要包含的是字符串(strings.xml)、颜色(colors.xml)以及数组(arrays.xml)资源;
  -> AndroidManifest.xml,这个文件异常重要,是整个应用的配置文件,在这个文件中,需要声明所有用到的Activity、Service、Receiver等。
二、数据存储
  在Android,可供选择的存储方式包括了SharedPreferences、文件存储、SQLite数据库存储方式、内容提供器方式(Content Provider)以及网络方式 5种,具体如下:
   -> SharedPreferences是Android提供的一种配置文件读写方式,默认存在应用的data/<package name>/shared_prefs下面,通过getSharedPreferences(xx, 0);来获取SharedPreferences对象进行读写操作;
   -> 通过openFileInput、openFileOutput等系统提供的API来进行数据的读写访问,特别需要注意的是在Android之中应用程序的数据是私有的,这就是说当前应用程序产生的文件其他应用程序无法访问。
   -> SQLite数据库存储方式则是通过继承SQLiteOpenHelper类,并且获取此类的应用程序级别的实例来进行数据库操作的,该类中提供了默认的CRUD访问接口,方便了应用程序的数据存储操作;
   -> 内容提供器方式(Content Provider),如在上面应用方面所论述的一样,通过调用其他应用程序的数据接口来实现数据的读写访问;
   -> 网络方式主要是通过下面要提到的网络访问该网络提供的网络服务接口实现数据的读写服务(譬如WebService数据访问接口);
  
三、网络访问方面
   主要是Http访问技术的封装,通过java.NET.*;以及Android.net.*;下面提供的HttpPost、DefaultHttpClient、HttpResponse等类提供的访问接口来实现具体的web服务访问






而是要写自己对Android UI设计的熟悉程度、Linux嵌入式方面、TCP/IP和HTTP协议、Socket通信,线程的使用以及网络通信方面的熟悉程度吧!毕竟有不少是在开发板上进行的。



  7. android也应该遵循mvc的编程规范,activity只负责处理跳转,UI,和简单数据校验工作,业务逻辑放置在service类 中,sqlite操作稍加封装下,做个类似jdbcUtil的那种模板类,提供增删改查,分页等方法,这样dao操作就完善许多。我想作为java程序员 转做android开发,最大的障碍不在框架也不在谷歌sdk中的那些api,而是java基础。通过写程序发现,做手机开发的程序员,基本素质要过硬, 尤其在集合,线程,异常,io,http这些要非常透彻,不然一个看似很简单的功能,可能就会写的bug百出,甚至效率很低,可读性差,基本上自己回过头 都看不懂自己写的是什么,对接口和抽象类,包括匿名内部类的写法也要炉火纯青。



分享到:
评论

相关推荐

    android面试题 自己总结的

    android面试题 自己总结的 android面试题 自己总结的 android面试题 自己总结的 android面试题 自己总结的

    71道经典Android面试题和答案

    ------71道经典Android面试题和答案助你轻松拿下offer------

    【黑马面试宝典】虐面试官神器之必备黑马程序员Android面试宝典.zip

    Android面试宝典包含两个宝典: 1【黑马项目宝典】虐面试官神器之必备黑马程序员项目宝典V1.1 内容包括:(1)电子商城(2)ListView系列(3)图像处理(4)动画效果(5)控件大全(6)新闻资讯(7)生活相关(8)...

    android 面试

    android 面试 1. 请描述下Activity的生命周期。  答:onCreate()Activity第一次加载时调用,用户构建窗体  onStart()Activity能被用户看到时时调用  onResume()Activity能够得到用户焦点时调用  onRestart()...

    常见的java,android面试题整理

    ava,android面试题整理

    2023最新Android 面试篇(2303版).pdf

    2023最新Android 面试篇(2303版).pdf

    Android面试宝典6.0

    Android面试宝典,包括Java基础和高级面试,Android基础和高级面试,面试技巧,面试分享,BAT大咖助力,全面升级Android面试,Android高级面试,10大开源框架源码解析...等内容

    BAT大咖助力 全面升级Android面试

    BAT大咖助力 全面升级Android面试 第1章 课程介绍 第2章 一线互联网公司初中高Android开发工程师的技能要求 第3章 Android基础相关面试问题 第4章 异步消息处理机制相关面试问题 第5章 View相关面试问题 第6章 ...

    Android面试题整理

    Android面试题整理

    最全Android面试题

    最全Android面试题 最全Android面 最全Android面试题 最全Android面试题试题

    android面试四十题

    android面试题,总结大部分移动开发公司常考的android面试题,适用于android找工作的同学们

    联想android面试题

    联想android面试题

    Android 面试基本问题

    Android 面试基本问题 1.基本知识点 2.扩展知识点

    Android 面试题集

    Android 面试题集Android 面试题集Android 面试题集Android 面试题集Android 面试题集Android 面试题集Android 面试题集Android 面试题集Android 面试题集Android 面试题集Android 面试题集Android 面试题集Android ...

    Android面试宝典5.0

    Android面试宝典,包括Java基础和高级面试,Android基础和高级面试,面试技巧,面试分享等内容

    Android面试题.doc

    Android面试题.doc, Android面试题.doc Android面试题.doc

    android面试题集锦(珍藏)

    Android面试题集锦 (1):事件分发机制概述  首先应该搞清楚两个问题:事件分发机制分发的是什么?怎么进行分发?  分发的是MotionEvent事件了,因而我们讨论的问题就成了当MotionEvent事件生成之后,事件是怎么...

    Android面试宝典4.0

    Android面试宝典,包括Java基础和高级面试,Android基础和高级面试,面试技巧,面试分享等内容

    android面试题整理

    android面试题整理 包含填空选择简答算法数学逻辑等知识

    Android面试总结精华

    上网收集的Android面试题,部分有详细答案 共享大家一起学习

Global site tag (gtag.js) - Google Analytics