Chinaunix首页 | 论坛 | 博客
  • 博客访问: 9417374
  • 博文数量: 1748
  • 博客积分: 12961
  • 博客等级: 上将
  • 技术积分: 20070
  • 用 户 组: 普通用户
  • 注册时间: 2009-01-09 11:25
个人简介

偷得浮生半桶水(半日闲), 好记性不如抄下来(烂笔头). 信息爆炸的时代, 学习是一项持续的工作.

文章分类

全部博文(1748)

文章存档

2024年(24)

2023年(26)

2022年(112)

2021年(217)

2020年(157)

2019年(192)

2018年(81)

2017年(78)

2016年(70)

2015年(52)

2014年(40)

2013年(51)

2012年(85)

2011年(45)

2010年(231)

2009年(287)

分类: LINUX

2009-11-18 11:39:33

 
简介:
  • android 首先是一个开放的软件协议栈,能够进行软件和硬件的整合。
  • 建立以服务为导向的开发模式。
  • 修正了上层JAVA和底层C++ module, 便于发挥硬件特色和数据展现交互的性能。
  • 用户开发需要根据Android的框架特色来进行Android-like框架开发
  • 整个开发流程应以框架为主,软件应用的控制点也应在框架层。

核心服务:(输入法、打印机等)

  • 把硬件层HW层的差异性特征供APP层使用。
  • 开机过程中应加载核心服务供多client共用。

核心服务种类:

  • Java Service
  • Native Service (经由 binder driver 管理)

Service Manager:

  • SM是所有核心服务的管理者,用来管理其他的核心服务,android开机时会把SM加入到Binder Driver里。

  • NativeService通过defaultServiceManager()获得SM的IServiceManager接口。
  • 这样就可以通过该接口调用SM的服务,常用的为IServiceManager::getService()/SetService
  • 核心服务一般应在独立进程中运行
  • 必须提供IBinder接口,这样才可以让Java APP 层远程绑定呼叫
  • 因为公用,所以要考虑临界区保护多线程安全。

制作步骤:

   方法一:

  • 在Native Service层定义C++类别,实现IBinder接口,通过SM提供的接口addService把服务对象放入Binder Driver中。
  • 应用程序APP通过SM远程绑定改核心服务,此时SM会把核心服务的IBinder接口提供个APP
  • APP通过IBinder::transact()来实现和核心服务的信息互动。

   方法二:

  • 在Java Service 层实现Binder类的子类,并通过SM把自身对象放入Binder Driver。
  • 其他步骤同方法一。

范例:

 

文件:simpleBinder.tar.bz2.rar
大小:2KB
下载:下载

 在adb shell中后台运行Reg.exe[即启动核心服务的进程]后, 通过执行client程序后,在Logcat中看到client程序的信息输出。


范例仅仅演示了Native Service部分的Binder的搭建流程, Binder内容可以通过JNI给Java Service 进而给Java APP调用。

Java Service 的Binder实现方式类似,仅API部分需要修改。
Java 部分范例:
文件:Android-Activity-Service-1.rar
大小:31KB
下载:下载
我是把activity 和 Service 放在同个APK文件中,发现一个问题,每次执行程序的时候发现 activity 和 Service的 OnCreate 函数都会执行一遍,虽然说ps中还存在这两个进程,后面会找些理论依据来证实这个现象。待述 ..., 有知道的也可以留言给我看看。
看看下面这张图, 呵呵  很早就看过了就是认识不够深刻,还是不明白why。

 问题解决:
  •  使用back键后, 程序无论是从HOME键调出的正在运行的程序还是从Tab ListView 中点击调出的程序都会自动执行OnCreate动作。
  • 使用Home键后,再从HOME键调出的正在运行的程序时程序会延续上次退出后的状态。
  • 总结: Android对按键的不同有对程序的运行状态做了不同的动作,我想到了我前几天看的android的各个按键的功能。^_^ 理解不够深刻阿。

阅读(2681) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~