简单说一下Android的整体架构,以及Android开发都具有什么内容需要什么知识~~对于刚做Android开发的朋友应该有所帮助,老鸟就可以飘过了~~

Android实际上是Google在linux kernel上架构的一套框架。举个简单的例子就是我们用的Ubuntu系统,实际上它也是在标准linux内核上构建了一套自己的东西然后形成了它的系统,而Android也是一个这么样的linux系统,它也可以跑在x86上做上网本,也可以跑在arm上就是我们的手机了。我觉得做Android的都应该首先把Android这个架构图仔细研究一下,不知道CSDN咋贴图的,大家可以Google一下Android架构图。

了解了Android整个架构之后我们就能很清晰地看到我们的开发内容了,一般来说就是3个方向。一个是底层linux driver的开发,另外一个就是框架层的开发,还有一个就是现在大家经历得比较多的就是应用APK的开发。对linux kernel方面的开发主要是需要linux driver方面的知识,对框架的开发根据不同的类容需要你具备不同的知识,比如说多媒体框架,图形框架等等。框架基本上是用C++实现的,所以说做框架方面的语言基础就是c/c++。不过框架和底层的开发主要是OEM做的事情,现在大多数人还集中在应用的开发,下面我们就重点说一下关于应用的开发。

不过说实话我现在的主要工作内容集中在框架部分,尤其是多媒体这块,对应用不是很熟,只是曾经写过一阵子Launcher,但应该来说可以告诉大家一个大致的方向~~

我觉得在做Android应用开发之前应该首先去Google IO仔细阅读一些Google Engineers发布的一些文档,强烈建议看一看,在这里你能详细了解Android的一些原理性的东西,运作机制等等,对于你将来的开发肯定起着指导性的作用,GOOGLE IO的地址:http://code.google.com/intl/zh-CN/events/io/2009/sessions.html#mobile

在看我看来,在做Android APK开发之前除了hello world之外我们不应该急着去写代码,看API,而是我们应该首先把SDK中的 Dev Guide仔细看至少一遍,因为Dev Guide告诉你了Android APK运作的原理,应用程序是如何组织在一起的,他们具有什么部件,相互之间的关系是什么。当你了解这些知识以后,你再去看SDK里面的API Demo你就能很明白地知道原来代码是这样写的,相互之间是这样调度的~~

当你了解了Android APK的原理之后再把API Demo稍微走一遍之后,基本上你就已经在Android APK上上手了~~个人觉得Android开发对Java的要求主要是在多线程上,所以要写出好的APK必须对多线程比较了解。至于使用JNI调用Native library,这个我就不太清楚了,没有仔细去看过代码~~~

更多相关文章

  1. android 架构之mvc
  2. Android 的生命周期基础知识
  3. MVC架构设计与三层模型 & MVP思想精髓与解耦
  4. 深入理解android之IPC机制与Binder框架
  5. android架构

随机推荐

  1. 解决下载Android(安卓)Build-tools 19.1.
  2. Android之开源中国客户端源码分析(一)
  3. LayoutInflater的inflate方法使用
  4. Android(安卓)Fragment 申请权限 onReque
  5. android 情景模式之响铃+震动获取方法
  6. 仿qq横向滑动删除的 SwipeMenuListView
  7. Android命令行启动app应用
  8. android屏幕适配布局和字体
  9. Android(安卓)软键盘弹出时,EditText固定
  10. [记录]相机预览YUV转Bitmap