你猜我发的啥

窗前明月光

package com.example.exam20;

import android.util.Log;

import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;

public class HttpUtils {
    public String getJsonString(String path){
        InputStream is=null;
        ByteArrayOutputStream baos=null;
        try {
            URL url = new URL(path);
            HttpURLConnection connection = (HttpURLConnection) url.openConnection();
            connection.setRequestMethod("GET");
            connection.setReadTimeout(5000);
            connection.setConnectTimeout(5000);
            connection.connect();
            Log.i("TAG",""+connection.getResponseCode());
            is=connection.getInputStream();
            baos=new ByteArrayOutputStream();
            int len=0;
            byte[] b = new byte[1024];
            while((len=is.read(b))!=-1){
                baos.write(b,0,len);
            }
            String s = baos.toString();
            Log.i("TAG", s);
            return s;
        } catch (Exception e) {
            e.printStackTrace();
        }finally {
            if(is!=null){
                try {
                    is.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            if(baos!=null){
                try {
                    baos.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }

        return null;
    }
}

疑是地上霜

package com.example.exam20;

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;

import java.util.List;

public class MyAdapter extends BaseAdapter {
    private List<JavaBean.DataBean.DatasBean> lists;
    private LayoutInflater inflater;
    private Context context;

    public MyAdapter(List<JavaBean.DataBean.DatasBean> lists, Context context) {
        this.lists = lists;
        this.context = context;
        inflater=LayoutInflater.from(context);
    }

    @Override
    public int getCount() {
        return lists.size();
    }

    @Override
    public Object getItem(int position) {
        return lists.get(position);
    }

    @Override
    public long getItemId(int position) {
        return position;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        ViewHolder holder=null;
        if(convertView==null){
            holder=new ViewHolder();
            convertView=inflater.inflate(R.layout.item,null);
            holder.chapterName=convertView.findViewById(R.id.chapterName);
            holder.title=convertView.findViewById(R.id.title_item);
            holder.niceDate=convertView.findViewById(R.id.niceDate);
            convertView.setTag(holder);
        }else {
            holder= (ViewHolder) convertView.getTag();
        }
        holder.chapterName.setText(lists.get(position).getChapterName());
        holder.title.setText(lists.get(position).getTitle());
        holder.niceDate.setText(lists.get(position).getNiceDate());
        return convertView;
    }
    class ViewHolder{
        private TextView chapterName;
        private TextView title;
        private TextView niceDate;
    }
}

举头望明月
package com.example.exam20;

import android.content.Context;
import android.os.AsyncTask;
import android.util.Log;
import android.widget.Toast;

import com.google.gson.Gson;

import java.util.List;

public class MyAsyncTask extends AsyncTask<String,Void, List<JavaBean.DataBean.DatasBean>> {
    private List<JavaBean.DataBean.DatasBean> lists;
    private MyAdapter adapter;
    private Context context;

    public MyAsyncTask(List<JavaBean.DataBean.DatasBean> lists, MyAdapter adapter, Context context) {
        this.lists = lists;
        this.adapter = adapter;
        this.context = context;
    }

    @Override
    protected List<JavaBean.DataBean.DatasBean> doInBackground(String... strings) {
        HttpUtils utils = new HttpUtils();
        String s = utils.getJsonString(strings[0]);
        if(s!=null){
            List<JavaBean.DataBean.DatasBean> datas = new Gson().fromJson(s, JavaBean.class).getData().getDatas();
            return datas;
        }else {
            Log.i("TAG", "数据获取失败");
            return null;
        }

    }

    @Override
    protected void onPostExecute(List<JavaBean.DataBean.DatasBean> datasBeans) {
        super.onPostExecute(datasBeans);
        if(datasBeans!=null){
            lists.addAll(datasBeans);
            adapter.notifyDataSetChanged();
        }else {
            Toast.makeText(context, "数据获取失败", Toast.LENGTH_SHORT).show();
        }
    }
}

低头思故乡
package com.example.exam20;

import android.support.v4.widget.SwipeRefreshLayout;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.widget.ListView;
import android.widget.Toast;

import java.util.ArrayList;
import java.util.List;

public class MainActivity extends AppCompatActivity {
    private SwipeRefreshLayout srl;
    private List<JavaBean.DataBean.DatasBean> lists=new ArrayList<>();
    private LayoutInflater inflater;
    private MyAdapter adapter;
    private ListView lv;
    private String path="127.0.0.1:8080/asd/asd";
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        srl=findViewById(R.id.srl);
        lv=findViewById(R.id.lv);
        into();
        togo();
    }
    private void togo(){
        new MyAsyncTask(lists,adapter,this).execute(path);
    }
    private void into() {
        inflater=this.getLayoutInflater();
        adapter=new MyAdapter(lists,this);
        lv.setAdapter(adapter);
        srl.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
            @Override
            public void onRefresh() {
                Toast.makeText(MainActivity.this, "刷新成功", Toast.LENGTH_SHORT).show();
                srl.setRefreshing(false);
            }
        });
    }
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值