频道管理(连接数据库)

//创建数据库

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

    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL("create table zhoukao3(name varchar(20),selected Integer)");
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

    }
}

//dao包

public class ZhouKao3Dao {

    private SQLiteDatabase db;

    public ZhouKao3Dao(Context context){
        MySqliteOpenHelper helper = new MySqliteOpenHelper(context);
        db = helper.getWritableDatabase();
    }

    public void add(List<ChannelBean> channelBeenlist){
        if (channelBeenlist==null||channelBeenlist.size()<0){
            return;
        }
        for (ChannelBean channelbean:channelBeenlist
                ) {
            ContentValues values=new ContentValues();
            values.put("name",channelbean.getName());
            values.put("selected",channelbean.isSelect());
            db.insert("zhoukao3",null,values);
        }
    }
    public List<ChannelBean> select(){
        Cursor cursor = db.query("zhoukao3", null, null, null, null, null,null);
        List<ChannelBean> list=new ArrayList<>();
        while (cursor.moveToNext()){
            String name = cursor.getString(cursor.getColumnIndex("name"));
            int selected = cursor.getInt(cursor.getColumnIndex("selected"));
            list.add(new ChannelBean(name,selected==0?false:true));
        }
        cursor.close();
        return list;
    }
    public List<ChannelBean> tiaojianselect(){
        Cursor cursor = db.query("zhoukao3", null, "selected=?", new String[]{"1"}, null, null, null);
        List<ChannelBean> list=new ArrayList<>();
        while (cursor.moveToNext()){
            String name = cursor.getString(cursor.getColumnIndex("name"));
            int selected = cursor.getInt(cursor.getColumnIndex("selected"));
            list.add(new ChannelBean(name,selected==0?false:true));
        }
        cursor.close();
        return list;
    }
    public void delete(){
        db.delete("zhoukao3",null,null);

    }

}

//adapter适配器中

public class MyPagerAdapter extends FragmentPagerAdapter{

//    private String[] titles = {"周二","周三","周四","昨天","今天"};

    private FragmentManager mFragmentManager;
    List<ChannelBean> mChannelBeanList;

    public MyPagerAdapter(FragmentManager fm,List<ChannelBean> mChannelBeanList) {
        super(fm);
        this.mFragmentManager = mFragmentManager;
        this.mChannelBeanList = mChannelBeanList;
    }

    @Override
    public Fragment getItem(int position) {
        MyFragment fragment = new MyFragment();
//        Bundle bundle = new Bundle();
//        bundle.putString("text",titles[position]);
//        fragment.setArguments(bundle);
        return fragment;
    }

    @Override
    public int getCount() {
        return mChannelBeanList != null ? mChannelBeanList.size() : 0;      //改动
    }

    @Override
    public CharSequence getPageTitle(int position) {
        return mChannelBeanList.get(position).getName();                    //改动
    }
}

//MainActivity中

    private List<ChannelBean> all;
    private List<ChannelBean> yuanshi;
    private ZhouKao3Dao dao;

  //indata()方法要在onCreate中调用

    @Override
    public void onClick(View v) {
        switch (v.getId()){
            case R.id.main_add:
                ChannelActivity.startChannelActivity(this,all);
                break;
        }
    }

    public void indata(){
        all = new ArrayList<>();
        yuanshi = new ArrayList<>();
        dao = new ZhouKao3Dao(this);
        List<ChannelBean> select = dao.select();
        if (select==null||select.size()<1) {
            ChannelBean channelBean1 = new ChannelBean("周二", true);
            ChannelBean channelBean2 = new ChannelBean("周三", true);
            ChannelBean channelBean3 = new ChannelBean("周四", true);
            ChannelBean channelBean4 = new ChannelBean("昨天", true);
            ChannelBean channelBean5 = new ChannelBean("今天", true);
            ChannelBean channelBean6 = new ChannelBean("周一", false);  //false为可以添加的频道
            ChannelBean channelBean7 = new ChannelBean("周五", false);
            //我的频道 
            yuanshi.add(channelBean1);
            yuanshi.add(channelBean2);
            yuanshi.add(channelBean3);
            yuanshi.add(channelBean4);
            yuanshi.add(channelBean5);
            //全部频道
            all.add(channelBean1);
            all.add(channelBean2);
            all.add(channelBean3);
            all.add(channelBean4);
            all.add(channelBean5);
            all.add(channelBean6);
            all.add(channelBean7);

            dao.add(all);
        }else{
            all.addAll(select);
            List<ChannelBean> tiaojianselect = dao.tiaojianselect();
            yuanshi.addAll(tiaojianselect);
        }
        adapter = new MyPagerAdapter(getSupportFragmentManager(),yuanshi);
        viewPager.setAdapter(adapter);
    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        //频道方法
        if (requestCode == ChannelActivity.REQUEST_CODE && resultCode == ChannelActivity.RESULT_CODE) {
            String stringExtra = data.getStringExtra(ChannelActivity.RESULT_JSON_KEY);
            if (TextUtils.isEmpty(stringExtra)) {
                return;
            }
            List<ChannelBean> list = new Gson().fromJson(stringExtra, new TypeToken<List<ChannelBean>>() {
            }.getType());
            if (list == null || list.size() < 1) {
                return;
            }
            all.clear();
            yuanshi.clear();

            //将返回的数据,添加到我们的集合中
            all.addAll(list);
            for (ChannelBean channelBean : list) {
                boolean select = channelBean.isSelect();
                if (select) {
                    yuanshi.add(channelBean);
                }
            }

            adapter.notifyDataSetChanged();


            //保存数据库
            dao.delete();
            dao.add(all);

            FragmentManager supportFragmentManager = getSupportFragmentManager();
            List<Fragment> fragments = supportFragmentManager.getFragments();
            FragmentTransaction transaction = supportFragmentManager.beginTransaction();
            for (Fragment f : fragments
                    ) {
                transaction.remove(f);
            }
            transaction.commitAllowingStateLoss();
            recreate();

        }
    }

  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值