专高二 OkGo day4

OkGo的Get和Post请求

package com.bw.day4_okgo;

import androidx.appcompat.app.AppCompatActivity;

import android.bluetooth.le.ScanCallback;
import android.os.Bundle;
import android.util.Log;
import android.view.View;

import com.lzy.okgo.OkGo;
import com.lzy.okgo.callback.StringCallback;
import com.lzy.okgo.model.Response;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
    public void getclick(View view){
        OkGo.<String>get(" http://43.143.146.165:7777/foods/getFoods?currentPage=1&pageSize=10").execute(new StringCallback() {
            @Override
            public void onSuccess(Response<String> response) {
                String s = response.body().toString();
                Log.i("---body", s);
            }
        });
    }

    public void postclick(View view){
        OkGo.<String>post(" http://43.143.146.165:7777/foods/postFoods").params("pageSize","10").params("currentPage","1").execute(new StringCallback() {
            @Override
            public void onSuccess(Response<String> response) {
                String s = response.body().toString();
                Log.i("---body",s);
            }
        });
    }
}

上传和下载   图片视频都适用文件名只支持英文

里面有进度条

    //下载
    public void downclick(View view) {
        OkGo.<File>get("http://10.161.11.21/asd/%E6%99%9A%E9%A3%8E.mp3").execute(new FileCallback("/sdcard","晚风.mp3") {
            @Override
            public void onSuccess(Response<File> response) {

            }

            @Override
            public void downloadProgress(Progress progress) {
                super.downloadProgress(progress);
                sb.setProgress((int)progress.fraction*100);
            }
        });
    }

    //上传
    public void upclick(View view) {
        OkGo.<String>post("http://10.161.11.21/asd/")
                .params("file",new File("/sdcard/晚风.mp3")).execute(new StringCallback() {
                    @Override
                    public void onSuccess(Response<String> response) {

                    }

                    @Override
                    public void uploadProgress(Progress progress) {
                        super.uploadProgress(progress);
                        sb2.setProgress((int)progress.fraction*100);
                    }
                });
    }

单例

package com.bw.day4_okgo.utils;

import com.bw.day4_okgo.callback.MyCallback;
import com.lzy.okgo.OkGo;
import com.lzy.okgo.callback.StringCallback;
import com.lzy.okgo.model.Response;

import java.util.HashMap;

public class OkGoUtils {
    private OkGoUtils (){}
    private static volatile OkGoUtils okGoUtils=null;
    public static OkGoUtils getInstance(){
        if(okGoUtils==null){
            synchronized (OkGoUtils.class){
                if (okGoUtils==null){
                    okGoUtils=new OkGoUtils();
                }
            }
        }
        return okGoUtils;
    }

    //get请求
    public void doget(String path, MyCallback myCallback){
        OkGo.<String>get(path).execute(new StringCallback() {
            @Override
            public void onSuccess(Response<String> response) {
                myCallback.ok(response.body());
            }
        });
    }

    //post请求
    public void dopost(String path, HashMap<String,String> stringHashMap, MyCallback myCallback){
        OkGo.<String>post(path).params(stringHashMap).execute(new StringCallback() {
            @Override
            public void onSuccess(Response<String> response) {
                myCallback.ok(response.body());
            }
        });
    }
}

工具类的调用

package com.bw.day4_okgo.controller;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.widget.ListView;

import com.bw.day4_okgo.R;
import com.bw.day4_okgo.adapter.FoodAdaptry;
import com.bw.day4_okgo.callback.MyCallback;
import com.bw.day4_okgo.entity.FoodEntity;
import com.bw.day4_okgo.model.MyModelsx;
import com.google.gson.Gson;

import java.util.HashMap;
import java.util.List;

public class MainActivity2 extends AppCompatActivity {

    MyModelsx myModelsx=new MyModelsx();
    private ListView lv,lv2;



    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);
        lv = (ListView) findViewById(R.id.lv);
        lv2 = (ListView) findViewById(R.id.lv2);
        myModelsx.doget("http://43.143.146.165:7777/foods/getFoods?currentPage=1&pageSize=10", new MyCallback() {
            @Override
            public void ok(String json) {
                List<FoodEntity.DataDTO> data = new Gson().fromJson(json, FoodEntity.class).getData();
                FoodAdaptry foodAdaptry = new FoodAdaptry(MainActivity2.this, data);
                lv.setAdapter(foodAdaptry);
            }

            @Override
            public void error(String json) {

            }
        });

        HashMap<String, String> stringStringHashMap = new HashMap<>();
        stringStringHashMap.put("pageSize","10");
        stringStringHashMap.put("currentPage","1");
        myModelsx.dopost("http://43.143.146.165:7777/foods/postFoods", stringStringHashMap, new MyCallback() {
            @Override
            public void ok(String json) {
                List<FoodEntity.DataDTO> data = new Gson().fromJson(json, FoodEntity.class).getData();
                FoodAdaptry foodAdaptry = new FoodAdaptry(MainActivity2.this, data);
                lv2.setAdapter(foodAdaptry);
            }

            @Override
            public void error(String json) {

            }
        });



    }
}

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值