post请求

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;
        }
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值