Red de conocimiento informático - Conocimiento informático - Base de datos sqlite de Android, heredada de SQLiteOpenHelper.

Base de datos sqlite de Android, heredada de SQLiteOpenHelper.

Err. Este mensaje parece significar simplemente que no se ha hecho referencia a este método.

No lo he tocado durante más de un año. Tengo la impresión de que este lugar sí lo ha hecho. Engañé durante mucho tiempo. Revisé el código anterior. Encontré algunas pistas

Eliminar privado de esta declaración de miembro

SQLiteDatabase db;

Hay algo en la clase de implementación, intente agregarla a su clase de implementación, puede ser efectivo. Pruébelo en la clase de implementación, puede funcionar

public final static String DB_NAME = "test.db";

Puede usar esta función para depurar, el método no es muy claro

android.util.Log.i("onCreate()", "Crear base de datos------------->");

A través del Mecanismo de clase principal, siento que las llamadas internas oscilan hacia la izquierda y hacia la derecha

Se adjunta el código fuente probado (la versión SDK es 20131030)

paquete org.public clase DBHandle extiende SQLiteOpenHelper {

p>

private static final int VERSION = 1;

// public final static String DB_PATH = "/sdcard/ mydb/";

public final cadena estática DB_NAME = " iweather.db";

SQLiteDatabase db;

public DBHandle(Contexto contexto, nombre de cadena) {

super(contexto, nombre, null, VERSIÓN);

Log.i("init DBHandle:", "1");

}

public DBHandle(Contexto de contexto, nombre de cadena). , CursorFactory factory,

int versión) {

super(contexto, nombre, fábrica, versión);

Log.i("init DBHandle:", "2");

}

@Override

public void onCreate(SQLiteDatabase db) {

// TODO genera automáticamente el método stubs

// db = getWritableDatabase() ;

Log.i("onCreate()", "crear base de datos-------------> ");

p>

// Esta tabla se utiliza para guardar la lista de ciudades

db.db.execSQL("create table city_list(city_id >

db.execSQL("crear tabla city_code( city_id varchar(20),city_code varchar(20))");

Log.d("Sqlite onCreate...");