apklug插件託管服務開發教程之查詢已安裝插件版本狀態-03

 

實現項目demo http://git.oschina.net/plug/ApkplugCloudServiceDemo java

實現代碼 :com.apkplugdemo.adapter.UpdataActivity git

一,插件版本狀態查詢服務 服務器

    OSGI服務接口爲:com.apkplug.service.update.checkupdate 網絡

    OSGI服務查詢模板代碼以下    app

/**
* 插件版本更新OSGI服務 一次只容許最大查詢20給插件的版本信息
* @param context
* @param updateAppBean bean  須要查詢版本的插件填充bean  
* @param callback            查詢回調函數
*/
public void checkupdate(BundleContext context,updateAppBean bean,updateCallBack callback){
	ServiceReference reference=context.getServiceReference(checkupdate.class.getName());
    if(null!=reference){
    	checkupdate service=(checkupdate) context.getService(reference);
    	if(service!=null){
    			service.checkupdate(bean, callback);
    	}
    	context.ungetService(reference);
    }
}
public class updateAppBean {
	//須要查詢的插件版本信息 最多20個
	private List<updateAppInfo> apps=null;
	public List<updateAppInfo> getApps() {
		return apps;
	}
	public void setApps(List<updateAppInfo> apps) {
		this.apps = apps;
	}
}
/**
 * 只有 bundlevarsion 與 versionCode 版本同時小於現有服務器上插件版本才能算有更新版本
 * @author 梁前武 
 * www.apkplug.com
 */
public class updateAppInfo {
	//插件package id
	public String appid=null;
	//插件 plugin.xml中版本 
	public String bundlevarsion=null;
	//插件AndroidManifest.xml中版本
	public int versionCode=0;
}
public interface updateCallBack {
	/**
	 * 獲取成功
	 */
	public final int suc=0;
	/**
	 * 數據解析失敗
	 */
	public final int msg_exp_fail=-1;
	/**
	 * 網絡鏈接失敗
	 */
	public final int net_fail=-2;
	/**
	 * 服務返回錯誤消息
	 */
	public final int msg_fail=-3;
	/**
	 * 只有更新版本的插件纔會傳回
	 * @param stutas
	 * @param newapps 可更新app列表
	 * @param info
	 */
	public void onSuccess(int stutas,List<appBean> newapps,String info);
	public void onFailure(int errorNo ,String strMsg);
}
相關文章
相關標籤/搜索