OkHttp简单的请求数据

来源:互联网 发布:java汽车租赁系统代码 编辑:程序博客网 时间:2024/05/17 16:16

//在Main里面,

package com.example.administrator.okhttp;import android.os.Environment;import android.os.Handler;import android.os.Message;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.util.Log;import android.widget.ListView;import com.google.gson.Gson;import org.json.JSONArray;import org.json.JSONObject;import java.io.File;import java.io.IOException;import java.util.ArrayList;import java.util.List;import okhttp3.Call;import okhttp3.Callback;import okhttp3.OkHttpClient;import okhttp3.Request;import okhttp3.Response;public class MainActivity extends AppCompatActivity {    private ListView listView;    private Myadp myAdapter;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        listView = findViewById(R.id.listView);        //获取数据        initData();    }private void initData() {    //网络地址    String url="http://api.tianapi.com/huabian/?key=5baef83129decfa305bbc140b085d8a1&num=10";    //创建OKHttp对象    OkHttpClient okHttpCient=new OkHttpClient();    //创建一个Request    Request request=new Request.Builder().url(url).build();    //创建一个call对象    Call call=okHttpCient.newCall(request);    //将请求添加到调度中    call.enqueue(new Callback() {        @Override        public void onFailure(Call call, IOException e) {        }        @Override        public void onResponse(Call call, Response response) throws IOException {            if(response.isSuccessful())            {                //获取json串                final String message=response.body().string();                //打印json                System.out.println("json============="+message);                runOnUiThread(new Runnable() {                    @Override                    public void run() {                        //在子线程中解析json                        getJson(message);                    }                });            }        }    });}private void getJson(String result) {    //这里需要导入一个Gson的Jar包    Gson gson = new Gson();    DataDataBean bean = gson.fromJson(result, DataDataBean.class);    List<DataDataBean.NewslistBean> list = bean.getNewslist();    for (DataDataBean.NewslistBean b : list) {        System.out.println("bean========" + b.getTitle() + " " + b.getCtime() + " " + b.getPicUrl());    }    if(myAdapter==null)    {        myAdapter =new Myadp(list,this);        listView.setAdapter(myAdapter);    }    else{        myAdapter.notifyDataSetChanged();    }}}

//适配器里
一个复用优化就可以

 if (convertView == null){        convertView = View.inflate(context,android.R.layout.simple_list_item_1,null);    }    TextView textView = convertView.findViewById(android.R.id.text1);    textView.setText(list.get(position).getTitle());    return convertView;
原创粉丝点击