数据库

public class ChannelDao {

 

    private Context context;

    private MyHelper helper;

 

    public ChannelDao(Context context) {

        this.helper = new MyHelper(context);

    }

 

    /**

     * 添加频道

     * @param model 模型

     */

    public void addChannel(DataType model){

        //将原字符串中的“+”号,替换掉

        String str = model.getTitle().replace("+", "");

 

        //先删除,然后再添加

        SQLiteDatabase db = helper.getWritableDatabase();

        //打开事务

        db.beginTransaction();

 

        try {

            //从“推荐频道”表中删除数据

            int drows=db.delete("recommendchannel","name=?",new String[]{str});

            //向“我的频道”表添加数据

            ContentValues contentValues=new ContentValues();

            contentValues.put("name",str);

            Log.d("zzz","str:"+str);

            contentValues.put("ctype",model.getType());

 

            long arows = db.insert("mychannel", null, contentValues);

 

            //打印

            Log.d("zzz","添加频道-drows:"+drows);

            Log.d("zzz","添加频道-arows:"+arows);

 

            //设置事务成功标志

            db.setTransactionSuccessful();

 

 

        }catch (Exception ex){

            ex.printStackTrace();

        }finally {

            //关闭事务

            db.endTransaction();

        }

 

 

 

    }

 

 

    /**

     * 删除频道

     * @param model

     */

    public void delChannel(DataType model){

        SQLiteDatabase db = helper.getWritableDatabase();

        db.beginTransaction();

        try{

            //从“我的频道”表中删除数据

            int drows=db.delete("mychannel","name=?",new String[]{model.getTitle()});

            //向“推荐频道”表添加数据

            ContentValues contentValues=new ContentValues();

            contentValues.put("name",model.getTitle());

            contentValues.put("ctype",model.getType());

 

            long arows = db.insert("recommendchannel", null, contentValues);

 

            //打印

            Log.d("zzz","删除频道-drows:"+drows);

            Log.d("zzz","删除频道-arows:"+arows);

 

            //设置成功标志

            db.setTransactionSuccessful();

 

        }catch (Exception ex){

            ex.printStackTrace();

        }finally {

            db.endTransaction();

        }

 

 

    }

 

    /**

     * 查询“推荐频道”表中的所有数据

     * @return

     */

    public List<DataType> getRecommentChannel(){

        List<DataType> datas=new ArrayList<>();

        SQLiteDatabase db = helper.getWritableDatabase();

        Cursor cursor = db.query("recommendchannel", null, null, null, null, null, null);

        while (cursor.moveToNext()){

            String name = cursor.getString(cursor.getColumnIndex("name"));

            String ctype = cursor.getString(cursor.getColumnIndex("ctype"));

            DataType dataType=new DataType("+"+name,ctype);

            datas.add(dataType);

        }

        return  datas;

    }

 

    /**

     * 查询“我的频道”表中的所有数据

     * @return

     */

    public List<DataType> getMyChannel(){

        List<DataType> datas=new ArrayList<>();

        SQLiteDatabase db = helper.getWritableDatabase();

        Cursor cursor = db.query("mychannel", null, null, null, null, null, null);

        while (cursor.moveToNext()){

            String name = cursor.getString(cursor.getColumnIndex("name"));

            String ctype = cursor.getString(cursor.getColumnIndex("ctype"));

            DataType dataType=new DataType(name,ctype);

            datas.add(dataType);

        }

        return  datas;

    }

 

}

public class MyHelper extends SQLiteOpenHelper {

    public MyHelper(Context context) {

        super(context, "mydb", null, 1);

    }

 

    @Override

    public void onCreate(SQLiteDatabase sqLiteDatabase) {

        //创建数据表

        String sql="create table mychannel(id integer primary key autoincrement,name text,ctype text,sort integer)";

        String sql1="create table recommendchannel(id integer primary key autoincrement,name text,ctype text,sort integer)";

        sqLiteDatabase.execSQL(sql);

        sqLiteDatabase.execSQL(sql1);

 

        //添加默认数据

        addSomeData(sqLiteDatabase);

    }

 

    private void addSomeData(SQLiteDatabase sqLiteDatabase) {

        //初使化数据

        List<DataType> menus=new ArrayList<>();

        menus.add(new DataType("数据新闻","xbsjxw"));

        menus.add(new DataType("快讯","txs"));

        menus.add(new DataType("头条","toutiao"));

        menus.add(new DataType("精编公告","news/mobile/jbgg"));

        menus.add(new DataType("美股","news/mobile/mgxw"));

        menus.add(new DataType("港股","news/mobile/ggxw"));

        menus.add(new DataType("基金","news/mobile/jjxw"));

        menus.add(new DataType("理财","news/mobile/lcxw"));

        for (int i = 0; i < menus.size(); i++) {

            sqLiteDatabase.execSQL("insert into mychannel(name,ctype) values('"+menus.get(i).getTitle()+"','"+menus.get(i).getType()+"')");

        }

 

        menus.clear();

        menus.add(new DataType("特卖","xbsjxw"));

        menus.add(new DataType("时尚","xbsjxw"));

        menus.add(new DataType("历史","xbsjxw"));

        menus.add(new DataType("搞笑","xbsjxw"));

        menus.add(new DataType("美食","xbsjxw"));

        menus.add(new DataType("养生","xbsjxw"));

        menus.add(new DataType("手机","xbsjxw"));

        menus.add(new DataType("旅游","xbsjxw"));

        menus.add(new DataType("宠物","xbsjxw"));

        for (int i = 0; i < menus.size(); i++) {

            sqLiteDatabase.execSQL("insert into recommendchannel(name,ctype) values('"+menus.get(i).getTitle()+"','"+menus.get(i).getType()+"')");

        }

    }

 

    @Override

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

 

    }

}

 

posted @ 2018-05-04 08:06  失落的城市  阅读(62)  评论(0)    收藏  举报