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

public class DatabaseHelper extends SQLiteOpenHelper {

private static final String DB_NAME = "newsdb";
private static final String TB_NAME = "newscloumns";
private static final String COLUMNS_ID = "id";
private static final String COLUMNS_INDEX = "indexed";
private static final String COLUMNS_NAME = "name";
private static final String COLUMNS_CHECK = "checked";

public DatabaseHelper(Context context) {
super(context, DB_NAME, null, 1);
}

@Override
public void onCreate(SQLiteDatabase db) {
// Attention:注意SQL语法,每个变量后需要有空格,否则不认识。
String sql = "CREATE TABLE IF NOT EXISTS " + TB_NAME + " (" + COLUMNS_ID
+ " INTEGER PRIMARY KEY AUTOINCREMENT," + COLUMNS_INDEX
+ " INTEGER," +COLUMNS_NAME+ " TEXT," +COLUMNS_CHECK
+ " BOOLEAN)";

db.execSQL(sql);
}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS "+TB_NAME);
onCreate(db);
}
/**
* 返回所有数据
* @return
*/
public Cursor selectAll(){
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.query(TB_NAME, null, null, null,null, null, "id desc");
return cursor;
}
/**
* 根据条件查询
* @param columnsName
* @return
*/
public Cursor selectForChecked(boolean isChecked){
SQLiteDatabase db = this.getReadableDatabase();
String[] cloumns = {COLUMNS_INDEX,COLUMNS_NAME,COLUMNS_CHECK};
String where = COLUMNS_CHECK+"=?";
int check = 0;
if(isChecked){
check = 1;
}
String[] whereValue={Integer.toString(check)};
Cursor cursor = db.query(TB_NAME, null, where, whereValue,null, null, "id desc");
// db.query(true, TB_NAME, columns, selection, selectionArgs, groupBy, having, orderBy, limit)
return cursor;
}

public long insert(int index,String name,boolean checked){
SQLiteDatabase db = this.getWritableDatabase();
ContentValues cv = new ContentValues();
cv.put(COLUMNS_INDEX, index);
cv.put(COLUMNS_NAME, name);
cv.put(COLUMNS_CHECK, checked);
long row = db.insert(TB_NAME, null, cv);
db.close();
return row;

}

public void delete(int index)
{
SQLiteDatabase db=this.getWritableDatabase();
String where=COLUMNS_INDEX+"=?";
String[] whereValue={Integer.toString(index)};
db.delete(TB_NAME, where, whereValue);
}

public void update(int index,boolean check)
{
SQLiteDatabase db=this.getWritableDatabase();
String where=COLUMNS_INDEX+"=?";
String[] whereValue={Integer.toString(index)};
ContentValues cv=new ContentValues();
cv.put(COLUMNS_CHECK, check);
db.update(TB_NAME, cv, where, whereValue);
}

}

更多相关文章

  1. android string.xml中显示特殊符号
  2. 【Android(安卓)adb】 adb环境变量配置
  3. Xamarin Mono For Android、Monotouch 安装
  4. 如何在android中搭建python开发环境
  5. [置顶] Android——编译安装Module的控制因素
  6. 【ERROR】java java.lang.NoClassDefFoundError 的解决办法(全)
  7. Android升级到2.3之后遇到的问题
  8. Android之adb环境变量配置标签
  9. 运行模拟器找不到路径 AVD 更改路径

随机推荐

  1. android : 背景透明的 Dialog
  2. Android 判断数据库中是否存在某个表
  3. AppCompat does not support the current
  4. android 手机判断是否在充电 如断电自动
  5. Android 四大组件之再论BroadCast
  6. Android 怎样使用已存在的Database
  7. Android(安卓)顶部状态栏覆盖到应用之上?
  8. Error:(22, 0) Could not find method an
  9. Android最便捷banner轮播图实现原理及代
  10. android实现涂鸦,保存涂鸦后的图片,清屏