gson - Robospice 不可能在没有服务的情况下启动 SpiceManager

标签 gson robospice spring-android

我正在尝试使用以下库来开发我的应用程序。

  • Robospice
  • Gson
  • 和 Spring for android

  • 为此,在我的 gradle 文件中,我添加了以下依赖项
    compile 'com.octo.android.robospice:robospice-spring-android:1.4.13'
    compile 'com.google.code.gson:gson:2.2.4'
    

    在 list 文件中,我在应用程序标签中插入了以下几行。
    <service
        android:name="com.octo.android.robospice.GsonSpringAndroidSpiceService"
        android:exported="false" />
    

    现在,我创建了一个用作基本事件的基类。而且,我通过以下方式做到了这一点:
    public class BaseSpiceActivity extends Activity {
        private SpiceManager spiceManager = new SpiceManager(GsonSpringAndroidSpiceService.class);
    
        @Override
        protected void onStart() {
            spiceManager.start(this);
            super.onStart();
        }
    
        @Override
        protected void onStop() {
            spiceManager.shouldStop();
            super.onStop();
        }
    
        protected SpiceManager getSpiceManager() {
            return spiceManager;
        }  
    }
    

    然后我使用该基类来扩展我自己的类,在那里我必须使用 spice 服务请求。
    SimpleTextRequest text = new SimpleTextRequest(placeUrl);   
    getSpiceManager().execute(text, "place", DurationInMillis.ONE_MINUTE, new RequestListener<String>() { 
    
        //Other functions and codes
    
        }
    )
    

    但是当上面的代码被执行时,我收到以下错误
     E/AndroidRuntime﹕ FATAL EXCEPTION: SpiceManagerThread 0
    java.lang.RuntimeException: Impossible to start SpiceManager as no service of class : com.octo.android.robospice.SpiceService is registered in AndroidManifest.xml file !
            at com.octo.android.robospice.SpiceManager.checkServiceIsProperlyDeclaredInAndroidManifest(SpiceManager.java:1287)
            at com.octo.android.robospice.SpiceManager.tryToStartService(SpiceManager.java:1168)
            at com.octo.android.robospice.SpiceManager.run(SpiceManager.java:247)
            at java.lang.Thread.run(Thread.java:856)
    

    我一直在尝试解决这个问题很多小时。但遗憾的是不能。请帮帮我。

    最佳答案

    我 100% 确定你在某个地方搞砸了。搜索 new SpiceManager(SpiceService.class);在您的代码中,您会发现您确实使用此服务而不是所需的 GsonSpringAndroidSpiceService .

    关于gson - Robospice 不可能在没有服务的情况下启动 SpiceManager,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25812082/

    相关文章:

    使用带有构建工具 1.1 的 MockRestServiceServer 的 Android Spring Rest 模板

    android - Android 上的 ProGuard 和 Gson (ClassCastException)

    java - 将 JsonElement addProperty() 合并到一个方法中

    java - 改造:用一个元素反序列化数组时出错: "out of START_ARRAY token"

    android - 在使用 RoboSpice 执行网络请求之前从缓存中获取数据

    android - 用于SpringAndroid库的Android Proguard配置

    从命令行运行时 AndroidTest 失败 :app:connectedDebugAndroidTest

    android - com.google.gson.JsonSyntaxException : java. android 中的 lang.IllegalStateException

    java - 从 GSON 解析 JSON 中的通用标签

    android - 使用 MockWebServer 对 RoboSpice 请求进行单元测试