2013-06-18 2 views
3

Я создал приложение на Android с прямым подключением Wi-Fi Firebird. Иногда я получаю эту ошибку:Ошибка при использовании Jaybird и Android

FATAL EXCEPTION: AsyncTask #4 java.lang.RuntimeException: An error occured while executing doInBackground() at android.os.AsyncTask$3.done(AsyncTask.java:200) at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:274) at java.util.concurrent.FutureTask.setException(FutureTask.java:125) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:308) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1088) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:581) at java.lang.Thread.run(Thread.java:1019) Caused by: java.lang.NullPointerException at org.firebirdsql.gds.impl.wire.AbstractJavaGDSImpl.iscDatabaseInfo(AbstractJavaGDSImpl.java:518) at org.firebirdsql.jdbc.AbstractConnection.isValid(AbstractConnection.java:594) at br.com.controlemesa.banco.DBFBConnect.disconnect(DBFBConnect.java:61) at br.com.controlemesa.banco.DBFBConnect.spListaMesas(DBFBConnect.java:170) at br.com.controlemesa.activities.MesasActivity$PopulaGridMesas.doInBackground(MesasActivity.java:193) at br.com.controlemesa.activities.MesasActivity$PopulaGridMesas.doInBackground(MesasActivity.java:1) at android.os.AsyncTask$2.call(AsyncTask.java:185) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:306) ... 4 more

Кто-нибудь еще получил это сообщение? Как я могу это предотвратить?

ответ

2

Ознакомиться с кодом NullPointerException может случиться, если соединение уже было закрыто. Я создал проблему JDBC-313 в трекер Jaybird. Я исправлю это в «нормальном» Jaybird для версии 2.2.4. Обычно сопровождающий Android Jaybird project выпустит новую версию вскоре после этого.

Не зная ваш точный код, я не уверен, что такое обходной путь. Как показано в ваших stacktraces DBFBConnect.disconnect, я предполагаю, что вы хотите отключиться. В этом случае я предлагаю вам не проверять действительность подключения, а просто позвонить close() по соединению.

+0

Спасибо, решено. – user2495573

Смежные вопросы