我用codenameone开发了一个应用程序,现在我添加了Perst数据库引擎。
当我想打开数据库文件时,我收到错误“文件访问错误”。这是错误输出:
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at com.codename1.impl.javase.Executor$1.run(Executor.java:87)
at com.codename1.ui.Display.processSerialCalls(Display.java:984)
at com.codename1.ui.Display.mainEDTLoop(Display.java:827)
at com.codename1.ui.RunnableWrapper.run(RunnableWrapper.java:119)
at com.codename1.impl.CodenameOneThread.run(CodenameOneThread.java:176)
引起:org.garret.perst.StorageError:文件访问错误:java.lang.NullPointerException 在org.garret.perst.impl.RmsFile.open(RmsFile.java:169) 在org.garret.perst.impl.StorageImpl.open(StorageImpl.java:827) 在com.saminray.database.DBManager.foo(DBManager.java:24) 在com.saminray.mobilebank.MainUI。(MainUI.java:21) 在com.saminray.mobilebank.Main.start(Main.java:78) ......还有9个 Java结果:1
我认为这取决于codenameone模拟器。我该如何解决?
答案 0 :(得分:2)
您无法向codenameone应用添加外部数据库。 如果存在于J2ME的设备(IOS,Android,RIM)上,CodenameOne支持sqlite,您可以使用Storage API,它更易于移植并可在所有平台上运行。