Java.lang.StringIndexOutOfBoundsException: index = 0 length = 0 en obtener la base de datos sqlite
Estoy tratando de abrir una base de datos SQLite grabable con este código …
public DataAdapterForServieClass open() throws SQLException { db = DBHelper.getWritableDatabase(); return this; }
Sin embargo estoy consiguiendo el error siguiente en el db = DBHelper.getWritableDatabase();
línea…
- ormlite para android: ayuda de diseño y más
- En GreenDao, genere una consulta de unión con OR en lugar de AND
- Cómo recuperar el formato DATETIME de la base de datos Sqlite
- Agregar nueva tabla a la base de datos después de que la aplicación se haya ejecutado una vez
- Intenta reabrir un objeto ya cerrado: sqlitequery
06-10 11:58:13.995: ERROR/AndroidRuntime(548): FATAL EXCEPTION: main 06-10 11:58:13.995: ERROR/AndroidRuntime(548): java.lang.StringIndexOutOfBoundsException: index=0 length=0 06-10 11:58:13.995: ERROR/AndroidRuntime(548): at android.app.ContextImpl.validateFilePath(ContextImpl.java:1518) 06-10 11:58:13.995: ERROR/AndroidRuntime(548): at android.app.ContextImpl.openOrCreateDatabase(ContextImpl.java:725) 06-10 11:58:13.995: ERROR/AndroidRuntime(548): at android.content.ContextWrapper.openOrCreateDatabase(ContextWrapper.java:221) 06-10 11:58:13.995: ERROR/AndroidRuntime(548): at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:149)
Este es el código de mi clase DBHelper
…
static class DatabaseHelper extends SQLiteOpenHelper { DatabaseHelper(Context context) { super(context, DATABASE_NAME, null, DATABASE_VERSION); } public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { Log.w(TAG, "Upgrading database from version " + oldVersion + " to " + newVersion + ", which will destroy all old data"); db.execSQL("DROP TABLE IF EXISTS titles"); onCreate(db); } public void onCreate(SQLiteDatabase arg0) { // TODO Auto-generated method stub } }
Alguien podría ayudarme por favor.
- Android cómo obtener datos sqlite por nombre de columna
- La restricción de Android Room FOREIGN KEY falló
- ¿Cómo aceptar cadenas aproximadamente correctas como correctas, al comparar?
- ¿Qué sucede con las teclas principales de autoincremento después de borrar?
- ¿Es Parse.com un servicio adecuado para la copia de seguridad / sincronización con SQLite en Android?
- Excepción de SQLite "no such table" de Android
- Error al azar de SQLiteConnectionPool en Android. ¿Como evitar?
- GetWritableDatabase llamado recursivamente
Cuando llame a getWritableDatabase()
por primera vez, llamará a los siguientes métodos, según la documentación de Android …
onCreate(SQLiteDatabase) onUpgrade(SQLiteDatabase, int, int) onOpen(SQLiteDatabase)
Usted no tiene ningún código en su método onCreate()
– tendrá que hacer algo aquí antes de que funcione, como este …
public void onCreate(SQLiteDatabase database) { database.openOrCreateDatabase("/come/example/mydatabase",null); }
Mire el método checkDataBase()
en el enlace que publicó donde llama openDatabase()
– esto hace lo mismo, y es la parte importante de código que le falta. Es necesario crear la base de datos antes de poder hacer algo con ella.
También asegúrese de que en algún lugar de su código está creando su instancia DBHelper, para que llame al método super()
. Me gusta esto…
DBHelper helper = new DatabaseHelper(context);
- ¿Por qué la Intención que inicia mi actividad no contiene los datos extras que pongo en la Intención que envié a startActivity ()?
- Android deshabilita la visualización mientras se carga