如何从天空驱动器获取文件名称并在列表中显示

时间:2014-09-08 22:20:57

标签: android onedrive

我正在构建Skydrive应用程序,我希望在列表中显示所有主目录(根文件夹)文件。我已成功登录,但我不知道如何从我的Skydrive帐户的主目录中获取所有文件名称

1 个答案:

答案 0 :(得分:1)

听起来使用Android版LiveSDK可以从OneDrive获取所需的详细信息,https://github.com/liveservices/LiveSDK-for-Android/

以下是一个有限的示例,它将从OneDrive的根目录中获取项目名称和类型:

mClient = (LiveConnectClient) mApp.getConnectClient();
mClient.getAsync("me/skydrive/files", new LiveOperationListener() {
    @Override 
    public void onComplete(final LiveOperation operation) { 
        final JSONObject result = operation.getResult(); 
        if (result.has("error")) { 
            final JSONObject error = result.optJSONObject("error"); 
            final String message = error.optString("message"); 
            final String code = error.optString("code"); 
            showToast(code + ": " + message); 
            return; 
        } 

        final JSONArray data = result.optJSONArray("data");
        for (int i = 0; i < data.length(); i++) { 
            final JSONObject oneDriveItem = data.optJSONObject(i);
            if (oneDriveItem != null) {
                final String itemName = oneDriveItem.optString("name");
                final String itemType = oneDriveItem.optString("type");
                // Update your adapter with the contents of the folder
            } 
        } 
    }
});

您可以看到此示例的来源https://github.com/liveservices/LiveSDK-for-Android/blob/master/sample/src/com/microsoft/live/sample/skydrive/SkyDriveActivity.java#L759我强烈建议您使用此示例应用程序,以了解LiveSDK的可能性。