post请求

来源:互联网 发布:简谱打谱软件 编辑:程序博客网 时间:2024/06/07 02:09
package com.bawei.myapplication;import android.content.Context;import android.content.Intent;import android.net.ConnectivityManager;import android.net.NetworkInfo;import android.os.AsyncTask;import android.support.v4.view.PagerAdapter;import android.support.v4.view.ViewPager;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.view.ViewGroup;import android.widget.AdapterView;import android.widget.BaseAdapter;import android.widget.ImageView;import android.widget.LinearLayout;import android.widget.TextView;import android.widget.Toast;import com.google.gson.Gson;import com.nostra13.universalimageloader.core.DisplayImageOptions;import com.nostra13.universalimageloader.core.ImageLoader;import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;import java.io.BufferedReader;import java.io.InputStream;import java.io.InputStreamReader;import java.io.StringReader;import java.net.HttpURLConnection;import java.net.MalformedURLException;import java.net.URL;import java.util.ArrayList;import java.util.List;import view.xlistview.XListView;import static com.nostra13.universalimageloader.core.ImageLoader.getInstance;public class MainActivity extends AppCompatActivity implements XListView.IXListViewListener {    private XListView xlv;    private String murl="http://v.juhe.cn/toutiao/index?key=22a108244dbb8d1f49967cd74a0c144d";    private MM ddadapter;    private boolean B=true;    private fangfa fa;    private StringBuffer result;    private List<Bean.ResultBean.DataBean> list;    private ViewPager vp;    private List<ImageView> imageViews=new ArrayList<>();    String[] arr={            "https://ss1.bdstatic.com/70cFuXSh_Q1YnxGkpoWK1HF6hhy/it/u=2966985039,3379533726&fm=117&gp=0.jpg",            "https://ss1.bdstatic.com/70cFuXSh_Q1YnxGkpoWK1HF6hhy/it/u=2680794253,3431913086&fm=117&gp=0.jpg",            "https://ss0.bdstatic.com/70cFuHSh_Q1YnxGkpoWK1HF6hhy/it/u=3019680159,1352977949&fm=117&gp=0.jpg"    };    private LinearLayout lll;    private List<Bean.ResultBean.DataBean> moreList;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        //初始化        initview();        xiaodian();        vp.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {            @Override            public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {            }            @Override            public void onPageSelected(int position) {                for (int i=0;i<imageViews.size();i++){                    if(i==position%arr.length){                        imageViews.get(i).setImageResource(R.drawable.xianshi);                    }else {                        imageViews.get(i).setImageResource(R.drawable.yincang);                    }                }            }            public void onPageScrollStateChanged(int state) {            }        });        vp.setAdapter(new adapter());        wangluo();        xlv.setOnItemClickListener(new AdapterView.OnItemClickListener() {            @Override            public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {                Intent intent=new Intent(MainActivity.this,Main2Activity.class);                intent.putExtra("nana",list.get(i-1).url);                startActivity(intent);            }        });    }    private void xiaodian() {        for (int i=0;i<arr.length;i++){            ImageView iv=new ImageView(this);            if(i==0){                iv.setImageResource(R.drawable.xianshi);            }else {                iv.setImageResource(R.drawable.yincang);            }            LinearLayout.LayoutParams params=new LinearLayout.LayoutParams(20,20);            params.setMargins(15,0,15,0);            lll.addView(iv,params);            imageViews.add(iv);        }    }    private void wangluo() {        ConnectivityManager CM= (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);        NetworkInfo info = CM.getActiveNetworkInfo();        if(info!=null&&info.isAvailable()){            Toast.makeText(MainActivity.this,"周梦芸,有网哦",Toast.LENGTH_LONG).show();            new M().execute(murl);        }else {            Toast.makeText(MainActivity.this,"无网络连接",Toast.LENGTH_LONG).show();            B=false;        }        if(B==false){            //调用            String s=fa.select(murl);            System.out.println("=============="+s);           jiexi(s);        }    }    public void jiexi(String s){        Gson gson=new Gson();        Bean bean = gson.fromJson(s, Bean.class);        List<Bean.ResultBean.DataBean> data = bean.result.data;        for (int i = 0; i <10; i++) {            Bean.ResultBean.DataBean dataBean = data.get(i);            list.add(dataBean);        }        if(ddadapter==null) {            ddadapter = new MM();            xlv.setAdapter(ddadapter);        }        else {            moreList.addAll(data);            this.list=moreList;            ddadapter.notifyDataSetChanged();        }    }    private void initview() {        moreList = new ArrayList<>();        fa = new fangfa(MainActivity.this);        xlv = (XListView) findViewById(R.id.xlistview);        //------------------        View v = View.inflate(this, R.layout.activity_vp, null);        lll = (LinearLayout) v.findViewById(R.id.LinearLayout);        vp = (ViewPager)v.findViewById(R.id.viewpa);        //-------------------        xlv.addHeaderView(v);        xlv.setPullLoadEnable(true);        xlv.setPullRefreshEnable(true);        xlv.setXListViewListener(this);        list=new ArrayList<>();    }    @Override    public void onRefresh() {        if(B==true) {            list.clear();            new M().execute(murl);            xlv.stopRefresh();        }else{            Toast.makeText(MainActivity.this,"无网络少侠",Toast.LENGTH_LONG).show();        }    }    @Override    public void onLoadMore() {if(B==true) {    new M().execute(murl);    xlv.stopLoadMore();}else {    Toast.makeText(MainActivity.this,"无网络少侠",Toast.LENGTH_LONG).show();}    }    class M extends AsyncTask<String,Integer,String>{        @Override        protected String doInBackground(String... strings) {            try {                URL url=new URL(strings[0]);                HttpURLConnection connection= (HttpURLConnection) url.openConnection();                connection.connect();                result = new StringBuffer();                InputStream in=connection.getInputStream();                BufferedReader buf=new BufferedReader(new InputStreamReader(in));                if(200==connection.getResponseCode()){                    String line=null;                    while ((line=buf.readLine())!=null){                         result.append(line);                       }                       //添加到数据库                       fa.add(strings[0],result.toString());                    System.out.println(result.toString());                    return result.toString();                }            } catch (Exception e) {                e.printStackTrace();            }            return null;        }        @Override        protected void onPostExecute(String s) {            jiexi(s);        }    }    //=================================================    class adapter extends PagerAdapter {        @Override        public void destroyItem(ViewGroup container, int position, Object object) {            container.removeView((View) object);        }        @Override        public Object instantiateItem(ViewGroup container, int position) {            View view = View.inflate(MainActivity.this, R.layout.vp_item, null);            ImageView img = view.findViewById(R.id.imageview);            ImageLoader.getInstance().displayImage(arr[position], img);                        container.addView(view);            return view;        }        @Override        public int getCount() {            return arr.length;        }        @Override        public boolean isViewFromObject(View view, Object object) {            return view == object;        }    }    //================================================    class MM extends BaseAdapter{        public void addList(){        }        public int getCount() {            return list.size();        }         public Object getItem(int i) {            return null;        }         public long getItemId(int i) {            return 0;        }         public View getView(int i, View view, ViewGroup viewGroup) {            View vvvvv=View.inflate(MainActivity.this,R.layout.xlist_item,null);             ImageView iv= vvvvv.findViewById(R.id.iv);            TextView tv=vvvvv.findViewById(R.id.tv);             ImageLoader.getInstance().displayImage(list.get(i).thumbnail_pic_s,iv);             tv.setText(list.get(i).title);             return vvvvv;        }    }}
原创粉丝点击