数据库
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) {
}
}

浙公网安备 33010602011771号