从服务器用xutils获取json,并用gson解析,包括用xutils下载文件

一:获取json

定义服务器url:

private String parse_url="http://172.17.19.14:8100/hotfix/version";//服务器路径


获取json的代码:

	private void parseJson() {
		// 用xutils从服务器获取json数据
		HttpUtils utils = new HttpUtils();
		utils.send(HttpMethod.GET, parse_url, new RequestCallBack<String>() {

			@Override
			public void onFailure(HttpException error, String msg) {
				// TODO Auto-generated method stub
				Log.e(TAG, "-----------获取 json失败");
			}

			@Override
			public void onSuccess(ResponseInfo<String> responseInfo) {
				// TODO Auto-generated method stub
				String result = responseInfo.result;
				parseData(result);
				Log.e(TAG, result+"-----------获取 json成功");
			}


		});
	}


二:解析上面获取到的数据

	private void parseData(String result) {
		// 用gson解析获取到的json数据,(单条数据,如果有数组等要for循环)
		Gson gson = new Gson();
		AndfixJson andfixData = gson.fromJson(result, AndfixJson.class);
		Log.e(TAG, "fixIndex is = "+andfixData.getFixIndex());
		Log.e(TAG, "versionCode is = "+andfixData.getVersionCode());
		Log.e(TAG, "url is = "+andfixData.getDownloadUrl());
		Log.e(TAG, "md5 is = "+andfixData.getMd5());
	}



三:下载

定义路径

	private String download_url="http://172.17.19.14:8100/download/1495786665fix_1.0.0_1.apatch";//下载的路径
	public  String SDPATH = Environment.getExternalStorageDirectory().getAbsolutePath();
	String target = SDPATH+"/VCApatch/";//保存路径必须包括有完整的文件名称。


下载(这里还涉及一些问题,比如下载失败重新下载等)

HttpUtils utils = new HttpUtils();
			    HttpHandler handlerDownload = utils.download(download_url, target, true, true,new RequestCallBack<File>() {

			    	@Override
			    	public void onStart() {
			    		// TODO Auto-generated method stub
			    		super.onStart();
			    		Log.e(TAG, "开始下载补丁");
			    	}
			    	
			    	@Override
			    	public void onLoading(long total, long current, boolean isUploading) {
			    		// TODO Auto-generated method stub
			    		super.onLoading(total, current, isUploading);
			    		Log.e(TAG, "正在下载补丁");
			    	}
			    	
					@Override
					public void onFailure(HttpException arg0, String arg1) {
						// TODO Auto-generated method stub
						Log.e(TAG, "下载补丁失败");
						
					}

					@Override
					public void onSuccess(ResponseInfo<File> arg0) {
						// TODO Auto-generated method stub
						Log.e(TAG, "下载补丁成功");
						
					}
			                       
			            
		        });


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值