试题一所有类

/***************************************************************/App

package com.example.yuekao;

import android.app.Application;

import org.xutils.x;

/**
 * Created by dell on 2017/8/22.
 */

public class App extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        x.Ext.init(this);
        x.Ext.setDebug(BuildConfig.DEBUG);
    }
}

/****************************************************************************/Dao

package com.example.yuekao;

/**
 * Created by dell on 2017/8/22.
 */

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import java.util.ArrayList;
import java.util.List;


public class Dao {

    private SQLiteDatabase db;

    public Dao(Context context) {
        MyOpenHelper helper = new MyOpenHelper(context);
        db = helper.getWritableDatabase();

    }

    public boolean add(String description, String image) {
//        sqLiteDatabase.execSQL("create table shuju(description varchar(1000)
// ,image varchar(1000))");

        ContentValues values = new ContentValues();
        values.put("description", description);
        values.put("image", image);
        long i = db.insert("shuju", null, values);
        if (i != -1) {
            return true;
        }
        return false;

    }

    public ArrayList<Data> findData() {
        Cursor cursor = db.query(false, "shuju", null, null, null, null, null, null, null);
        ArrayList<Data> datas = new ArrayList<>();
        while (cursor.moveToNext()) {
            String description = cursor.getString(cursor.getColumnIndex("description"));
            String image = cursor.getString(cursor.getColumnIndex("image"));
            Data data = new Data();
            data.setDescription(description);
            data.setImage(image);
            datas.add(data);
        }
        return datas;
    }
}

/*****************************************************/Data
package com.example.yuekao;

/**
 * Created by dell on 2017/8/22.
 */

public class Data {
//            sqLiteDatabase.execSQL("create table shuju(description varchar(1000),
// image varchar(1000))");

    private String description;
    private String image;

    public Data(String description, String image) {
        this.description = description;
        this.image = image;
    }

    public Data() {
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public String getImage() {
        return image;
    }

    public void setImage(String image) {
        this.image = image;
    }

    @Override
    public String toString() {
        return "Data{" +
                "description='" + description + '\'' +
                ", image='" + image + '\'' +
                '}';
    }
}

/****************************************************************/MainActivity
package com.example.yuekao;

import android.support.design.widget.TabLayout;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

public class MainActivity extends AppCompatActivity {

    private TabLayout tablayout;
    private ViewPager viewpager;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        tablayout = (TabLayout) findViewById(R.id.tablayout);
        viewpager = (ViewPager) findViewById(R.id.viewpager);
        viewpager.setAdapter(new MyAdapter1(getSupportFragmentManager()));
        tablayout.setupWithViewPager(viewpager);


    }
}
/**********************************************************************/MenuInfo
package com.example.yuekao;

import java.util.List;

/**
 * Created by dell on 2017/8/22.
 */

public class MenuInfo {


    /**
     * code : 200
     * data : {"topics":[{"discover_image_url":"","vertical_image_url":"http://f2.kkmh.com/image/170707/6r2pzk9pu.webp-w320","cover_image_url":"http://f2.kkmh.com/image/170707/slcyrhmrg.webp-w640","description":"超级怕鬼却要当阎王是什么悲伤的感受?使徒子老师超火爆力作第二季正式回归,胆小的阎王丫头不光变帅了,打怪姿势还更加酷炫了~东西方神魔齐上阵,给你超搞逗的欢乐体验!每周五晚八点第一时间独家更新,周六热推一整天!可爱阎王和你不见不散~【独家/每周五晚8点更新 责编:大树】\r\n","created_at":1465703869,"is_favourite":false,"title":"阎王不高兴","likes_count":24882691,"updated_at":1465703869,"special_offer":{},"user_id":6,"comments_count":657802,"is_free":true,"id":848,"user":{"pub_feed":1,"avatar_url":"http://f2.kkmh.com/image/150421/i26y7dz2t.jpg-w180","grade":1,"nickname":"使徒子","reg_type":"weibo","id":6},"label_id":5,"order":400,"comics_count":55,"status":"published"},{"discover_image_url":"","vertical_image_url":"http://f2.kkmh.com/image/170622/sa725m1y4.webp-w320","cover_image_url":"http://f2.kkmh.com/image/170622/866bjp30v.webp-w640","description":"上帝跑路了?世界混乱了?米迦勒跑来人间找老相好,顺便一起拯救格世界,但转世后的路西法却不记得他了\u2026\u2026而原因却是自己封印了他的记忆和力量!现在还要让他觉醒\u2026\u2026只能#%#\u2026\u2026算了,自己挖的坑,哭着跪着也要埋完!【独家/每周六更新  责编:M","created_at":1498104597,"is_favourite":false,"title":"天神没节操","likes_count":1466575,"updated_at":1498104597,"special_offer":{},"user_id":81896370,"comments_count":30948,"is_free":true,"id":1157,"user":{"pub_feed":0,"avatar_url":"http://f2.kkmh.com/image/170624/2i6pm2ylo.webp-w180","grade":1,"nickname":"菲斯娜feisna+南梵(野生组)","reg_type":"author","id":81896370},"label_id":25,"order":0,"comics_count":9,"status":"published"},{"discover_image_url":"","vertical_image_url":"http://f2.kkmh.com/image/170704/4qbllqtdv.webp-w320","cover_image_url":"http://f2.kkmh.com/image/170703/3c0w96gm4.webp-w640","description":"这是一个贩卖回忆的旧物杂货店,每一个物品都有其主人的独家记忆。圆滑大叔带领纯洁少女,给你讲述那些被人遗忘的回忆。【独家/每周五更新 责编:听雨】","created_at":1496642287,"is_favourite":false,"title":"肆拾杂货店","likes_count":1160024,"updated_at":1496642287,"special_offer":{},"user_id":82248124,"comments_count":27778,"is_free":true,"id":1121,"user":{"pub_feed":0,"avatar_url":"http://f2.kkmh.com/default_avatar_image.jpg-w180","grade":1,"nickname":"所长别开枪是我+wuli爸爸爸爸","reg_type":"author","id":82248124},"label_id":23,"order":0,"comics_count":12,"status":"published"}],"surface_image":"http://f2.kkmh.com/"}
     * message : ok
     */

    private int code;
    private DataBean data;
    private String message;

    public int getCode() {
        return code;
    }

    public void setCode(int code) {
        this.code = code;
    }

    public DataBean getData() {
        return data;
    }

    public void setData(DataBean data) {
        this.data = data;
    }

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }

    public static class DataBean {
        /**
         * topics : [{"discover_image_url":"","vertical_image_url":"http://f2.kkmh.com/image/170707/6r2pzk9pu.webp-w320","cover_image_url":"http://f2.kkmh.com/image/170707/slcyrhmrg.webp-w640","description":"超级怕鬼却要当阎王是什么悲伤的感受?使徒子老师超火爆力作第二季正式回归,胆小的阎王丫头不光变帅了,打怪姿势还更加酷炫了~东西方神魔齐上阵,给你超搞逗的欢乐体验!每周五晚八点第一时间独家更新,周六热推一整天!可爱阎王和你不见不散~【独家/每周五晚8点更新 责编:大树】\r\n","created_at":1465703869,"is_favourite":false,"title":"阎王不高兴","likes_count":24882691,"updated_at":1465703869,"special_offer":{},"user_id":6,"comments_count":657802,"is_free":true,"id":848,"user":{"pub_feed":1,"avatar_url":"http://f2.kkmh.com/image/150421/i26y7dz2t.jpg-w180","grade":1,"nickname":"使徒子","reg_type":"weibo","id":6},"label_id":5,"order":400,"comics_count":55,"status":"published"},{"discover_image_url":"","vertical_image_url":"http://f2.kkmh.com/image/170622/sa725m1y4.webp-w320","cover_image_url":"http://f2.kkmh.com/image/170622/866bjp30v.webp-w640","description":"上帝跑路了?世界混乱了?米迦勒跑来人间找老相好,顺便一起拯救格世界,但转世后的路西法却不记得他了\u2026\u2026而原因却是自己封印了他的记忆和力量!现在还要让他觉醒\u2026\u2026只能#%#\u2026\u2026算了,自己挖的坑,哭着跪着也要埋完!【独家/每周六更新  责编:M","created_at":1498104597,"is_favourite":false,"title":"天神没节操","likes_count":1466575,"updated_at":1498104597,"special_offer":{},"user_id":81896370,"comments_count":30948,"is_free":true,"id":1157,"user":{"pub_feed":0,"avatar_url":"http://f2.kkmh.com/image/170624/2i6pm2ylo.webp-w180","grade":1,"nickname":"菲斯娜feisna+南梵(野生组)","reg_type":"author","id":81896370},"label_id":25,"order":0,"comics_count":9,"status":"published"},{"discover_image_url":"","vertical_image_url":"http://f2.kkmh.com/image/170704/4qbllqtdv.webp-w320","cover_image_url":"http://f2.kkmh.com/image/170703/3c0w96gm4.webp-w640","description":"这是一个贩卖回忆的旧物杂货店,每一个物品都有其主人的独家记忆。圆滑大叔带领纯洁少女,给你讲述那些被人遗忘的回忆。【独家/每周五更新 责编:听雨】","created_at":1496642287,"is_favourite":false,"title":"肆拾杂货店","likes_count":1160024,"updated_at":1496642287,"special_offer":{},"user_id":82248124,"comments_count":27778,"is_free":true,"id":1121,"user":{"pub_feed":0,"avatar_url":"http://f2.kkmh.com/default_avatar_image.jpg-w180","grade":1,"nickname":"所长别开枪是我+wuli爸爸爸爸","reg_type":"author","id":82248124},"label_id":23,"order":0,"comics_count":12,"status":"published"}]
         * surface_image : http://f2.kkmh.com/
         */

        private String surface_image;
        private List<TopicsBean> topics;

        public String getSurface_image() {
            return surface_image;
        }

        public void setSurface_image(String surface_image) {
            this.surface_image = surface_image;
        }

        public List<TopicsBean> getTopics() {
            return topics;
        }

        public void setTopics(List<TopicsBean> topics) {
            this.topics = topics;
        }

        public static class TopicsBean {
            /**
             * discover_image_url :
             * vertical_image_url : http://f2.kkmh.com/image/170707/6r2pzk9pu.webp-w320
             * cover_image_url : http://f2.kkmh.com/image/170707/slcyrhmrg.webp-w640
             * description : 超级怕鬼却要当阎王是什么悲伤的感受?使徒子老师超火爆力作第二季正式回归,胆小的阎王丫头不光变帅了,打怪姿势还更加酷炫了~东西方神魔齐上阵,给你超搞逗的欢乐体验!每周五晚八点第一时间独家更新,周六热推一整天!可爱阎王和你不见不散~【独家/每周五晚8点更新 责编:大树】
             * <p>
             * created_at : 1465703869
             * is_favourite : false
             * title : 阎王不高兴
             * likes_count : 24882691
             * updated_at : 1465703869
             * special_offer : {}
             * user_id : 6
             * comments_count : 657802
             * is_free : true
             * id : 848
             * user : {"pub_feed":1,"avatar_url":"http://f2.kkmh.com/image/150421/i26y7dz2t.jpg-w180","grade":1,"nickname":"使徒子","reg_type":"weibo","id":6}
             * label_id : 5
             * order : 400
             * comics_count : 55
             * status : published
             */

            private String discover_image_url;
            private String vertical_image_url;
            private String cover_image_url;
            private String description;
            private int created_at;
            private boolean is_favourite;
            private String title;
            private int likes_count;
            private int updated_at;
            private SpecialOfferBean special_offer;
            private int user_id;
            private int comments_count;
            private boolean is_free;
            private int id;
            private UserBean user;
            private int label_id;
            private int order;
            private int comics_count;
            private String status;

            public String getDiscover_image_url() {
                return discover_image_url;
            }

            public void setDiscover_image_url(String discover_image_url) {
                this.discover_image_url = discover_image_url;
            }

            public String getVertical_image_url() {
                return vertical_image_url;
            }

            public void setVertical_image_url(String vertical_image_url) {
                this.vertical_image_url = vertical_image_url;
            }

            public String getCover_image_url() {
                return cover_image_url;
            }

            public void setCover_image_url(String cover_image_url) {
                this.cover_image_url = cover_image_url;
            }

            public String getDescription() {
                return description;
            }

            public void setDescription(String description) {
                this.description = description;
            }

            public int getCreated_at() {
                return created_at;
            }

            public void setCreated_at(int created_at) {
                this.created_at = created_at;
            }

            public boolean isIs_favourite() {
                return is_favourite;
            }

            public void setIs_favourite(boolean is_favourite) {
                this.is_favourite = is_favourite;
            }

            public String getTitle() {
                return title;
            }

            public void setTitle(String title) {
                this.title = title;
            }

            public int getLikes_count() {
                return likes_count;
            }

            public void setLikes_count(int likes_count) {
                this.likes_count = likes_count;
            }

            public int getUpdated_at() {
                return updated_at;
            }

            public void setUpdated_at(int updated_at) {
                this.updated_at = updated_at;
            }

            public SpecialOfferBean getSpecial_offer() {
                return special_offer;
            }

            public void setSpecial_offer(SpecialOfferBean special_offer) {
                this.special_offer = special_offer;
            }

            public int getUser_id() {
                return user_id;
            }

            public void setUser_id(int user_id) {
                this.user_id = user_id;
            }

            public int getComments_count() {
                return comments_count;
            }

            public void setComments_count(int comments_count) {
                this.comments_count = comments_count;
            }

            public boolean isIs_free() {
                return is_free;
            }

            public void setIs_free(boolean is_free) {
                this.is_free = is_free;
            }

            public int getId() {
                return id;
            }

            public void setId(int id) {
                this.id = id;
            }

            public UserBean getUser() {
                return user;
            }

            public void setUser(UserBean user) {
                this.user = user;
            }

            public int getLabel_id() {
                return label_id;
            }

            public void setLabel_id(int label_id) {
                this.label_id = label_id;
            }

            public int getOrder() {
                return order;
            }

            public void setOrder(int order) {
                this.order = order;
            }

            public int getComics_count() {
                return comics_count;
            }

            public void setComics_count(int comics_count) {
                this.comics_count = comics_count;
            }

            public String getStatus() {
                return status;
            }

            public void setStatus(String status) {
                this.status = status;
            }

            public static class SpecialOfferBean {
            }

            public static class UserBean {
                /**
                 * pub_feed : 1
                 * avatar_url : http://f2.kkmh.com/image/150421/i26y7dz2t.jpg-w180
                 * grade : 1
                 * nickname : 使徒子
                 * reg_type : weibo
                 * id : 6
                 */

                private int pub_feed;
                private String avatar_url;
                private int grade;
                private String nickname;
                private String reg_type;
                private int id;

                public int getPub_feed() {
                    return pub_feed;
                }

                public void setPub_feed(int pub_feed) {
                    this.pub_feed = pub_feed;
                }

                public String getAvatar_url() {
                    return avatar_url;
                }

                public void setAvatar_url(String avatar_url) {
                    this.avatar_url = avatar_url;
                }

                public int getGrade() {
                    return grade;
                }

                public void setGrade(int grade) {
                    this.grade = grade;
                }

                public String getNickname() {
                    return nickname;
                }

                public void setNickname(String nickname) {
                    this.nickname = nickname;
                }

                public String getReg_type() {
                    return reg_type;
                }

                public void setReg_type(String reg_type) {
                    this.reg_type = reg_type;
                }

                public int getId() {
                    return id;
                }

                public void setId(int id) {
                    this.id = id;
                }
            }
        }
    }
}

/***********************************************************************/MyAdapter1
package com.example.yuekao;

import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentStatePagerAdapter;

import java.util.ArrayList;

/**
 * Created by dell on 2017/8/22.
 */

public class MyAdapter1 extends FragmentStatePagerAdapter {
    private String[] titles = {"周一", "周二", "周三", "周四", "周五", "周六", "周日"};
    private ArrayList<Fragment> mFragment = new ArrayList<Fragment>();
    private FragmentManager mFragmentManage;


    public MyAdapter1(FragmentManager fm) {
        super(fm);
        mFragmentManage = fm;

    }

    public MyAdapter1(FragmentManager fm, ArrayList<Fragment> mFragment) {
        super(fm);
        mFragmentManage = fm;


    }

    @Override
    public Fragment getItem(int position) {
        MyFragment myFragment = new MyFragment();


        return myFragment;
    }

    @Override
    public int getCount() {
        return titles.length;
    }

    @Override
    public CharSequence getPageTitle(int position) {
        return titles[position];
    }
}

/********************************************************************/MyFragment
package com.example.yuekao;

import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.os.AsyncTask;
import android.os.Bundle;
import android.os.Environment;
import android.provider.Settings;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.support.v7.app.AlertDialog;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;

import com.google.gson.Gson;
import com.limxing.xlistview.view.XListView;
import com.nostra13.universalimageloader.cache.disc.impl.UnlimitedDiskCache;
import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;

import org.xutils.common.Callback;
import org.xutils.http.RequestParams;
import org.xutils.x;

import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLConnection;
import java.util.ArrayList;
import java.util.List;

import static com.example.yuekao.R.attr.title;

/**
 * Created by dell on 2017/8/22.
 */

public class MyFragment extends Fragment implements XListView.IXListViewListener {

    private View view;
    private XListView xlistview;
    private ImageLoader imageLoader;
    private int offset = 1;
    private int limit = 4;
    private boolean flag;
    private Myadapter myadapter;
    private List<MenuInfo.DataBean.TopicsBean> topics;
    private SQLiteDatabase db;
    private MyOpenHelper dao;
    private Dao dao1;
    private ArrayList<Data> data;


    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        view = inflater.inflate(R.layout.mfragmnet, container, false);
        return view;
    }

    @Override
    public void onActivityCreated(@Nullable Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);
        xlistview = view.findViewById(R.id.xlistview);
        xlistview.setPullLoadEnable(true);
        xlistview.setXListViewListener(this);
//        dao = new MyOpenHelper(getActivity());
        dao1 = new Dao(getActivity());


        if (isConnection(getActivity())) {
//            下面这个方法是自定义的网络请求数据方法,就不上传了
            getDates("http://api.kkmh.com/v1/topic_new/discovery_module_list/210?&sa_event=eyJwcm9qZWN0Ijoia3VhaWthbl9hcHAiLCJ0aW1lIjoxNDg3OTE2MTcwNjE5LCJwcm9wZXJ0aWVzIjp7IiRvc192ZXJzaW9uIjoiNC4yLjIiLCJHZW5kZXJUeXBlIjoi5peg5rOV6I635Y-WIiwiVHJpZ2dlckl0ZW0iOjE3LCJWaXNpdFBhZ2VOYW1lIjoi5paw5L2c5LiK5p62IiwiJGxpYl92ZXJzaW9uIjoiMS42LjM0IiwiJG5ldHdvcmtfdHlwZSI6IldJRkkiLCIkd2lmaSI6dHJ1ZSwiJG1hbnVmYWN0dXJlciI6InNhbXN1bmciLCJUcmlnZ2VySXRlbU5hbWUiOiLmlrDkvZzkuIrmnrYiLCIkc2NyZWVuX2hlaWdodCI6NTc2LCJMaXN0VHlwZSI6IuaXp-eJiCIsIlByb3BlcnR5RXZlbnQiOiJSZWFkTGlzdCIsIlRyaWdnZXJPcmRlck51bWJlciI6MCwiRmluZFRhYk5hbWUiOiLmjqjojZAiLCJhYnRlc3RfZ3JvdXAiOjQ2LCIkc2NyZWVuX3dpZHRoIjoxMDI0LCIkb3MiOiJBbmRyb2lkIiwiVHJpZ2dlckl0ZW1UeXBlIjowLCJUcmlnZ2VyUGFnZSI6IkZpbmRQYWdlIiwiJGNhcnJpZXIiOiJDTUNDIiwiJG1vZGVsIjoiR1QtUDUyMTAiLCIkYXBwX3ZlcnNpb24iOiIzLjguMSJ9LCJ0eXBlIjoidHJhY2siLCJkaXN0aW5jdF9pZCI6IkE6OTA1MTA0Mjc2Mzc1NTEwOSIsIm9yaWdpbmFsX2lkIjoiQTo5MDUxMDQyNzYzNzU1MTA5IiwiZXZlbnQiOiJSZWFkTGlzdCJ9&style=2", offset + "", limit + "");

        } else {
            AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
            builder.setMessage("网络链接中断,是否设置链接网络");
            builder.setNegativeButton("取消", null);
            builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
//                    两种跳转都可以跳转到到设置网络
                    Intent intent = new Intent();
//                    Intent intent = new Intent(Settings.ACTION_WIRELESS_SETTINGS);
                    intent.setAction("android.settings.WIRELESS_SETTINGS");
                    startActivity(intent);
                }
            });
            builder.create().show();
        }

        data = dao1.findData();


    }


    public boolean isConnection(Context context) {
        ConnectivityManager manager = (ConnectivityManager)
                context.getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo info = manager.getActiveNetworkInfo();
        return (info != null && info.isAvailable());

    }

    public void getDates(String path, String offset, String limit) {
        new AsyncTask<String, Void, String>() {


            private List<MenuInfo.DataBean.TopicsBean> topics;


            @Override
            protected void onPostExecute(String s) {
                super.onPostExecute(s);
                RequestParams requestParams = new RequestParams("http://api.kkmh.com/v1/topic_new/discovery_module_list/210?offset=0&limit=3&sa_event=eyJwcm9qZWN0Ijoia3VhaWthbl9hcHAiLCJ0aW1lIjoxNDg3OTE2MTcwNjE5LCJwcm9wZXJ0aWVzIjp7IiRvc192ZXJzaW9uIjoiNC4yLjIiLCJHZW5kZXJUeXBlIjoi5peg5rOV6I635Y-WIiwiVHJpZ2dlckl0ZW0iOjE3LCJWaXNpdFBhZ2VOYW1lIjoi5paw5L2c5LiK5p62IiwiJGxpYl92ZXJzaW9uIjoiMS42LjM0IiwiJG5ldHdvcmtfdHlwZSI6IldJRkkiLCIkd2lmaSI6dHJ1ZSwiJG1hbnVmYWN0dXJlciI6InNhbXN1bmciLCJUcmlnZ2VySXRlbU5hbWUiOiLmlrDkvZzkuIrmnrYiLCIkc2NyZWVuX2hlaWdodCI6NTc2LCJMaXN0VHlwZSI6IuaXp-eJiCIsIlByb3BlcnR5RXZlbnQiOiJSZWFkTGlzdCIsIlRyaWdnZXJPcmRlck51bWJlciI6MCwiRmluZFRhYk5hbWUiOiLmjqjojZAiLCJhYnRlc3RfZ3JvdXAiOjQ2LCIkc2NyZWVuX3dpZHRoIjoxMDI0LCIkb3MiOiJBbmRyb2lkIiwiVHJpZ2dlckl0ZW1UeXBlIjowLCJUcmlnZ2VyUGFnZSI6IkZpbmRQYWdlIiwiJGNhcnJpZXIiOiJDTUNDIiwiJG1vZGVsIjoiR1QtUDUyMTAiLCIkYXBwX3ZlcnNpb24iOiIzLjguMSJ9LCJ0eXBlIjoidHJhY2siLCJkaXN0aW5jdF9pZCI6IkE6OTA1MTA0Mjc2Mzc1NTEwOSIsIm9yaWdpbmFsX2lkIjoiQTo5MDUxMDQyNzYzNzU1MTA5IiwiZXZlbnQiOiJSZWFkTGlzdCJ9&style=2");
                x.http().get(requestParams, new Callback.CommonCallback<String>() {


                    @Override
                    public void onSuccess(String result) {
//                        if (s != null) {
                        Gson gson = new Gson();
                        MenuInfo menuInfo = gson.fromJson(result, MenuInfo.class);
//                        list=topics;
                        topics = menuInfo.getData().getTopics();

                        if (myadapter == null) {

                            myadapter = new Myadapter(topics);
                            xlistview.setAdapter(myadapter);


                            if (data.size() == 0) {
                                for (Data li : data) {
                                    boolean b = dao1.add(li.getDescription(), li.getImage());
                                    if (b) {
                                        Toast.makeText(getActivity(), "添加成功", Toast.LENGTH_SHORT).show();

                                    } else {
                                        Toast.makeText(getActivity(), "添加失败", Toast.LENGTH_SHORT).show();


                                    }

                                }


                            }


                        } else {
                            myadapter.LoaMore(topics, flag);
                            myadapter.notifyDataSetChanged();
                        }
                    }

                    @Override
                    public void onError(Throwable ex, boolean isOnCallback) {

                    }

                    @Override
                    public void onCancelled(CancelledException cex) {

                    }

                    @Override
                    public void onFinished() {

                    }
                });


            }

            @Override
            protected String doInBackground(String... strings) {
                try {
                    String path = strings[0];
                    String offset = strings[1];
                    String limit = strings[2];
                    URL url = new URL(path);
                    HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
                    urlConnection.setRequestMethod("GET");
                    urlConnection.setConnectTimeout(2000);
                    urlConnection.setReadTimeout(2000);
                    int code = urlConnection.getResponseCode();
                    if (code == 200) {
                        InputStream is = urlConnection.getInputStream();
                        String json = StreamTook.read(is);
                        return json;
                    }
                } catch (Exception e) {
                    e.printStackTrace();
                }


                return null;
            }
        }.execute(path, offset, limit);


    }


    @Override
    public void onRefresh() {
//        private int offset=0;
//        private int limit=3;
        offset++;
        getDates("http://api.kkmh.com/v1/topic_new/discovery_module_list/210?&sa_event=eyJwcm9qZWN0Ijoia3VhaWthbl9hcHAiLCJ0aW1lIjoxNDg3OTE2MTcwNjE5LCJwcm9wZXJ0aWVzIjp7IiRvc192ZXJzaW9uIjoiNC4yLjIiLCJHZW5kZXJUeXBlIjoi5peg5rOV6I635Y-WIiwiVHJpZ2dlckl0ZW0iOjE3LCJWaXNpdFBhZ2VOYW1lIjoi5paw5L2c5LiK5p62IiwiJGxpYl92ZXJzaW9uIjoiMS42LjM0IiwiJG5ldHdvcmtfdHlwZSI6IldJRkkiLCIkd2lmaSI6dHJ1ZSwiJG1hbnVmYWN0dXJlciI6InNhbXN1bmciLCJUcmlnZ2VySXRlbU5hbWUiOiLmlrDkvZzkuIrmnrYiLCIkc2NyZWVuX2hlaWdodCI6NTc2LCJMaXN0VHlwZSI6IuaXp-eJiCIsIlByb3BlcnR5RXZlbnQiOiJSZWFkTGlzdCIsIlRyaWdnZXJPcmRlck51bWJlciI6MCwiRmluZFRhYk5hbWUiOiLmjqjojZAiLCJhYnRlc3RfZ3JvdXAiOjQ2LCIkc2NyZWVuX3dpZHRoIjoxMDI0LCIkb3MiOiJBbmRyb2lkIiwiVHJpZ2dlckl0ZW1UeXBlIjowLCJUcmlnZ2VyUGFnZSI6IkZpbmRQYWdlIiwiJGNhcnJpZXIiOiJDTUNDIiwiJG1vZGVsIjoiR1QtUDUyMTAiLCIkYXBwX3ZlcnNpb24iOiIzLjguMSJ9LCJ0eXBlIjoidHJhY2siLCJkaXN0aW5jdF9pZCI6IkE6OTA1MTA0Mjc2Mzc1NTEwOSIsIm9yaWdpbmFsX2lkIjoiQTo5MDUxMDQyNzYzNzU1MTA5IiwiZXZlbnQiOiJSZWFkTGlzdCJ9&style=2", offset + "", limit + "");
        flag = true;
        xlistview.stopRefresh(true);


    }

    @Override
    public void onLoadMore() {
        offset++;
        getDates("http://api.kkmh.com/v1/topic_new/discovery_module_list/210?&sa_event=eyJwcm9qZWN0Ijoia3VhaWthbl9hcHAiLCJ0aW1lIjoxNDg3OTE2MTcwNjE5LCJwcm9wZXJ0aWVzIjp7IiRvc192ZXJzaW9uIjoiNC4yLjIiLCJHZW5kZXJUeXBlIjoi5peg5rOV6I635Y-WIiwiVHJpZ2dlckl0ZW0iOjE3LCJWaXNpdFBhZ2VOYW1lIjoi5paw5L2c5LiK5p62IiwiJGxpYl92ZXJzaW9uIjoiMS42LjM0IiwiJG5ldHdvcmtfdHlwZSI6IldJRkkiLCIkd2lmaSI6dHJ1ZSwiJG1hbnVmYWN0dXJlciI6InNhbXN1bmciLCJUcmlnZ2VySXRlbU5hbWUiOiLmlrDkvZzkuIrmnrYiLCIkc2NyZWVuX2hlaWdodCI6NTc2LCJMaXN0VHlwZSI6IuaXp-eJiCIsIlByb3BlcnR5RXZlbnQiOiJSZWFkTGlzdCIsIlRyaWdnZXJPcmRlck51bWJlciI6MCwiRmluZFRhYk5hbWUiOiLmjqjojZAiLCJhYnRlc3RfZ3JvdXAiOjQ2LCIkc2NyZWVuX3dpZHRoIjoxMDI0LCIkb3MiOiJBbmRyb2lkIiwiVHJpZ2dlckl0ZW1UeXBlIjowLCJUcmlnZ2VyUGFnZSI6IkZpbmRQYWdlIiwiJGNhcnJpZXIiOiJDTUNDIiwiJG1vZGVsIjoiR1QtUDUyMTAiLCIkYXBwX3ZlcnNpb24iOiIzLjguMSJ9LCJ0eXBlIjoidHJhY2siLCJkaXN0aW5jdF9pZCI6IkE6OTA1MTA0Mjc2Mzc1NTEwOSIsIm9yaWdpbmFsX2lkIjoiQTo5MDUxMDQyNzYzNzU1MTA5IiwiZXZlbnQiOiJSZWFkTGlzdCJ9&style=2", offset + "", limit + "");
        flag = false;
        xlistview.stopLoadMore();

    }

    class Myadapter extends BaseAdapter {

        List<MenuInfo.DataBean.TopicsBean> topics;
        private final DisplayImageOptions options;

        public Myadapter(List<MenuInfo.DataBean.TopicsBean> topics) {
            this.topics = topics;
            imageLoader = ImageLoader.getInstance();
            File file = new File(Environment.getExternalStorageDirectory(), "/oooBwei");
            if (!file.exists())
                file.mkdirs();

            ImageLoaderConfiguration configuration = new ImageLoaderConfiguration.Builder(getActivity())
                    .diskCache(new UnlimitedDiskCache(file))
                    .build();

            imageLoader.init(configuration);

            options = new DisplayImageOptions.Builder()
                    .showImageOnLoading(R.mipmap.ic_launcher)
                    .cacheOnDisk(true)
                    .build();
        }

        public void LoaMore(List<MenuInfo.DataBean.TopicsBean> topic, boolean flag) {
            for (MenuInfo.DataBean.TopicsBean bean : topic) {
                if (flag) {
                    topics.clear();
                    topics.add(0, bean);
                    onLoadMore();

                } else {
                    topics.add(bean);
                }
            }
        }

        @Override
        public int getCount() {

            return topics.size();
        }

        @Override
        public Object getItem(int position) {

            return topics.get(position);
        }

        @Override
        public long getItemId(int position) {

            return position;
        }

        @Override
        public View getView(final int position, View convertView, ViewGroup parent) {

            if (convertView == null) {
                convertView = convertView.inflate(getActivity(), R.layout.item, null);
                TextView textitem = (TextView) convertView.findViewById(R.id.textitem);
                ImageView imageitem = (ImageView) convertView.findViewById(R.id.imageitem);
                textitem.setText(topics.get(position).getDescription());
                getimage(topics.get(position).getCover_image_url(), imageitem);
                xlistview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
                    @Override
                    public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {

                        Intent intent = new Intent(getActivity(), SecondActivity.class);
                        intent.putExtra("exters", topics.get(i - 1).getCover_image_url());
                        startActivity(intent);


                    }
                });

            }
            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);
    }
}

/*****************************************************************/MyOpenHelper
package com.example.yuekao;

import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

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

/**
 * Created by dell on 2017/8/22.
 */

public class MyOpenHelper extends SQLiteOpenHelper {
    public MyOpenHelper(Context context) {
        super(context, "com.db", null, 1);
    }

    @Override
    public void onCreate(SQLiteDatabase sqLiteDatabase) {
        sqLiteDatabase.execSQL("create table shuju(description varchar(1000),image varchar(1000))");
    }

    @Override
    public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {

    }
}

/*************************************************************************/SecondActivity
package com.example.yuekao;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Environment;
import android.support.annotation.Nullable;
import android.widget.ImageView;
import android.widget.TextView;

import com.bumptech.glide.Glide;
import com.github.chrisbanes.photoview.PhotoView;
import com.nostra13.universalimageloader.cache.disc.impl.UnlimitedDiskCache;
import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;

import java.io.File;

/**
 * Created by dell on 2017/8/22.
 */

public class SecondActivity extends Activity {
    private TextView tv1;
    private ImageLoader imageLoader;
    private DisplayImageOptions options;
//    private ImageView iv1;

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.secondactivity);
        tv1=(TextView) findViewById(R.id.tv1);
        Intent it=getIntent();
        String StringE=it.getStringExtra("exters");
        tv1.setText(StringE);
          PhotoView iv1 = (PhotoView) findViewById(R.id.iv1);
          //compile 'com.github.chrisbanes:PhotoView:2.1.3'app
                  //onCreate          // 大工程里jcenter()下加 maven { url "https://jitpack.io" }
                  imageLoader = ImageLoader.getInstance();
                  File file = new File(Environment.getExternalStorageDirectory(), "Bwei");
                  if (!file.exists())
                      file.mkdirs();
                  ImageLoaderConfiguration configuration = new ImageLoaderConfiguration.Builder(this)
                          .diskCache(new UnlimitedDiskCache(file))
                          .build();
                  imageLoader.init(configuration);
                  options = new DisplayImageOptions.Builder()
                          .showImageOnLoading(R.mipmap.ic_launcher)
                          .cacheOnDisk(true)
                          .build();
                  ImageLoader.getInstance().displayImage(StringE, iv1, options);

    }
}
/*********************************************************************/StreamTook
package com.example.yuekao;

import java.io.ByteArrayOutputStream;
import java.io.InputStream;

/**
 * Created by dell on 2017/8/22.
 */

public class StreamTook {


    public static String read(InputStream is) throws Exception {
        ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
        byte[] bytes = new byte[1024];
        int len = 0;
        while ((len = is.read(bytes)) != -1) {
            byteArrayOutputStream.write(bytes, 0, len);
        }
        byteArrayOutputStream.close();
        return byteArrayOutputStream.toString();


    }


}

 
 
 
 
 
 
 
 



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值