Azure CloudStorageAccount Android:从Android访问blob

Azure CloudStorageAccount Android:从Android访问blob,android,azure,blob,azure-storage-blobs,Android,Azure,Blob,Azure Storage Blobs,我们正在尝试从java客户端应用程序(Android)访问azure blob存储。 这将在以下教程中解释:教程BlobJava 从eclipse启动应用程序时出现异常。 “找不到从方法com.microsoft.windowsazure.services.core.storage.utils.utility.createXMLstreamReaderFromReader引用的方法javax.xml.stream.xmlinputfactory.newinstance” azure似乎正在使用a

我们正在尝试从java客户端应用程序(Android)访问azure blob存储。 这将在以下教程中解释:教程BlobJava

从eclipse启动应用程序时出现异常。 “找不到从方法com.microsoft.windowsazure.services.core.storage.utils.utility.createXMLstreamReaderFromReader引用的方法javax.xml.stream.xmlinputfactory.newinstance”

azure似乎正在使用android中不存在的XML库

下面是一段代码片段:

public static final String storageConnectionString = 
        "DefaultEndpointsProtocol=http;" + 
        "AccountName=myaccountname;" + 
        "AccountKey=myaccountkey";

@Override
public void onActivityCreated(Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);

    FileOutputStream FileXml = null;
    // Retrieve storage account from connection-string
    try {
        CloudStorageAccount storageAccount = CloudStorageAccount.parse(storageConnectionString);
        // Create the blob client
        CloudBlobClient blobClient = storageAccount.createCloudBlobClient();
        // Get a reference to a container
        // The container name must be lower case
        CloudBlobContainer container = blobClient.getContainerReference("weetjesandroid");

作为一种解决方法,您可以使用Android直接访问

阅读以了解如何提供所需的
授权
请求标头


您必须编写更多的代码并了解如何调用所需的API,但我可以证明这种方法是有效的。

我已经通过此命令访问了一个公共blob。我还试图通过这个命令访问一个私有blob,但没有成功:HTTP/1。Authorization=“SharedKey AccountName:PrimaryKeyAzure”x-ms-date:2010年8月17日星期二21:41:56 GMT我应该更改什么才能使其正常工作。@JVGAG,可能您的评论被截断了。显示的不是命令,而是URL。我建议您使用用于这些命令的代码更新您的问题。还有,您是否按照建议使用了HttpURLConnection?为什么您要从Android访问blob并在应用程序中公开您的帐户密钥?它应该在服务器端。由于您可能有多个客户端应用程序将项目存储在blob存储中,所以最好将其保存在服务器端。您可以将此主机用作WebAPI服务并从不同的客户端调用。