MyFragemt(周考1)

来源:互联网 发布:淘宝上的死飞怎么样 编辑:程序博客网 时间:2024/06/01 18:48
package com.example.zhoukao1;import android.os.AsyncTask;import android.os.Bundle;import android.os.Environment;import android.support.annotation.Nullable;import android.support.v4.app.Fragment;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.ImageView;import android.widget.ListView;import android.widget.TextView;import com.google.gson.Gson;import com.limxing.xlistview.view.XListView;import com.nostra13.universalimageloader.cache.disc.impl.UnlimitedDiskCache;import com.nostra13.universalimageloader.cache.disc.naming.Md5FileNameGenerator;import com.nostra13.universalimageloader.core.DisplayImageOptions;import com.nostra13.universalimageloader.core.ImageLoader;import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;import java.io.File;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.io.UnsupportedEncodingException;import java.net.HttpURLConnection;import java.net.URL;import java.net.URLConnection;import java.net.URLEncoder;import java.util.List;import static com.umeng.socialize.utils.DeviceConfig.context;/** * Created by dell on 2017/8/4. */public class MyFragemt extends Fragment implements XListView.IXListViewListener {    private View view;    private XListView listview;    private int inder = 1;    private boolean flag = false;    private ImageLoader imageLoader;    private DisplayImageOptions options;    @Nullable    @Override    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {        view = inflater.inflate(R.layout.myfragment, container, false);        return view;    }    @Override    public void onActivityCreated(@Nullable Bundle savedInstanceState) {        super.onActivityCreated(savedInstanceState);        listview = (XListView) view.findViewById(R.id.listview);        listview.setPullLoadEnable(true);        listview.setXListViewListener(this);        try {            getDates("http://apis.juhe.cn/cook/query.php?");        } catch (Exception e) {            e.printStackTrace();        }    }    public void getDates(String path) {        new AsyncTask<String, Void, String>() {            private Myasdpter myasdpter;            @Override            protected void onPostExecute(String s) {                super.onPostExecute(s);                if (s != null) {                    Gson gson = new Gson();                    ReadInfo readInfo = gson.fromJson(s, ReadInfo.class);                    List<ReadInfo.ResultBean.DataBean> data = readInfo.getResult().getData();                    if (myasdpter == null) {                        myasdpter = new Myasdpter(data);                        listview.setAdapter(new Myasdpter(data));                    } else {                        myasdpter.LoadMore(data, flag);                        myasdpter.notifyDataSetChanged();                    }                }            }            @Override            protected String doInBackground(String... params) {                try {                    String path = params[0];                    URL url = new URL(path);                    HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();                    urlConnection.setRequestMethod("POST");                    urlConnection.setConnectTimeout(5000);                    urlConnection.setReadTimeout(5000);                    OutputStream outputStream = urlConnection.getOutputStream();                    outputStream.write(("key=a71e47bbe5a7e7a2ecf068ca9a756032&menu=" +                            URLEncoder.encode("西红柿炒鸡蛋", "utf-8")).getBytes());                    outputStream.flush();                    int responseCode = urlConnection.getResponseCode();                    if (responseCode == 200) {                        InputStream is = urlConnection.getInputStream();                        String json = StreamTook.read(is);                        return json;                    }                } catch (Exception e) {                    e.printStackTrace();                }                return null;            }        }.execute(path);    }    @Override    public void onRefresh() {        ++inder;        getDates("http://apis.juhe.cn/cook/query.php?");        flag = true;        listview.stopRefresh(true);    }    @Override    public void onLoadMore() {        ++inder;        getDates("http://apis.juhe.cn/cook/query.php?");        flag = false;        listview.stopLoadMore();    }    class Myasdpter extends BaseAdapter {        List<ReadInfo.ResultBean.DataBean> data;        public Myasdpter(List<ReadInfo.ResultBean.DataBean> data) {            this.data = data;            imageLoader=ImageLoader.getInstance();            String s = Environment.getExternalStorageDirectory() + "qwe";            File file = new File(s);            ImageLoaderConfiguration configuration = new ImageLoaderConfiguration.Builder(getActivity())                    .memoryCacheSize(2 * 1024 * 1024)                    .memoryCacheExtraOptions(200, 200)                    .threadPoolSize(3)                    .threadPriority(1000)                    .diskCache(new UnlimitedDiskCache(file))                    .diskCacheSize(50 * 1024 * 1024)                    .diskCacheFileCount(50)                    .diskCacheFileNameGenerator(new Md5FileNameGenerator())                    .build();            ImageLoader.getInstance().init(configuration);        }        public void LoadMore(List<ReadInfo.ResultBean.DataBean> datas, boolean flag) {            for (ReadInfo.ResultBean.DataBean bean : datas) {                if (flag) {                    data.add(0, bean);                } else {                    data.add(bean);                }            }        }        @Override        public int getCount() {            return data.size();        }        @Override        public Object getItem(int position) {            return data.get(position);        }        @Override        public long getItemId(int position) {            return position;        }        @Override        public int getItemViewType(int position) {            if (position % 2 == 0) {                return 0;            } else {                return 1;            }        }        @Override        public int getViewTypeCount() {            return 2;        }        @Override        public View getView(int position, View convertView, ViewGroup parent) {            int type = getItemViewType(position);            switch (type) {                case 0: {                    if (convertView == null) {                        convertView = convertView.inflate(getActivity(), R.layout.myfragitem1, null);                    }                    TextView textitem1 = (TextView) convertView.findViewById(R.id.textitem1);                    ImageView imagitem1 = (ImageView) convertView.findViewById(R.id.imagitem1);                    textitem1.setText(data.get(position).getTitle());                    getimage(data.get(position).getSteps().get(0).getImg(), imagitem1);                }                break;                case 1: {                    if (convertView == null) {                        convertView = convertView.inflate(getActivity(), R.layout.myfragitem2, null);                    }                    TextView textitem2 = (TextView) convertView.findViewById(R.id.textitem2);                    ImageView imagitem2 = (ImageView) convertView.findViewById(R.id.imagitem2);                    textitem2.setText(data.get(position).getTitle());                    getimage(data.get(position).getSteps().get(0).getImg(), imagitem2);                }                break;            }            return convertView;        }    }    public void getimage(String path, ImageView imageView) {        DisplayImageOptions options = new DisplayImageOptions.Builder()                .cacheOnDisk(true)                .cacheInMemory(true)                .build();        ImageLoader.getInstance().displayImage(path, imageView, options);    }}
原创粉丝点击