第四单元
OkGo框架
作用:网络请求的框架(okhttp)
功能:上传
下载(图片,文件MP3,字符串)
案例:
1.get下载图片
Okgo.
Public void onSuccess(Response r){
String json=r.body();
File f=r.body();
}
Public void downLoadProgress(Progress progress){
Progress.fraction*100;//火的当前进度
}
}
2.post上传
OkGo.post(url).isMultipart(true).params(“file”,new File(),”aa.mp3”)execute(new StringCallBack);.
3.post上传参数(登录注册)
HashMap m=new HashMap
M.put(“name”,”12”);
OkGo.post(url).params(“file”,new File(),”aa.mp3”)execute(new StringCallBack);.
4.下载带解析
(1)定义结果接口 inteface Result onSuccess(T o);
(2)方法(三件事情,下载Json串,解析,传输给接口)
第五单元
Glide作用:下载图片,下载的同时可以设置为圆形圆角
方法:
RequestOptions requestOptions = new RequestOptions();
requestOptions.circleCrop();
requestOptions.error(R.mipmap.ic_launcher_round);
requestOptions.placeholder(R.mipmap.ic_launcher_round);
RoundedCorners roundedCorners = new RoundedCorners(20);
requestOptions.transform(roundedCorners);
Glide.with(context).load(url).into(imageView);
package com.example.okgo.Utils;
import android.os.Environment;
import android.util.Log;
import com.example.okgo.Interface.JsonInterface;
import com.google.gson.Gson;
import com.lzy.okgo.OkGo;
import com.lzy.okgo.callback.FileCallback;
import com.lzy.okgo.callback.StringCallback;
import com.lzy.okgo.model.Progress;
import com.lzy.okgo.model.Response;
import java.io.File;
public class OkGoUtil {
private static final String TAG = “OkGoUtil”;
public void downLoadMp4Method() {
OkGo .get(“http://uvideo.spriteapp.cn/video/2019/0512/56488d0a-7465-11e9-b91b-1866daeb0df1_wpd.mp4”).execute(new FileCallback("/mnt/sdcard",“downLoad.mp4”) {
@Override
public void onSuccess(Response< File > response) {
File body = response.body();
}
@Override
public void downloadProgress(Progress progress) {
super.downloadProgress(progress);
// mBar.setProgress((int)progress.fraction*100);
}
});
}
public void downLoadJson(String url, Class c, final JsonInterface jsonInterface){
OkGo.get(url).execute(new StringCallback() {
@Override
public void onSuccess(Response response) {
String body = response.body();
Gson gson = new Gson();
JsonBeanTest test = gson.fromJson(body, JsonBeanTest.class);
jsonInterface.onSuccess(test);
}
});
}
public void upLoadMp4Method(){
OkGo.post("http://169.254.137.51/test/").isMultipart(true).params("file",new File("1705A.mp4"),"aaa.mp4").execute(new StringCallback() {
@Override
public void onSuccess(Response response) {
Log.i(TAG, "onSuccess: 上传成功");
}
});
}
}
package com.example.okgo;
import android.graphics.Bitmap;
import android.os.Environment;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.ProgressBar;
import com.example.okgo.Interface.JsonInterface;
import com.example.okgo.Utils.ImageLoaderUtil;
import com.example.okgo.Utils.JsonBeanTest;
import com.example.okgo.Utils.OkGoUtil;
import com.lzy.okgo.OkGo;
import com.lzy.okgo.callback.BitmapCallback;
import com.lzy.okgo.callback.FileCallback;
import com.lzy.okgo.model.Progress;
import com.lzy.okgo.model.Response;
import java.io.File;
public class MainActivity extends AppCompatActivity {
private static final String TAG = “MainActivity”;
private Button mDownLoadJson;
private Button mDownLoadPic;
private Button mDownLoadmp4;
private ProgressBar mBar;
private ImageView mImage;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mDownLoadJson = findViewById(R.id.downLoadJson);
mDownLoadPic = findViewById(R.id.downLoadPic);
mDownLoadmp4 = findViewById(R.id.downLoadmp4);
mBar = findViewById(R.id.bar);
mImage = findViewById(R.id.image);
}
public void click(View view) {
switch (view.getId()){
case R.id.downLoadJson:
downLoadJsonMethod();
break;
case R.id.downLoadmp4:
downLoadMp4Method();
break;
case R.id.downLoadPic:
downLoadPicMethod();
break;
case R.id.upLoadmp4:
up();
break;
}
}
private void up() {
new Thread(){
@Override
public void run() {
super.run();
OkGoUtil okGoUtil = new OkGoUtil();
okGoUtil.upLoadMp4Method();
}
}.start();
}
private void downLoadPicMethod() {
new Thread(){
@Override
public void run() {
super.run();
OkGo.get("http://img03.sogoucdn.com/app/a/100520021/566245e9479746f2aae8c908bdbb6842").execute(new BitmapCallback() {
@Override
public void onSuccess(Response response) {
Bitmap body = response.body();
ImageLoaderUtil imageLoaderUtil = new ImageLoaderUtil();
imageLoaderUtil.loadImage(MainActivity.this,"http://img03.sogoucdn.com/app/a/100520021/566245e9479746f2aae8c908bdbb6842",mImage);
// mImage.setImageBitmap(body);
}
});
}
}.start();
}
private void downLoadMp4Method() {
new Thread(){
@Override
public void run() {
super.run();
OkGoUtil okGoUtil = new OkGoUtil();
okGoUtil.downLoadMp4Method();
}
}.start();
}
private void downLoadJsonMethod() {
new Thread(){
@Override
public void run() {
super.run();
OkGoUtil okGoUtil = new OkGoUtil();
okGoUtil.downLoadJson("http://www.qubaobei.com/ios/cf/dish_list.php?stage_id=1&limit=10&page=1", JsonBeanTest.class, new JsonInterface() {
@Override
public void onSuccess(JsonBeanTest.DataBean o) {
Log.i(TAG, "onSuccess: "+o.toString());
}
});
}
}.start();
}
}