`
v5qqbrowser
  • 浏览: 355653 次
文章分类
社区版块
存档分类
最新评论

Android应用插件式开发解决方法之一

 
阅读更多
Android应用插件式开发解决方法
一、现实需求描述
一般的,一个Android应用在开发到了一定阶段以后,功能模块将会越来越多,APK安装包也越来越大,用户在使用过程中也没有办法选择性的加载自己需要的功能模块。此时可能就需要考虑如何分拆整个应用了。
二、解决方案提出
一般有两种方式,一种是将应用按照功能分拆成多个应用,用户需要哪个就下载哪个,都需要就都下载。应用之间,可以在代码层面做一定的关联,以共享部分信息。另一种方式,类似于其他平台插件的方式,用户可以在主应用中可以选择性的下载需要的插件,不需要该功能,则不需要下载。
第一种方式,只需要开发多个应用就够了。第二种方式稍微复杂,需要做很多额外的工作。这里我们简单讨论第二种方式的大致实现方法。
三、实现方法概述
有人可能会想到,是否可以像其他平台那样,下载一个类似于dll文件,或者jar包,就能自动识别并且加载该功能?可惜的是,在Android平台上是不允许直接动态加载jar包的,作者也没有想到类似办法。所以,想实现这种功能,还是要以独立APK的方式来加载。和第一种方式不同的是,从设计的角度,具体的插件是没有独立运行的入口的,也不允许有桌面图标存在,必须从主应用中打开,关闭后回到主应用。从用户的角度看,可以在应用中加载需要的功能并且使用,也就类似于其他平台插件的方式了。
为了实现这种方式,从设计的角度,就需要考虑清楚哪些功能作为独立的插件提供给用户,这里不再详述。下面从开发的角度说明大致需要做的工作。
Ø 主应用中需要开发的框架功能:
识别具体的插件是否已经安装(根据插件的package名)
如果已经安装要判断是否需要升级(服务器端获取最新的版本和本地的比较)
下载并且安装(或者升级)插件
卸载该插件
Ø 插件APK开发中需要注意的事项:
Manifest文件中不要提供启动的入口
Ø 主应用和插件之间交互的提示:
最好是使用相同的android:sharedUserId,插件可以方便的获取主应用的资源、数据库等等。
主应用可以以Intent方式启动具体的插件,同时带入Map类型参数或者json串参数,在插件APK中解析具体参数,实现业务逻辑。
三、其他说明
本博客内容并没有具体说明如何去实现,没有代码级别的说明。但是通过上面介绍的方式,开发者基本已经可以理解如何实现插件式的Android应用了。具体的,在开发过程中可能还会遇到很多问题,需要开发者自己摸索和完善。
分享到:
评论

相关推荐

    Android-hydrogen是一个插件式的Android应用程序使用Lua开发

    hydrogen是一个插件式的Android应用程序,使用Lua开发

    android应用开发详细流程与经验

    安装ADT:google现在已经将android的开发环境给你打包好 包括了eclipse android SDK 和eclipse的android开发插件 ADT下载地址:http: developer android com sdk index html 或者百度搜 android SDK 安装好ADT请...

    Android插件化开发Demo

    Android动态加载插件技术指的是在Android程序运行的过程中,使用java的反射,动态调用存放于应用程序目录下(SD卡即可)的APK文件,从而动态生成界面。

    Google Android 2_X应用开发实战1

    第1章 Android应用开发基础/2 1.1 Android的系统构架/2 1.2 Android开发环境搭建/3 1.2.1 安装JDK和配置Java开发环境/3 1.2.2 安装AndroidSDK/4 1.2.3 安装Eclipse插件ADT/6 1.3 Android应用程序中的资源/7 1.4 ...

    《c#开发Android应用实战》高清带书签

    《移动与嵌入式开发技术·C#开发Android应用实战:使用Mono for Android和.NET/C#》主要介绍如何使用Mono for Android进行.NET/C#开发。Mono for Android允许开发人员针对运行了Android l.6以及更新版本的设备进行...

    3G应用开发之Android

    3G应用开发之Android 什么是3G 智能手机软件平台 什么是Android 如何安装 Android SDK 和Eclipse 插件 开发第一个Android应用

    C#开发Android应用实战_RAR.rar

    Xamarin Studio是一个用C#语言开发跨平台应用的集成开发环境,它和iOS以及Android SDK紧密整合。Xamarin Studio提供了很多现代开发所需功能,包括代码完成、调试器、打包和发布应用(支持通过TestFlight发布应用程序...

    Android Studio移动应用开发PPT详解(微课版)

    Android移动应用开发(Android Mobile App Development)是一种利用Java编程...在开发Android应用程序时,可以使用Eclipse + Android开发工具(ADT)插件的集成开发环境,或使用Android Studio等一些其他的IDE工具。

    Eclipse Android 开发插件

    Eclipse下用于开发Andriod手机应用的插件

    大话企业级Android应用开发实战[王家林][程序源代码]

    第2话 android开发之道  7 搭建开发环境  7.1 准备所需软件  7.1.1 android开发需要的工具  7.2 安装所需的软件  7.2.1 安装jdk  7.2.2 安装eclipse  7.2.3 安装eclipse插件(adt)  7.2.4 安装androidsdk...

    Android插件话开发Small框架应用实例

    Android插件化开发Small框架的应用实例。

    android插件化开发demo 网络更新插件版

    前段时间发布了apkplug的本地应用,今天发布apkplug插件化demo的网络版,你可以通过网络来更新插件。想理解更多可以访问博客http://blog.csdn.net/o1587790525/article/details/11891997

    C#开发Android应用实战-zip.zip

    Xamarin Studio是一个用C#语言开发跨平台应用的集成开发环境,它和iOS以及Android SDK紧密整合。Xamarin Studio提供了很多现代开发所需功能,包括代码完成、调试器、打包和发布应用(支持通过TestFlight发布应用程序...

    android开发入门教程

    2.1 开发Android应用前的准备 2.1.1 Android开发系统要求 2.1.2 Android软件开发包 2.1.3 其他注意事项 2.2 Windows开发环境搭建 2.2.1 JDK、Eclipse、AndroidSDK软件安装 2.2.2 SDK的家在哪里——设定...

    基于Android系统的数据库开发和插件技术的应用开发.pdf

    基于Android系统的数据库开发和插件技术的应用开发.pdf

    Android应用程序开发教程PDF电子书完整版、Android开发学习教程

    的 Android SDK 提供了在 Android 平台上使用 JaVa 语言进行 Android 应用开发必须的工具和 API 接口。 特性 • 应用程序框架 支持组件的重用与替换 • Dalvik Dalvik Dalvik Dalvik 虚拟机 专为移动设备优化 • ...

    Android开发案例驱动教程 配套代码

    《Android开发案例驱动教程》 配套代码。 注: 由于第12,13,14章代码太大,无法上传到一个包中。 这三节代码会放到其他压缩包中。 作者:关东升,赵志荣 Java或C++程序员转变成为Android程序员 采用案例驱动模式...

    PhoneGap android的Toast插件

    PhoneGap android的Toast插件,使用方法不用介绍了,用phoneGap开发android应用的人都知道,希望对大家有帮助。

    Android widget桌面插件

    Android widget是桌面插件,在android系统应用开发层面有特殊用途。AppWidget是把一个进程的控件嵌入到别外一个进程的窗口里的一种方法。悬浮窗的效果与Widget很类似,但是它比Widget要灵活的多。

    Google Android 2_X应用开发实战3

    第1章 Android应用开发基础/2 1.1 Android的系统构架/2 1.2 Android开发环境搭建/3 1.2.1 安装JDK和配置Java开发环境/3 1.2.2 安装AndroidSDK/4 1.2.3 安装Eclipse插件ADT/6 1.3 Android应用程序中的资源/7 1.4 ...

Global site tag (gtag.js) - Google Analytics