当前位置: 首页 > 知识库问答 >
问题:

将Azure连接到Android Studios

常智勇
2023-03-14

我正在尝试将Azure与Android Studio连接起来。我已经按照关于Azure的教程,创建了一个移动服务。然后它给了我一些代码添加到我的应用程序,以便他们连接。但是,代码抛出了一个我无法理解的异常。我从头到脚在网上搜了一遍,也找不到答案。我认为这与依赖项或库的导入方式有关(通过将jar文件粘贴到libs文件夹中并添加依赖项)。

引发异常的代码(由Azure提供):

try {
        mClient = new MobileServiceClient(
                "https://atm.azure-mobile.net/",
                "JWjetFMUVaAXzHmqDVqhkkRhTGGjeW70",
                this
        );
        Item item = new Item();
        item.Text = "Awesome item";
        mClient.getTable(Item.class).insert(item, new TableOperationCallback<Item>() {
            public void onCompleted(Item entity, Exception exception, ServiceFilterResponse response) {
                if (exception == null) {
                    // Insert succeeded
                    Toast.makeText(context, "WOOHOO", Toast.LENGTH_LONG).show();
                } else {
                    // Insert failed
                    Toast.makeText(context, "FAILED", Toast.LENGTH_LONG).show();
                }
            }
        });
    }
    catch(MalformedURLException d) {
    }
java.lang.NoClassDefFoundError: com.google.gson.GsonBuilder
        at com.microsoft.windowsazure.mobileservices.MobileServiceClient.createMobileServiceGsonBuilder(MobileServiceClient.java:192)
        at com.microsoft.windowsazure.mobileservices.MobileServiceClient.<init>(MobileServiceClient.java:179)
        at com.microsoft.windowsazure.mobileservices.MobileServiceClient.<init>(MobileServiceClient.java:158)
        at com.atmlocator.hooper.kenneth.atmlocator.HomeActivity.onCreate(HomeActivity.java:218)
        at android.app.Activity.performCreate(Activity.java:5047)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1094)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2051)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2112)
        at android.app.ActivityThread.access$700(ActivityThread.java:139)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1223)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loop(Looper.java:137)
        at android.app.ActivityThread.main(ActivityThread.java:4917)
        at java.lang.reflect.Method.invokeNative(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:511)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:997)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:764)
        at dalvik.system.NativeStart.main(Native Method)

共有1个答案

丌官运诚
2023-03-14

根据我的经验,异常“NoClassDefoundError”表示项目缺少依赖库jar文件。在这里,您的项目miss gson.jar文件。

您可以从https://azure.microsoft.com/en-us/downloads/页面的“Mobile”->“Android Install”部分下载一个zip文件“azuresdk-android-2.0.3.zip”。在将zip文件解压到一个目录后,您可以在目录“azuresdk-android-2.0.3/mobileServices”中找到“gson-2.2.2.jar”文件和其他依赖jar文件。

然后您可以将这些jar库文件导入到项目的目录“libs”中以解决问题。请参考SO线程Android Studio-导入外部库/JAR,了解如何导入外部库/JAR。

最诚挚的问候。

 类似资料:
  • 我正在运行节奏,卡桑德拉使用 docker run -e CASSANDRA_SEEDS=10.x.x.x e 超级数据库/服务器运行:。并成功运行。 Azure cosmos表示,任何在Cassandra上运行的系统都可以使用提供的cosmos cassandra APi使用Azure cosmos,方法是修改客户端连接创建代码,例如:GO app示例代码: 从我这边开始,我可以将外部cassa

  • 尝试在Azure中连接Web App-Java和SQL数据库。我使用了这个示例和这个页面:https://azure.microsoft.com/en-us/documentation/articles/sql-database-develop-java-simple-windows/

  • 我有我的Java maven项目的TFS存储库。我想通过创建新的管道来访问Azure DevOps中的那个项目。在Azure DevOps中,我们有5个选项,其中之一是通过TFVC创建新的管道,它要求存储库URL(连接URL)。我提到了连接URL,但在Azure DevOps中仍然没有显示项目结构。 我还尝试添加一个新的服务连接(添加azure Repos/Team Foundation服务连接)

  • 教程中一个引人注目的问题是azure cosmos db的连接字符串已经包含“?ssl=true&replicaset=globalDB”,我不明白为什么教程在连接到数据库时还要追加它。我已经从保存在。env文件中的连接字符串中删除了该部分,但也没有发生任何事情。我还对连接字符串中的特殊字符进行了编码,比如(==,@,?或/)。 在我看来,我不能正确地形成连接字符串,但我不知道如何解决这个问题。当

  • 我试图将一个Azure Blob存储容器挂载到一个DataBricks实例上,虽然挂载确实有效,但它似乎没有使用存储容器。 我在这里漏掉了什么?

  • 我目前正在进行一个项目,我们将数据存储在Azure Datalake上。Datalake与Azure Databricks挂钩。 该要求要求 Azure 数据砖连接到 C# 应用程序,以便能够运行查询并从 C# 应用程序获取全部结果。我们目前解决这个问题的方式是,我们已经在Databricks上创建了一个工作区,其中包含许多需要执行的查询。我们创建了一个链接到上述工作区的作业。从 C# 应用程序中