java - 将 Android Studio 连接到 Cosmos 数据库
问题描述
我正在开发一个项目,将 azure Cosmos 数据库中的数据检索到 Android Studio 中。但是,它有一个错误,我真的找不到任何解决方案。请帮忙,谢谢!
依赖项:实现 '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
,database
或者container
实例是否正确null
。
我建议您按照此分步教程实现此功能:教程:使用 Azure Cosmos DB 和 SQL API 构建 Java Web 应用程序
推荐阅读
- oracle - 通过 RMAN 备份 Oracle 数据库
- azure-active-directory - 请求在 Azure Active Directory C# 中注册的 MS Graph 访问令牌
- python - 我在词袋功能中犯了什么错误?
- android - Upi超链接没有被调用url
- powershell - Powershell脚本调用异步方法?
- python - python .readlines() utf-8/latin-1 编码疯狂错误
- android-studio - 在 Android Studio 中调试 gradle 文件
- javascript - 编译失败:意外的解析错误
- loops - 如果字典变量中存在键,则执行任务
- html - 如何在不重新编译的情况下更改 Vue 模板?