Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Db4oClientServer可以';t打开服务器_Android_Db4o - Fatal编程技术网

Android Db4oClientServer可以';t打开服务器

Android Db4oClientServer可以';t打开服务器,android,db4o,Android,Db4o,嘿,我是一个新手,几乎我在db4o中遇到了问题。 当我使用 public static void main(String[] args) { ServerConfiguration configuration= Db4oClientServer.newServerConfiguration(); configuration.common().allowVersionUpdates(true); co

嘿,我是一个新手,几乎我在db4o中遇到了问题。 当我使用

public static void main(String[] args) {

            ServerConfiguration configuration=
                Db4oClientServer.newServerConfiguration();
        configuration.common().allowVersionUpdates(true);
            configuration.common().activationDepth(4);
        try{


        server=Db4oClientServer.openServer(
                configuration,"test",0);
        System.out.println("It's ok");

        }catch(Exception e){
            System.out.println(e.toString());
        }
     }
只是一个简单的java文件。它可以正常工作。(我没有名为“test”的文件)。它可以帮助我创建测试文件。但是当我在android项目中使用相同的代码时

private ServerDDBB(){
    try{
        if(QSLog.DEBUG_I)
            QSLog.i(CLASS_NAME,"Before to open the DDBB");

        ServerConfiguration configuration=
            Db4oClientServer.newServerConfiguration();
    configuration.common().allowVersionUpdates(true);
        configuration.common().activationDepth(DEEP);
    try{
    server=Db4oClientServer.openServer(
            configuration,"ddbb",0);
    }catch(Exception e){
        Log.e("Can't pass the openServer",e.toString());
    }
        if(server==null)
            if(QSLog.DEBUG_W)
                QSLog.w(CLASS_NAME, "Serer Null");

    }catch(Exception e){
        if (QSLog.DEBUG_E)QSLog.e("hey", ExceptionUtils.exceptionTraceToString(
                e.toString(),
                e.getStackTrace()));
    }
}
它提示我有一个IO异常

这是我的错误警告:com.db4o.io.RandomAccessFileFactory.newRandomAccessFile(RandomAccessFileFactory.java:26)com.db4o.io.FileStorage$FileBin.(FileStorage.java:43)com.db4o.io.FileStorage.open(FileStorage.java:22)com.db4o.io.io.io.StorageDecorator.open(StorageDecorator.java:27)com.db4o.io.CachingStorage.open(CachingStorage.java:52)COMP.java 4Objist.Objist.ObjistCult.OpenIMPL(IOAdToDeCopyBase.java:56)COM.Db4O..No.ObjultCuleBase$ 1 . Run(ObjutCaseBase.java:134)COM .d4o.Fask.DeaMICROVALATION.(动态变量.java:47)COM.D4O..Fase.环境(RunUnand)(环境:Java:28)com.db4o.internal.ObjectContainerBase.withEnvironment(ObjectContainerBase.java:155)com.db4o.internal.ObjectContainerBase.open(ObjectContainerBase.java:125)com.db4o.internal.IoAdaptedObjectContainer.java:35)com.db4o.internal.ObjectContainerFactory.openObjectContainer(ObjectContainerFactory.java:18)com.db4o.db4o.openFile(db4o.java:224)com.db4o.cs.internal.config.StandardClientServerFactory.openServer(StandardClientServerFactory.java:35)com.db4o.cs.Db4oClientServer.openServer(Db4oClientServer.java:52)com.hlh.ddbb.ServerDDBB.(ServerDDBB.java:37)com.hlh.ddbb.ServerDDBB.ServerDDBB.createInstance(ServerDDBB.java:84)com.hlh.ddbb.ServerDDBB.getServer(ServerDDBB.java:78)com.hlh.ddbb.ClientDDBB.(ClientDDBB.java:20)com.hlh.SettingsTab.initActivity(SettingsTab.java:196)com.hlh.SettingsTab.onCreate(SettingsTab.java:91)android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2459)android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2512)android.app.ActivityThread.access$2200(ActivityThread.java:119)android.app.ActivityThread$H.handleMessage(ActivityThread.java:1863)android.os.Handler.dispatchMessage(Handler.java:99)android.os.Looper.java:123)android.app.ActivityThread.main(ActivityThread.java:4363)java.lang.reflect.Method.invokenactive(Native Method)java.lang.reflect.Method.invoke(Method.java:521)com.android.internal.os.zyoteinit$MethodAndArgsCaller.run(zyoteinit.java:860)com.android.internal.os.zyoteinit.main(zyoteinit.java:618)dalvik.system.NativeStart.main(本机方法)


任何回复都很好。

看起来您只是尝试使用常规文件名。在Android中,您需要将数据库存储在一个数据库中,您可以在其中访问:

String filePath = this.getFilesDir() + "/android.db4o";
    final EmbeddedConfiguration config = Db4oEmbedded.newConfiguration();
    config.common().add(new AndroidSupport());
    ObjectContainer db = Db4oEmbedded.openFile(config,filePath);
顺便说一句,嵌入式客户端服务器不需要服务器jar。您可以使用以下常规命令打开新的会话容器:

ObjectContainer session = rootContainer.ext().openSession();
try {
    // do the operations on the session-container
    session.store(new Person("Joe"));
} finally {
    // close the container. For example when the request ends
    session.close();
}