public OrderDataBaseUtil(Context ctx, String tbname, String cols[], String cons[]) {
super(ctx, DATABASE_NAME, null, DATABASE_VERSION);
// super(context, name, factory, version);
/**
* context to use to open or create the database
* name of the database file, or null for an in-memory database
* factory to use for creating cursor objects, or null for the default
* version number of the database (starting at 1); if the database is older, onUpgrade(SQLiteDatabase, int, int) will be used to upgrade the database
*/
tableName = tbname;
columns = cols;
constraints = cons;
Log.i("OrderDataBaseUtil constructor","OrderDataBaseUtil");
//由于这里,onCreate()数据库第一次创建执行,只执行一次,以后不再执行
//所以先判断table存在与否
//不存在,调用onCreate
SQLiteDatabase sdb = openWriteDB();
onCreate(sdb);
}
@Override
public void onCreate(SQLiteDatabase db) {
Log.i("OrderDataBaseUtil::onCreate","OrderDataBaseUtil");
StringBuilder sql = new StringBuilder();
// if not exists,不需要知道表是否存在,在创建表的时候加上if not exists
sql.append("CREATE TABLE if not exists ").append(tableName); //sql.append("CREATE TABLE ").append(tableName);
sql.append("(").append(DEFAULT_ID).append(",");
for(int i = 0; i < columns.length; i++){
if(i < columns.length -1)
sql.append(columns[i]).append(" ").append(constraints[i]).append(",");
else
sql.append(columns[i]).append(" ").append(constraints[i]);
}
sql.append(")");
Log.i("CREATE_TB==>>", sql.toString());
db.execSQL(sql.toString());
}
分享到:
相关推荐
Java中extends类的继承
每个构造函数分别调用基类的构造函数,再调用一个公共的初始化方法做额外初始化。 public class MyView extends ListView { public MyView(Context context) { super(context); sharedConstructor(); } public...
PHP官网定义:复制代码 代码如下:构造函数是类中的一个特殊函数,当使用 new 操作符创建一个类的实例时,构造函数将会自动调用。当函数与类同名时,这个函数将成为构造函数。如果一个类没有构造函数,则调用基类的...
第一种情况:子类没有定义构造函数时,默认继承。例子: <?php class A{ public $name; function __construct(){ echo $this->name="小强"; } } class B extends A{ } $bb = new B(); ?> 输出结果:...
//调用父类的构造方法 x=5;//super( ) 要放在方法中的第一句 System.out.println("in SubClass :x="+x); } void doSomething( ) { super.doSomething( ); //调用父类的方法 System.out.println("in ...
代码如下:public class DBOpenHelper extends SQLiteOpenHelper { // 类没有实例化,不能用作父类构造器的参数,必须声明为静态 public DBOpenHelper(Context context, int version) { super(context, “SQLite....
Java中的继承与静态static等的执行先后顺序的面试题 java面试题静态加载顺序构造方法 ...2、调用类的构造方法时先调用父类的构造方法,在调用子类的构造方法 3、类初始化时,先初始化类的属性成员,在执行构造方法。
// 其实是调用四个构造的函数的方法 public DataBaseHelper(Context context, String name, int version) { this(context, name, null, version); } // 该函数是在第一次创建数据库的时候执行,实际上是在第一...
this(参数):调用本类中另一种形式的构造函数(应该为构造函数中的第一条语句)。 要记住的几个关键点是: 在构造方法中this与super不能共存;其次有this或super出现的地方必须是构造方法的第1句; 静态方法...
继承的使用方法,extends使用的小java程序。
答:final是最终的意思,final可用于定义变量、方法和类但含义不同,声明为final的类不能被继承。 2、父类的构造方法是否可以被子类覆盖(重写)? 答:父类的构造方法不可以被子类覆盖,因为父类和子类的类名是不...
} 这个监听器定义了3个动作:键盘按下去调用keyPressed方法,键盘抬起来调用keyReleased,键盘被敲击一次调用keyTyped。 事件监听器是需要注册才能使用的,注册方法如下: public void add(<ListenerType>listener)...
这两个地方只能选其一,要么在定义时给值,要么在构造函数中给值,不能同时既在定义时给了值,又在构造函数中给另外的值,而在以后的引用中只能读取,不可修改。被声明为final的方法也同样只能使用,不能重写...
java 静态_非静态 字段_方法_代码块 子类父类构造_初始化顺序! 三个class 让你清清楚楚 第一个class java代码如下: package initialOrder; class Parent { // 静态变量 public static String p_StaticField...
当一个类继承它的父类方法时,都有机会重写该父类的方法。一个特例是父类的方法被标识为final。重写的主要优点是能够定义某个子类型特有的行为。 class Animal { public void eat(){ System.out.println ...
(1) 类可以没有构造方法,但如果有多个构造方法,就应该要有默认的构造方法,否则在继承此类时,需要在子类中显式调用父类的某一个非默认的构造方法了。 (2) 在一个构造方法中,只能调用一次其他的构造方法,并且...
调用子类的构造方法时,会先调用父类的构造方法。默认隐式调用父类无参数的构造方法 4.如果要在子类的构造方法中显式调用父类的构造方法。使用super(参数列表),但是这行代码必须是在 子类的构造方法的第一行。
实例方法可直接调用本类的类方法 如下代码: class Super { public Integer getLenght() { return new Integer(4); } } public class Sub extends Super { public Long getLenght() { return new Long(5); } ...
//回调函数中的data表示从原生activity传回来的数据,已处理为json对象 alert(data.id "::" data.name); }); 原生安卓activity接收参数和回传参数简单示例 public class MyActivity extends Activity { ...