SQLite怎么创建Boolean数据类型
1个回答
2016-07-18
展开全部
在eclipse中需要自定义创建表工具类:比如;1、写一个DBHelper继承自SQLiteOpenHelperpublicclassDBHelperextendsSQLiteOpenHelper{//数据库的版本privatefinalstaticintDB_VERSION=1;//数据库名privatefinalstaticStringDB_NAME="ladeng.db";privateContextmContext;//我们直接用super调用父类的构造方法,这样我们在实例化DBHelper的时候只需要传入一个上下文参数就可以了publicDBHelper(Contextcontext){super(context,DB_NAME,null,DB_VERSION);this.mContext=context;}//数据库不存在的时候,调用这个方法@OverridepublicvoidonCreate(SQLiteDatabasedb){createTables(db,0,0);}//版本号发生变化的时候,调用这个方法@OverridepublicvoidonUpgrade(SQLiteDatabasedb,intoldVersion,intnewVersion){//1.删除原来的表//2.调用onCreate重新创建数据库}/***建表语句,只需要一行就能建一个表*/privatevoidcreateTables(SQLiteDatabasedb,intoldVersion,intnewVersion){//createTable(Movie.class)返回的是sql建表语句//db.execSQL(sql)执行这条建表语句db.execSQL(createTable(Movie.class));}/***如果没传表明的话,默认使用类名作为表明*@paramclazz实体类*@return*/privateStringcreateTable(Classclazz){returncreateTable(clazz,clazz.getSimpleName());}/***真正的建表方法*@paramclazz实体类*@paramtableName表明*@returnsql建表语句*/privateStringcreateTable(Classclazz,StringtableName){//实例化一个容器,用来拼接sql语句StringBuffersBuffer=newStringBuffer();//sql语句,第一个字段为_ID主键自增,这是通用的,所以直接写死sBuffer.append("createtableifnotexists"+tableName+""+"(_IDINTEGERPRIMARYKEYAUTOINCREMENTNOTNULL,");//得到实体类中所有的公有属性Field[]fields=clazz.getFields();//遍历所有的公有属性for(Fieldfield:fields){//如果属性不为_id的话,说明是新的字段if(!field.getName().equals("_id")){//得到属性的基本数据类型Stringtype=field.getType().getSimpleName();//如果是String类型的属性,就把字段类型设置为TEXTif(type.equals("String")){sBuffer.append(field.getName()+"TEXT,");//如果是int类型的属性,就把字段类型设置为INTEGER}elseif(type.equals("int")){sBuffer.append(field.getName()+"INTEGER,");}}}//将最后的逗号删除sBuffer.deleteCharAt(sBuffer.length()-1);//替换成);表明sql语句结束sBuffer.append(");");//返回这条sql语句returnsBuffer.toString();}}2、Movie实体类,实体类中的属性就是表中的字段publicclassMovie{publicStringtitle;publicintrating;publicStringyear;publicStringgenre;publicStringcountry;publicintprice;}3、在MainActivity.java中添加如下代码publicclassMainActivityextendsActivity{ @Override protectedvoidonCreate(BundlesavedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //实例化我们的DBHelper DBHelperdbHelper=newDBHelper(this); //调用了这个方法后,DBHelper中的onCreate才会执行 dbHelper.getReadableDatabase(); }}4、创建结果:
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询