Connecting Android studio to Cosmos Database



我正在研究一个从azure Cosmos数据库检索数据到Android Studio的项目。然而,它有一个错误,我真的找不到任何解决方案。请帮忙,谢谢!

dependencies: implementation 'com.azure:azure-cosmos:4.3.0'

import com.azure.cosmos.ConsistencyLevel;
import com.azure.cosmos.CosmosClient;
import com.azure.cosmos.CosmosClientBuilder;
import com.azure.cosmos.CosmosContainer;
import com.azure.cosmos.CosmosDatabase;
import com.azure.cosmos.implementation.ConnectionPolicy;
import com.azure.cosmos.models.CosmosItemRequestOptions;
import com.azure.cosmos.models.CosmosQueryRequestOptions;
import com.azure.cosmos.util.CosmosPagedFlux;
import com.azure.cosmos.util.CosmosPagedIterable;
public class MainActivity extends AppCompatActivity {

private static final String TAG = "";
private final String databaseName = "smartwristbanddb";
private final String containerName = "records";
public CosmosDatabase database = null;
public CosmosContainer container = null;
public static CosmosClient client;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
System.out.println("Using Azure Cosmos DB endpoint: " + dbAccount.HOST);

//  <CreateSyncClient>
ConnectionPolicy policy = ConnectionPolicy.getDefaultPolicy();
try {
//getStartedDemo();
client = new CosmosClientBuilder()
.endpoint(dbAccount.HOST)
.key(dbAccount.MASTER_KEY)
.consistencyLevel(ConsistencyLevel.SESSION)
.buildClient();

database = client.getDatabase(databaseName);
container = database.getContainer(containerName);
} catch (Exception e) {
e.printStackTrace();
}
}

错误如下:

W/m.example.myapp: type=1400 audit(0.0:9885): avc: denied { read } for name="somaxconn" dev="proc" ino=4276772 scontext=u:r:untrusted_app:s0:c28,c257,c512,c768 tcontext=u:object_r:proc_net:s0 tclass=file permissive=0 ---------- 
W/System.err: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean com.azure.cosmos.implementation.DatabaseAccount.getEnableMultipleWriteLocations()' on a null object reference at com.azure.cosmos.BridgeInternal.isEnableMultipleWriteLocations(BridgeInternal.java:163) W/System.err: at com.azure.cosmos.implementation.RxDocumentClientImpl.initializeGatewayConfigurationReader(RxDocumentClientImpl.java:264) at com.azure.cosmos.implementation.RxDocumentClientImpl.init(RxDocumentClientImpl.java:281) at com.azure.cosmos.implementation.AsyncDocumentClient$Builder.build(AsyncDocumentClient.java:203) W/System.err: at com.azure.cosmos.CosmosAsyncClient.<init>(CosmosAsyncClient.java:79) at com.azure.cosmos.CosmosClientBuilder.buildAsyncClient(CosmosClientBuilder.java:649) at com.azure.cosmos.CosmosClient.<init>(CosmosClient.java:30) at com.azure.cosmos.CosmosClientBuilder.buildClient(CosmosClientBuilder.java:661) W/System.err: at com.example.myapp.MainActivity.onCreate(MainActivity.java:52) at android.app.Activity.performCreate(Activity.java:7972) at android.app.Activity.performCreate(Activity.java:7961) W/System.err: at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1306) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3496) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3680) at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83) W/System.err: at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:140) at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:100) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2230) W/System.err: at android.os.Handler.dispatchMessage(Handler.java:107) at android.os.Looper.loop(Looper.java:227) at android.app.ActivityThread.main(ActivityThread.java:7802) at java.lang.reflect.Method.invoke(Native Method) W/System.err: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1027)

您有Null参考错误。请检查配置值(HOST, MASTER_KEY))是正确的,client,databasecontainer实例不是null

我建议您通过以下步骤来实现此功能:教程:使用Azure Cosmos DB和SQL API构建Java web应用程序

最新更新