如何保证从服务器端获取的版本号保持同步

来源:互联网 发布:淘宝完美产品是真的吗 编辑:程序博客网 时间:2024/05/17 18:17
public class AppVsersionModelImpl implements AppVersionModel {

    Integer serviceVsersion = -1;

    @Override
    public int getLocalVersion(Context context) {
        PackageManager manager = context.getPackageManager();
        try {
            PackageInfo packageInfo = manager.getPackageInfo(context.getPackageName(), 0);
            return packageInfo.versionCode;
        } catch (PackageManager.NameNotFoundException e) {
            e.printStackTrace();
        }
        return 0;
    }

    @Override
    public int getServiceVersion(String url) {
        HttpUtils httpUtils = new HttpUtils();
        httpUtils.send(HttpRequest.HttpMethod.GET, url, new RequestCallBack<String>() {
            @Override
            public void onSuccess(ResponseInfo<String> responseInfo) {
                try {
                    JSONObject jsonObject = new JSONObject(responseInfo.result);
                   synchronized (serviceVsersion){
                       serviceVsersion = jsonObject.getInt("versionCode");
                   }
                    AppLog.i(AppLog.TAG," get Service Vsersion Success:"+serviceVsersion);
                } catch (JSONException e) {
                    e.printStackTrace();
                }
            }

            @Override
            public void onFailure(HttpException e, String s) {
                AppLog.i(AppLog.TAG,"Can not get Service Vsersion");
            }
        });
        return serviceVsersion;
    }
}



Log如下:
05-22 18:14:30.036 14784-14784/com.app.elyar.xutils I/ElyarAnwar:  FileName: Presenter.java Method Name: excute Line Number: 34 Log:Local Version: 1
05-22 18:14:30.066 14784-14784/com.app.elyar.xutils I/ElyarAnwar:  FileName: Presenter.java Method Name: excute Line Number: 36 Log:Service Version: -1
05-22 18:14:31.106 14784-14784/com.app.elyar.xutils I/ElyarAnwar:  FileName: AppVsersionModelImpl.java Method Name: onSuccess Line Number: 47 Log: get Service Vsersion Success:22


成功获取了服务器端的版本号22,但每次返回的是初始版本号-1,改怎么解决。菜鸟一个,谢谢各位前辈指点迷津
0 0
原创粉丝点击