void checkUpdate(UpdateManagerCallBack updateManagerCallBack);
interface UpdateManagerCallBack {
void updateCallBack(boolean isNeedUpdate);
}
}
//接口实现类
public class UpdateManagerImpl implements IUpdateManager {
@Override
public void checkUpdate(UpdateManagerCallBack updateManagerCallBack) {
try {
IConfigService configService = DsxxjServiceTransfer.$().getConfigureService();
String data = configService.getConfig(KEY_APP_UPDATE);
if (TextUtils.isEmpty(data)) {
if (updateManagerCallBack != null) {
updateManagerCallBack.updateCallBack(false);
}
return;
}
ForceUpdateEntity xPageUpdateEntity = JSON.parseObject(data, ForceUpdateEntity.class);
ForceUpdateManager.getInstance().checkForUpdate(xPageUpdateEntity, updateManagerCallBack);
} catch (Exception e) {
e.printStackTrace();
}
}
}
//如何使用
//在初始化时注入,建议放在application中设置,调用setImpl其实就是把路径字符串put到map集合中
BusinessTransfer businessTransfer = BusinessTransfer.$();
businessTransfer.setImpl(BusinessTransfer.BUSINESS_IMPL_UPDATE_MANAGER,
PACKAGE_NAME + ".base.businessimpl.UpdateManagerImpl");
```
}
});
```
void checkUpdate(UpdateManagerCallBack updateManagerCallBack);
interface UpdateManagerCallBack {
void updateCallBack(boolean isNeedUpdate);
}
}
```
}
});
//有返回值的案例
userApi = TransferManager.getInstance().getApi(IUserManager.class);
String userInfo = userApi.getUserInfo();
```
private void test(){
//这个地方先写个假的业务代码,实际apt中是通过roundEnvironment对象拿到注解标记的类
Class c = Test.class;
//Set<? extends Element> annotated = roundEnvironment.getElementsAnnotatedWith(typeElement);
//找到修饰了注解RouteImpl的类
RouteImpl annotation = (RouteImpl) c.getAnnotation(RouteImpl.class);
if (annotation != null) {
try {
//获取ContentView的属性值
Class value = annotation.value();
String name = value.getName();
System.out.println("注解标记的类名"+name);
} catch (RuntimeException e) {
e.printStackTrace();
System.out.println("注解标记的类名"+e.getMessage());
}
}
}
```
}
```
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。