Android封装简单的OKHttpUtils

在网络封装类中

public class OKHttpUtils {

    public OKHttpUtils() {
    }

    public OKHttpUtils get(String path) {
        OkHttpClient okHttpClient = new OkHttpClient();
        final Request request = new Request.Builder()
                .get()
                .url(path)
                .build();
        okHttpClient.newCall(request).enqueue(new Callback() {
            @Override
            public void onFailure(Call call, IOException e) {

            }

            @Override
            public void onResponse(Call call, Response response) throws IOException {
                getData.Data(response.body().string());
            }
        });
        return this;
    }

    //写一个接口
    public interface GetData {
        void Data(String s);
    }

    private GetData getData;

    public void getDataLisenter(GetData getData) {
        this.getData = getData;
    }
}

在MainActivity中

public class MainActivity extends AppCompatActivity {

    private ListView listView;
    private String path="http://www.xieast.com/api/news/news.php?page=1";
    private ArrayList<User.DataBean> list;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //初始化控件
        listView = (ListView) findViewById(R.id.listview);


        OKHttpUtils okHttpUtils=new OKHttpUtils();
        okHttpUtils.get(path).getDataLisenter(new OKHttpUtils.GetData() {
            @Override
            public void Data(String s) {
                list=new ArrayList<>();
                Gson gson=new Gson();
                User user = gson.fromJson(s, User.class);
                List<User.DataBean> data = user.getData();
                list.addAll(data);
                Message message=Message.obtain();
                message.obj=list;
                handler.sendMessage(message);

            }
        });


    }

    Handler handler=new Handler(){
        @Override
        public void handleMessage(Message msg) {
            super.handleMessage(msg);
            MyAdapter myAdapter=new MyAdapter(MainActivity.this,list);
            listView.setAdapter(myAdapter);
        }
    };
}

猜你喜欢

转载自blog.csdn.net/wzj_8899174/article/details/84018615