Android Sq Lite cerró la excepción
No tengo una base sólida de sincronización. Creo que este problema será corregido, cuando utilizo method.but sincronizado, cualquiera puede ayudarme a solucionar este problema. El código está abajo:
public HashMap<String, FriendInfo> getAllRecordsInList_HashMap() { MySQLiteHelper dbHelper = MySQLiteHelper.getInstance(mActivity); HashMap<String, FriendInfo> list_map = new HashMap<String, FriendInfo>(); SQLiteDatabase db = dbHelper.getReadableDatabase(); // Cursor cursor = db.rawQuery("SELECT * from " + // dbHelper.tbl_friendlist, new String[] {}); String[] cols = { dbHelper.id, dbHelper.name, dbHelper.picture, dbHelper.birthday, dbHelper.livein, dbHelper.gender, dbHelper.is_online, dbHelper.is_vip }; Cursor cursor = db.query(dbHelper.tbl_friendlist, cols, null, null, null, null, dbHelper.name); if (cursor != null && cursor.getCount() > 0) { // some code here.... } cursor.close(); return list_map; }
Diferentes hilos pueden llamar a este método getAllRecordsInList_HashMap()
.Por favor, aconsejar, cómo solucionar este problema si hago el método sincronizado, ¿se arreglará ?. Gracias por adelantado.
- La base de datos SQLite no aparece en el Explorador de archivos
- Error de misterio: "No se pudo abrir la base de datos phenotype.db, la base de datos está bloqueada." No se puede encontrar ninguna información en línea
- inicializar una base de datos sqlite android
- Varias excepciones al trabajar con bases de datos SQLite
- Almacenar valor largo en la base de datos android
java.lang.IllegalStateException: Cannot perform this operation because the connection pool has been closed. at android.database.sqlite.SQLiteConnectionPool.throwIfClosedLocked(SQLiteConnectionPool.java:962) at android.database.sqlite.SQLiteConnectionPool.waitForConnection(SQLiteConnectionPool.java:599) at android.database.sqlite.SQLiteConnectionPool.acquireConnection(SQLiteConnectionPool.java:348) at android.database.sqlite.SQLiteSession.acquireConnection(SQLiteSession.java:894) at android.database.sqlite.SQLiteSession.executeForCursorWindow(SQLiteSession.java:834) at android.database.sqlite.SQLiteQuery.fillWindow(SQLiteQuery.java:62) at android.database.sqlite.SQLiteCursor.fillWindow(SQLiteCursor.java:143) at android.database.sqlite.SQLiteCursor.getCount(SQLiteCursor.java:133) at com.platinumapps.friendlist.BLL_Friendlist.getAllRecordsInList_HashMap(BLL_Friendlist.java:290) at com.platinumapps.activities.Messages_Activity.addViewTOLayout(Messages_Activity.java:753) at com.platinumapps.activities.Messages_Activity.access$3(Messages_Activity.java:744) at com.platinumapps.activities.Messages_Activity$1$3.run(Messages_Activity.java:141) at android.app.Activity.runOnUiThread(Activity.java:4644) at com.platinumapps.activities.Messages_Activity$1.onReceive(Messages_Activity.java:136) at android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:758) at android.os.Handler.handleCallback(Handler.java:725) at android.os.Handler.dispatchMessage(Handler.java:92) at android.os.Looper.loop(Looper.java:137) at android.app.ActivityThread.main(ActivityThread.java:5039) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:511) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) at dalvik.system.NativeStart.main(Native Method)
- Columnas únicas en Sugar ORM
- No se puede abrir la base de datos en modo de lectura / escritura
- Inserción de entradas múltiples en la base de datos SQLite android
- Creo que he llegado con la peor manera de comparar dos fechas; ¿es posible hacerlo mejor?
- Causado por: android.database.sqlite.SQLiteException: no hay tal tabla: (código 1) Android
- Cómo usar correctamente la base de datos precargada en Android
- Inserción o actualización de SQLite de Android
- SQLite Android Inner Join
De acuerdo con Dianne Hackborn (ingeniero de framework de Android) no hay necesidad de cerrar la base de datos en un proveedor de contenido
Un proveedor de contenido se crea cuando se crea su proceso de alojamiento, y permanece durante todo el tiempo que el proceso lo hace, por lo que no hay necesidad de cerrar la base de datos que se cerrará como parte del kernel limpiando los recursos del proceso cuando el proceso es delicado.
Por lo tanto, no es necesario cerrar la base de datos. Se cerrará automáticamente cuando no sea necesario.
No debe cerrar el DB ya que se utilizará de nuevo en la próxima llamada. Así que trate de quitar el
db.close();
De su código.
- Restablecer desplazamiento en ScrollView
- Uso de Telephony Manager en android para encontrar el número IMEI