理解好Intent,就可以理解Android哲学(“所有应用生来平等”)的一部分。举个简单的例子,iOS里面应用要集成SNS如 facebook/twitter/sina weibo等,都需要应用自己实现(iOS5也只是集成twitter一家);Android上只需要广播一个share内容的intent。从理解 Intent如何工作开始,你就在慢慢理解Activity Manager, Package Manager, services这些Android的重要组件是如何工作的。

  另外Binder是Android架构里非常核心的一块。Android基于Intent的消息传递和组件/应用解耦,下面的基础都是Binder IPC。在这一点上,Android实际上是光荣的传承了BeOS和Palm OS 6(悲催的OS6…)未能发扬光大的一部分。文中提到的Dianne Hackborn即为前BeOS和PalmSource员工,Android的核心架构人员之一。Content Provider这一部分基本上也是她实现的。是的,如果你找到她的个人主页,你会发现这是一位爱好SM的女性工程师。
  MVC(Content Provider, Activity, Layout, Adapters)这个比较基础,也不算Android特有的。
  Content Provider对数据访问的抽象也是比较有意思的一块。理想情况下,content provider可以让客户端用URI以语义化的方式访问数据(URI本身即表示数据层次结构和查询条件),而下面数据库表的结构可以任意变动,不影响客户端代码。当然实做的时候content provider还是会被各种复杂的where子句暴露出SQL的实现细节……
  至于Android的权限管理,其实比较简单,主要是利用现成的Linux安全模型,进程之间相互隔离。API级别的权限管理和JVM类似。

更多相关文章

  1. android每日一问【2011-09-19】
  2. android 如何使用Parcelable接口
  3. android 签名
  4. 运行时权限解析以及申请的实现(可完美解决java.lang.SecurityExce
  5. Android实现页面悬浮显示
  6. Android(安卓)APK应用安装原理(1)-解析AndroidManifest原理-Pack
  7. Android应用开发提高系列(4)——Android动态加载(上)——加载未安装A
  8. Android的nodpi,xhdpi,hdpi,mdpi,ldpi
  9. 浅谈Java中Collections.sort对List排序的两种方法

随机推荐

  1. Android(安卓)线程池管理
  2. Android单元测试-javaeye
  3. Debug native code using addr2line on A
  4. 自定义Android(安卓)editText
  5. Android之日期及时间选择对话框
  6. Android(安卓)动态布局
  7. ch02 Android(安卓)TextView与EditView
  8. android实现调用系统音乐播放器
  9. android 5.1 API简介
  10. Android下拉刷新控件