`
ice.k
  • 浏览: 286685 次
  • 性别: Icon_minigender_1
  • 来自: 荷兰
社区版块
存档分类
最新评论

Android Add-ons

阅读更多
Android Add-ons


本文暂时只针对Android 1.5 Cupcake以及1.6 Donut平台对Add-ons进行分析。

Android Add-ons是Android中的可选API。Google和Sun相同,把部分高端应用作为可选API供手机生产商定制不同的硬件支持模块。在JME中Sun是以JSR方式公布而Google采用了Add-ons API。

一.开发用的SDK
从1.5开始,Google release出的android版本会将Google的一些特色服务分出来,整合到Add-ons中,编译的库在add-ons\google_apis-3\libs目录的map. jar下,我们可以将它们反编译看到里面的一些“内幕”。
所以我们如果想在自己的应用中应用到Add-ons的东西,在新建Eclipse project的时候,需要选择Build Target 为3 (SDK1.5 Cupcake) ,或4(SDK1.6 donut) 





这样我们的程序就可以import Add-ons中的class,使用里面的方法。


二.设备运行库
2.1Emulator(模拟器)
安装并运行载有Add-ons API的程序,需要新建一个Target ID为3 或者 4的 AVD(Android Virtual Device)
例如:
android create avd –n GoogleAddons –t 3  (1.5和1.6通用)或者
Android create avd –n GoogleAddons –t 4 (只适用于1.6)
AVD启动之后,我们可以查看到system/framework以及system./etc/permissions中多了一些内容


对,这个就是Add-ons程序在设备中的运行库(被优化成了dex格式的文件)。

2.2 Target(手机终端)
作为与Google合作的手机终端的制造商
如果想在自己的Android终端中集成Google的一些应用,例如map,market,picasa,sync等,需要和Google签约,这样Google会有专人帮你将这一系列服务整合到你的平台中来。
作为没有和Google合作的手机终端的制造商
我们可以使用破解的方法将Add-ons中的运行库整合到自己的framework中来(build到手机终端的system.img中)。
操作如下:
1. 在Android中,额外支持Google Add-ons(Google Maps),需要将如下档案(从标准的SDK中pull出来的,也可以从GPhone中pull出来)打包进System.img
Google Add-ons只需要1--2
Goolge Maps(Google的地图程序) 需要1--5

1)system/framework       com.google.android.maps.jar
2)system/etc/permissions  com.google.android.maps.xml
3)system/framework       com.google.android.gtalkservice.jar
4)system/etc/permissions  com.google.android.gtalkservice.xml
5system/app             Maps.apk (Google Maps v3.0)

2.源码:Android Cupcake Release(经测试,在donut平台同样适用。)
1)编译源码(为了生成out/target目录中Android最原始的东西)
2)将以上文件加入out/target/product/generic相应目录,在源码根目录使用make snod打包,获得新的system.img

三 .SDK中常用类解析
参考SDK中的add-ons\google_apis-4\docs\reference\index.html

3.1 使用Add-ons我们到底能实现那些功能?
1.MapActivity—管理Activity的生命周期,为mapview建立及取消对map service的连接。

2.MapView—控制MapView中的view组件,管理Overlay,提供View的基本功能。
使用多种地图模式(地图模式(某些城市可实时对交通状况进行更新),卫星模式,街景模式)来查看Google Map

3.MapControl 地图移动,伸缩,以某个GPS坐标为中心。

4.Overlay—覆盖到MapView的最上层,可以扩展其ondraw接口,自定义在MapView中显示一些自己的东西。MapView通过MapView.getOverlays()对Overlay进行管理。
除了Overlay这个基类,Google还扩展了2个比较有用的Overlay
1)MylocationOverlay—集成了Android.location中接收当前坐标的接口,集成SersorManager中CompassSensor的接口
我们只需要enableMyLocation(),enableCompass就可以让我们的程序拥有实时的MyLocation以及Compass 功能。

2)ItemlizedOverlay—管理一个OverlayItem链表,用图片等资源在地图上作风格相同的标记。

5.Projection—MapView中GPS坐标与设备坐标的转换



3.2 实做
The first steps with Android and Google Maps:
http://blogs.itemis.de/frey/2009/04/04/location-based-services-on-android-part-1/
http://blogs.itemis.de/frey/2009/04/07/location-based-services-on-android-part-2/
http://blogs.itemis.de/frey/2009/04/15/location-based-services-on-android-part-33-customoverlays

四. Add-ons源码及相关的开源项目
4.1Add-ons的Map.jar的源码(版本比较早,不过对了解Map的整个框架及实做很有帮助)
http://gitorious.org/android-maps-api/android-maps-api/trees/master/src/com/anconafamily/android/maps
如果想更深入,只能反编译add-ons\google_apis-3\libs下的那支Map.jar里面的class了。

4.2mapview-overlay-manager 让地图的应用使用起来更方便
     http://www.anddev.org/viewtopic.php?p=25712


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/clybe/archive/2009/09/27/4602379.aspx
分享到:
评论

相关推荐

    Android SDK (SDK Platforms)-android-26.zip

    - `add-ons`:可能包含额外的平台或服务组件。 - `platform.jar`:包含Android系统的公共库。 - `system-images`:用于模拟器的系统镜像,开发者可以创建运行Android 8.0的AVD(Android Virtual Device)进行测试...

    androidsdk-platforms-android-24.rar

    - `add-ons`: 可能包含特定厂商的额外功能或扩展。 - `build.prop`: 一个配置文件,定义了构建环境的属性。 - `libs`: 包含各种库文件,如armeabi-v7a和x86架构的.so文件。 总结起来,"androidsdk-platforms-...

    android-sdk-windows

    To install Platform-tools, Android platforms and other add-ons, you must have an Internet connection, so if you plan to use the SDK while offline, please make sure to download the necessary components...

    android sdk platform-31_r01.zip (android 12 preview)

    9. **add-ons** - 可能包含特定硬件或服务的额外组件,比如Google Play服务。 Android 12 的主要新特性包括: 1. **隐私保护强化**:提供了更多的用户隐私控制,如显示应用访问剪贴板、位置、相机和麦克风的权限...

    android-sdk-windows.7z

    4. **Add-ons**: 可选的额外组件,比如Google APIs(包含Google Play服务),或者特定硬件制造商的SDK扩展。 5. **Samples**: 包含多个示例项目,供开发者学习和参考,涵盖了各种API特性和设计模式。 6. **Docs**:...

    Android SDK (SDK Platforms)-android-22.zip

    - `add-ons`:可能包含额外的添加-on,如Google Play服务或特定硬件的支持库。 5. **开发环境配置**:下载并解压这个压缩包后,开发者需要将其路径添加到Android Studio或者Eclipse的SDK Manager设置中,以便在...

    android-21 SDK

    - **add-ons**: 可能包含第三方硬件或软件的特定支持包。 - **docs**: 官方的API文档,供开发者查阅API功能和使用方法。 - **samples**: 示例代码,展示如何使用新特性或API。 - **sources**: 源代码,让开发者...

    Android代码-mobius

    Mobius is a functional reactive framework for managing state evolution and side-effects, with add-ons for connecting to Android UIs and RxJava Observables. It emphasizes separation of concerns, ...

    Android SDK (SDK Platforms)-android-23.zip

    5. `add-ons` 和 `build-tools` 等其他文件夹:包含额外的工具和组件,如构建工具和第三方库。 **使用Android SDK** 要使用Android SDK,开发者通常需要配置环境变量,指向SDK的路径,并安装必要的组件,例如...

    google add-on library 4.0

    这个版本的更新可能包含了性能优化、新功能的添加以及对旧功能的改进,旨在提升开发者在构建Google Add-ons时的效率和用户体验。 在Android开发中,Google Add-on Library 4.0可能包含以下几个关键知识点: 1. **...

    android-sdk_r22-windows

    7. **Add-ons**: 可选的额外组件,例如Google Play服务库,提供了地图、推送通知、Google+登录等功能。 在Windows环境下,开发者通常会解压此zip文件到指定目录,并配置环境变量以方便在命令行中直接使用SDK工具。...

    android-17_r02.zip

    - **add-ons**:可能包含第三方硬件或软件的附加组件。 - **samples**:示例代码,帮助开发者理解和学习API的用法。 为了使用这个SDK,开发者通常需要配置环境变量,并通过SDK Manager来安装必要的构建工具、额外的...

    android-platform-16

    - `add-ons`:可能包含特定硬件或服务的额外组件。 - `samples`:示例应用和代码,用于展示如何使用新特性和API。 - `platform-tools`:包含用于开发和调试的工具,如`adb`(Android Debug Bridge)和`fastboot`。 -...

    android-29.7z

    7. `add-ons`、`lib`、`platform-tools`、`samples`等子目录:提供额外的库、工具和示例代码。 使用这个SDK,开发者可以利用Android Studio或其他IDE进行应用开发,设置API级别29的最低或目标版本,以确保应用在...

    android-sdk-windows.rar

    5. **add-ons.rar**:这里可能包含了额外的SDK插件,例如Google Play服务,它提供了许多Google服务的API,如地图、身份验证、推送通知等,这些都是许多现代Android应用的核心组成部分。 6. **SDK Readme.txt**:这...

    Android开发环境离线搭建

    - `google_apis-10_r02.zip` -> `android-sdk-windows\add-ons\addon_google_apis_google_inc_10` - **检查SDK安装状态**:双击`android-sdk_r13-windows`目录下的`SDKManager.exe`,关闭提示窗口后点击...

    repository.xbmc-addons-chinese-2.0.0.zip

    KODI,原名XBMC(Xbox Media Center),是一款开源的、免费的媒体中心软件,可以运行在多种操作系统和硬件平台上,如Windows、Linux、Mac OS X以及各种Android设备等。它允许用户组织和播放多媒体内容,包括电影、...

Global site tag (gtag.js) - Google Analytics