apklug插件托管服务开发教程之下载插件-02
来源:互联网 发布:关注黄金价格的软件 编辑:程序博客网 时间:2024/06/01 14:25
结合上节<按条件查询宿主中的插件>,本节下载并按照云端的插件。
实现项目demo http://git.oschina.net/plug/ApkplugCloudServiceDemo
实现代码 :com.apkplugdemo.adapter.SearchBundleAdapter
一,插件下载安装服务
插件下载安装服务也是以OSGI服务形式提供的,获取服务的模板代码为:
1
//查询插件下载服务 因为该服务在框架启动时启动,所以肯定存在
2
ServiceReference reference=context.getServiceReference(AppDownload.
class
.getName());
3
if
(
null
!=reference){
4
service=(AppDownload) context.getService(reference);
5
}
6
context.ungetService(reference);
二,AppDownload服务接口说明
01
public
interface
AppDownload {
02
/**
03
* 插件托管服务接口
04
* @param appBean ab 包含插件基本信息
05
* @param mContext android上下文
06
* @param callback 服务回调接口
07
* @throws IOException
08
*/
09
public
void
download(appBean ab,Context mContext,AppDownloadCallBack callback)
throws
IOException;
10
}
三,调用插件安装服务接口下载插件
1)首先应该获取appBean 目前有两种方式可以获取到
1.通过插件搜索服务 即上一节提到的
2.通过插件版本状态服务
2)编写回调接口AppDownloadCallBack
01
public
interface
AppDownloadCallBack {
02
/**
03
* 安装成功
04
*/
05
public
final
int
suc_install=
0
;
06
/**
07
* 安装失败
08
*/
09
public
final
int
fail_install=-
1
;
10
/**
11
* 安装成功
12
*/
13
public
final
int
suc_download=
1
;
14
/**
15
* 下载失败
16
*/
17
public
final
int
fail_download=-
2
;
18
/**
19
* 获取url成功
20
*/
21
public
final
int
suc_url=
2
;
22
/**
23
* 获取url失败
24
*/
25
public
final
int
fail_url=-
2
;
26
/**
27
* 插件安装成功后
28
* @param b
29
*/
30
public
void
onInstallSuccess(
int
stutas,Bundle b);
31
32
public
void
onDownLoadSuccess(String info);
33
/**
34
* 插件下载中
35
* @param bytesWritten 已下载数据
36
* @param totalSize 总数据大小
37
* @param Speed 下载速度
38
* @param bean
39
*/
40
public
void
onProgress(
int
bytesWritten,
int
totalSize,String Speed);
41
42
/**
43
* 失败
44
* @param bean
45
* @param errorNo
46
* @param strMsg
47
*/
48
public
void
onFailure(
int
errorNo ,String strMsg);
49
}
0 0
- apklug插件托管服务开发教程之下载插件-02
- apklug插件托管服务开发教程之按条件查询云端插件-01
- apklug插件托管服务开发教程之查询已安装插件版本状态-03
- apklug插件托管服务开发教程之上传应用到云端-04
- Hexo高级教程之插件开发
- 使用Eclipse插件EGit进行Git代码托管和协同开发教程
- Jquery插件开发教程
- Chrome插件开发教程
- jQuery插件开发教程
- 插件开发教程--(一)
- PHPCMS插件开发教程
- Stylus插件开发教程
- apkplug插件托管服务简化与简介-05
- Unity3D教程宝典之插件篇:Unity3D插件详细评测及教学下载
- 【风宇冲】Unity3D教程宝典之插件篇:Unity3D插件详细评测及教学下载
- 【风宇冲】Unity3D教程宝典之插件篇:Unity3D插件详细评测及教学下载
- Unity3D教程宝典之插件篇:Unity3D插件详细评测及教学下载
- Unity3D教程宝典之插件篇:Unity3D插件详细评测及教学下载
- Office365批量分配许可(License)
- Node 事件监听和分发 Event Emitter(转自《了不起的Node》)
- Download interrupted: Read timed out
- 几种顺序打印php数组的方法
- 阿里云https web服务器VPN的配置问题
- apklug插件托管服务开发教程之下载插件-02
- rstplib源码分析---快速生成树之通用状态机
- 云计算平台
- ZOJ-1985
- apklug插件托管服务开发教程之查询已安装插件版本状态-03
- 数组里找到和最接近于0的两个值?或者和等于0的两个值
- 黑马程序员--集合小结
- 页面之间值传递
- viemu破解