【问题标题】:How to create the smart store table in android using salesforce SDK如何使用salesforce SDK在android中创建智能商店表
【发布时间】:2017-04-17 12:34:25
【问题描述】:

我正在使用来自 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:无法启动活动 组件信息{com.runtime/com.runtime.activity.home.HomeActivity}: java.lang.ClassCastException: com.salesforce.androidsdk.app.SalesforceSDKManager 无法转换为 com.salesforce.androidsdk.smartstore.app.SmartStoreSDKManager 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2200) 在 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) 在 java.lang.reflect.Method.invoke(Method.java:515) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:796) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:612) 在 dalvik.system.NativeStart.main(Native Method) 原因: java.lang.ClassCastException: com.salesforce.androidsdk.app.SalesforceSDKManager 无法转换为 com.salesforce.androidsdk.smartstore.app.SmartStoreSDKManager 在 com.salesforce.androidsdk.smartstore.app.SmartStoreSDKManager.getInstance(SmartStoreSDKManager.java:132) 在 com.runtime.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.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)

【问题讨论】:

  • 请格式化您的问题并详细说明。

标签: java android salesforce salesforce-service-cloud salesforce-ios-sdk


【解决方案1】:

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

在我的应用程序文件的 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

【讨论】:

  • @mobility scond 和第三个参数代表什么?我在这里遇到了同样的问题。谢谢
  • @Rodrigo 第二个参数是一个键,第三个是应用启动器活动。
  • @mobility 获取钥匙是什么意思,我怎样才能得到它?你能帮我么。问候
  • @mobility 你的意思是我只需要把 SmartSyncSDKManager.initNative(getApplicationContext(), new NativeKeyImpl(), SplashActivity.class);没有上面的说明??
  • @Rodrigo 您应该在您的应用程序类中编写此代码并像下面的代码一样使用它。
猜你喜欢
  • 2019-04-09
  • 2017-05-29
  • 1970-01-01
  • 2011-05-27
  • 1970-01-01
  • 1970-01-01
  • 2022-08-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多