离线下载

来源:互联网 发布:移动宽带网络加速器 编辑:程序博客网 时间:2024/04/24 23:02

    private NewsDao1 dao;
    private RecyclerView rlv;
    private List<Catogray> list;
    private Button download;
    private String url="http://v.juhe.cn/toutiao/index?type=&key=22a108244dbb8d1f49967cd74a0c144d";
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_offline);

        initView();
        initDate();
    }

    private void initDate() {

        Catogray c=new Catogray();
        c.type="top";
        c.name="头条";
        list.add(c);
        c=new Catogray();
        c.type="shehui";
        c.name="社会";
        list.add(c);
        c=new Catogray();
        c.type="guonei";
        c.name="国内";
        list.add(c);
        c=new Catogray();
        c.type="guoji";
        c.name="国际";
        list.add(c);c=new Catogray();
        c.type="yule";
        c.name="娱乐";
        list.add(c);
        c=new Catogray();
        c.type="tiyu";
        c.name="体育";
        list.add(c);
        c=new Catogray();
        c.type="junshi";
        c.name="军事";
        list.add(c);
        c=new Catogray();
        c.type="keji";
        c.name="科技";
        list.add(c);
        c=new Catogray();
        c.type="caijing";
        c.name="财经";
        list.add(c);
        c=new Catogray();
        c.type="shishang";
        c.name="时尚";
        list.add(c);

        RecyclerAdapter ra=new RecyclerAdapter(this,list);
        rlv.setLayoutManager(new LinearLayoutManager(this));
        rlv.setAdapter(ra);

        ra.setOnItemClickListener(new RecyclerAdapter.OnItemClickListener() {
            @Override
            public void OnItemClickListener(int pos, View view) {
                CheckBox checkbox = view.findViewById(R.id.check);
                Catogray c= list.get(pos);

                if(checkbox.isChecked())
                {
                    checkbox.setChecked(false);
                    c.state=false;
                }
                else
                {
                    checkbox.setChecked(true);
                    c.state=true;
                }
                list.set(pos,c);
            }
        });
        dao = new NewsDao1(this);
    }

    private void initView() {

        rlv = (RecyclerView) findViewById(R.id.rlv);
        list = new ArrayList<>();
        download = (Button) findViewById(R.id.download);
        download.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                if(list!=null&&list.size()>0)
                {
                    for (Catogray catogray: list ) {
                        //判断选中
                        if(catogray.state)
                        {
                            loadDate(catogray.type);
                        }
                    }
                }

                for (Catogray catogray: list ) {
                    System.out.println("state============"+catogray.state);
                }

                Toast.makeText(OfflineActivity.this, "数据已下载", Toast.LENGTH_SHORT).show();
            }
        });
    }

    private void loadDate(final String type)
    {
        RequestParams params=new RequestParams(url);
        x.http().get(params,new Callback.CommonCallback<String>(){

            @Override
            public void onSuccess(String result) {
                dao.add(type,result);
                String select = dao.select();
                //Toast.makeText(OfflineActivity.this, select, Toast.LENGTH_SHORT).show();
                System.out.println(select);
            }

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

            }

            @Override
            public void onCancelled(CancelledException cex) {

            }

            @Override
            public void onFinished() {

            }
        });

    }



xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.example.wangaishi20170830unit1_internet.OfflineActivity"
    android:weightSum="1">

    <android.support.v7.widget.RecyclerView
        android:id="@+id/rlv"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:layout_above="@+id/download"
        android:layout_alignParentTop="true">
    </android.support.v7.widget.RecyclerView>

    <Button
        android:id="@+id/download"
        android:text="下载"
        android:layout_alignParentBottom="true"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>
</RelativeLayout>


原创粉丝点击