作用:
网络请求额框架(与OKhttp类似)
功能:
上传、下载(图片、文件、字符串、mp3)
案例:
1.get下载
下载文件
/**
* 下载文件
*/
public static void download(){
OkGo.<File>get("http://169.254.38.92/service/").execute(new FileCallback("/mnt/sdcard","heiheihei.mp3") {//存储路径、文件名
@Override
public void onSuccess(Response<File> response) {
File body = response.body();
Log.i("TAG", "onSuccess: "+body);
}
@Override
public void downloadProgress(Progress progress) {
super.downloadProgress(progress);
//如何拿到当前的下载进度
Log.i(TAG, "进度为"+progress);
}
});
}
下载字符串
//下载字符串
public static void downLoadJson(String url){
OkGo.<String>get(url).execute(new StringCallback() {
@Override
public void onSuccess(Response<String> response) {
String json=response.body();
Log.i("TAG", "onSuccess: "+json);
}
@Override
public void downloadProgress(Progress progress) {
super.downloadProgress(progress);
Log.i(TAG, "进度为"+progress);
}
});
}
下载图片
public static void downLoadImage(String url, final Context context, final ImageView imageView){
OkGo.<Bitmap>get(url).execute(new BitmapCallback() {
@Override
public void onSuccess(Response<Bitmap> response) {
Bitmap body = response.body();
Log.i("TAG", "成功: "+body);
RequestOptions requestOptions=new RequestOptions();
requestOptions.circleCrop();
Glide.with(context).load(body).apply(requestOptions).into(imageView);
}
@Override
public void uploadProgress(Progress progress) {
super.uploadProgress(progress);
Log.i(TAG, "进度为"+progress);
}
});
}
//post 上传
//post 上传
public void uploadfile(){
//<结果泛型>
OkGo.<String>post("").isMultipart(true).params("上传文件",new File("/mnt/sdcard/abc.mp4"),"文件名").
execute(new StringCallback() {
@Override
public void onSuccess(Response<String> response) {
Log.i("结果", "onSuccess: "+response.body());
}
@Override
public void uploadProgress(Progress progress) {
super.uploadProgress(progress);
}
});
}
带解析
/**
* 带解析
*
*/
public static<T> void fromJson(String url, final Class c, final ReturnInterface returnInterface){
OkGo.<String>get(url).execute(new StringCallback() {
@Override
public void onSuccess(Response<String> response) {
String json = response.body();
Gson gson=new Gson();
Object o = gson.fromJson(json, c);
returnInterface.success((T)o);
}
});
}
}
接口
public interface ReturnInterface<T> {
public void success(T o);
}
效果:
在这里插入图片描述