Android學習之------OKGO框架使用

OKGO

一. get請求

二.post請求

三.json下載解析

四.上傳文件

五.請求圖片圓角,圓形

一. get請求

在這裏插入圖片描述

public void downLoadFIleMP4(String yyy){
        OkGo.<File>get(yyy).execute(new FileCallback(Environment.getExternalStorageDirectory().getPath(),"嚶嚶嚶.mp4") {
            @Override
            public void onSuccess(Response<File> response) {

            }

            @Override
            public void downloadProgress(Progress progress) {
                super.downloadProgress(progress);
//                bar.setProgress((int)(progress.fraction*100));
                Log.d(TAG, "當前進度 "+(int)(progress.fraction*100)+"");
            }
        });
    }

二.post請求

在這裏插入圖片描述

  public void upLoade(){
        OkGo.<String>post("http://10.1.9.179:8080/test/").isMultipart(true).params("file",new File("mnt/sdcard/aaa.mp3"),"上傳的.mp3")
                .execute(new StringCallback() {
                    @Override
                    public void onSuccess(Response<String> response) {
                        Log.d(TAG, "onSuccess: "+response.body());
                    }

                    @Override
                    public void uploadProgress(Progress progress) {
                        super.uploadProgress(progress);
                    }
                });

    }

三.json下載解析

在這裏插入圖片描述

public<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 void diaoyongUtils(){
       OKGOUtils.getInstance().FromJson("https://news-at.zhihu.com/api/4/news/latest", JsonBean.class, new ReturnInterface() {
           @Override
           public void success(Object o) {

           }
       });
    }
 public void download(View view) {
        new Thread(){
            @Override
            public void run() {
                super.run();
                OKGOUtils.getInstance().downLoadFIleMP4("http://uvideo.spriteapp.cn/video/2019/0512/56488d0a-7465-11e9-b91b-1866daeb0df1_wpd.mp4");
            }
        }.start();
    }

四.上傳文件

 private void upload() {
        OkGo.<String>post("http://172.21.79.88/hfs/").isMultipart(true).params("file",new File("/sdcard/來自天堂的魔鬼.mp3"),"ass.mp3")
        .execute(new StringCallback(){
            @Override
            public void onSuccess(Response<String> response) {
                Toast.makeText(MainActivity.this, ""+response.body(), Toast.LENGTH_SHORT).show();
            }

            @Override
            public void uploadProgress(Progress progress) {
                super.uploadProgress(progress);
                //progress.fraction 獲得當前上傳進度 範圍0-1
                bar.setProgress((int) (progress.fraction*100));
            }
        });
    }

5.請求圖片

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

在這裏插入圖片描述

package com.example.app2;

import android.content.Context;
import android.widget.ImageView;

import com.bumptech.glide.Glide;
import com.bumptech.glide.load.resource.bitmap.RoundedCorners;
import com.bumptech.glide.request.RequestOptions;

public class InageLoaderUtils {

    /**
     * 一個普通的弟弟型下載
     * @param context
     * @param url
     * @param imageView
     */
    public void IoadImage(Context context, String url, ImageView imageView){
        RequestOptions requestOptions = new RequestOptions();
//        requestOptions.error(R.mipmap.ic_launcher);
//        requestOptions.placeholder(R.mipmap.aa);
        requestOptions.circleCrop();//圓形

        RoundedCorners roundedCorners1 = new RoundedCorners(45);
        requestOptions.transform(roundedCorners1);//圓角

        Glide.with(context).load(url).apply(requestOptions).into(imageView);
    }
}

package com.example.app2;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;

public class MainActivity extends AppCompatActivity {
    private ImageView img;



    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        img = (ImageView) findViewById(R.id.img);
    }

    public void click(View view) {
                new InageLoaderUtils().IoadImage(MainActivity.this,"https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1565093749784&di=e4a7627c0a8844095fcd4733e3c897fb&imgtype=0&src=http%3A%2F%2Fb-ssl.duitang.com%2Fuploads%2Fitem%2F201708%2F06%2F20170806153514_xjCQt.jpeg",img);
    }
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章