-1

我正在使用来自 salesforce doc 的以下源代码,但它给了我以下错误。我该如何解决它任何人都可以帮助我。

   SmartStoreSDKManager sdkManager = SmartStoreSDKManager.getInstance();
   SmartStore mSmartStore = sdkManager.getSmartStore();


  private void createSoup() {

    IndexSpec[] ACCOUNTS_INDEX_SPEC = {
            new IndexSpec("Name",    SmartStore.Type.string),
            new IndexSpec("Id",      SmartStore.Type.string),
            new IndexSpec("OwnerId", SmartStore.Type.string)
    };
    mSmartStore.registerSoup(ACCOUNTS_SOUP, ACCOUNTS_INDEX_SPEC);
 }

当我在 onCreate 调用此方法时,它向我显示了以下异常。

致命异常:主进程:com.runtime,PID:7033 java.lang.RuntimeException:无法启动活动 ComponentInfo{com.runtime/com.runtime.activity.home.HomeActivity}:java.lang.ClassCastException:com.salesforce。 androidsdk.app.SalesforceSDKManager 无法在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2200) 的 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2249) 中转换为 com.salesforce.androidsdk.smartstore.app.SmartStoreSDKManager在 android.app.ActivityThread.access$800(ActivityThread.java:141) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1212) 在 android.os.Handler.dispatchMessage(Handler.java:102) 在 android .os.Looper.loop(Looper.java:136) 在 android.app.ActivityThread。main(ActivityThread.java:5052) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:515) at com.android.internal.os.ZygoteInit$ MethodAndArgsCaller.run(ZygoteInit.java:796) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:612) at dalvik.system.NativeStart.main(Native Method) 原因:java.lang.ClassCastException: com.salesforce.androidsdk.app.SalesforceSDKManager 无法在 com.runtime 的 com.salesforce.androidsdk.smartstore.app.SmartStoreSDKManager.getInstance(SmartStoreSDKManager.java:132) 处转换​​为 com.salesforce.androidsdk.smartstore.app.SmartStoreSDKManager。 activity.home.HomeActivity.setDefualtConfiguration(HomeActivity.java:163) 在 com.runtime.activity.home.HomeActivity.onCreate(HomeActivity.java:82) 在 android.app.Activity.performCreate(Activity.java:5242) 在 android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087) 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2164) 在 android。 app.ActivityThread.handleLaunchActivity(ActivityThread.java:2249) 在 android.os. android.app.ActivityThread.access$800(ActivityThread.java:141) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1212) 在 android.os。 Handler.dispatchMessage(Handler.java:102) 在 android.os.Looper.loop(Looper.java:136) 在 android.app.ActivityThread.main(ActivityThread.java:5052) 在 java.lang.reflect.Method.invokeNative (本机方法)callActivityOnCreate(Instrumentation.java:1087) 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2164) 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2249) 在 android.app.ActivityThread.access$800(ActivityThread. java:141) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1212) 在 android.os.Handler.dispatchMessage(Handler.java:102) 在 android.os.Looper.loop(Looper.java:136 ) 在 android.app.ActivityThread.main(ActivityThread.java:5052) 在 java.lang.reflect.Method.invokeNative(Native Method)callActivityOnCreate(Instrumentation.java:1087) 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2164) 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2249) 在 android.app.ActivityThread.access$800(ActivityThread. java:141) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1212) 在 android.os.Handler.dispatchMessage(Handler.java:102) 在 android.os.Looper.loop(Looper.java:136 ) 在 android.app.ActivityThread.main(ActivityThread.java:5052) 在 java.lang.reflect.Method.invokeNative(Native Method)app.ActivityThread.access$800(ActivityThread.java:141) 在 android.os.Handler.dispatchMessage(Handler.java:102) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1212) 在 android.os。 Looper.loop(Looper.java:136) 在 android.app.ActivityThread.main(ActivityThread.java:5052) 在 java.lang.reflect.Method.invokeNative(Native Method)app.ActivityThread.access$800(ActivityThread.java:141) 在 android.os.Handler.dispatchMessage(Handler.java:102) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1212) 在 android.os。 Looper.loop(Looper.java:136) 在 android.app.ActivityThread.main(ActivityThread.java:5052) 在 java.lang.reflect.Method.invokeNative(Native Method)

4

1 回答 1

0

经过大量文件阅读后,我找到了解决方案。

在我的应用程序文件 onCreate 方法中,只需执行此更改。

  //SalesforceSDKManager.initNative(getApplicationContext(), new NativeKeyImpl(), SplashActivity.class);

  Comment the above line of code and put this line of code.

  SmartSyncSDKManager.initNative(getApplicationContext(), new NativeKeyImpl(), SplashActivity.class);

   This line of code initialise smartstore SDK. The problem is soved
于 2017-04-25T12:08:32.920 回答