通过Android中的Box API获取文件大小

时间:2013-12-10 08:24:28

标签: android box-api

我试图找出我的Box驱动器中每个文件的大小,以便在我的列表适配器中显示它,就像它在官方Box Android应用程序中显示的那样。

这是我的代码段:

    BoxTypedObject item = getItem(position);
    if (item instanceof BoxAndroidFile) {
        BoxAndroidFile file = (BoxAndroidFile) item;
        Log.d(TAG, "file.getsize=" + file.getSize());
     }

该文件有效,file.getName()工作正常。 但是,file.getSize()始终返回null。

我使用正确的API还是以正确的方式使用它?

2 个答案:

答案 0 :(得分:0)

要控制字段填充,必须使用requestObject参数。 看https://stackoverflow.com/a/17352838/3083204

答案 1 :(得分:0)

因为在调用getFolderItems()调用获取文件夹信息时没有指定size字段。

您可以尝试以下代码段。

        final ArrayList<String> itemFields = new ArrayList<String>();
        itemFields.add(BoxAndroidFile.FIELD_NAME);
        itemFields.add(BoxAndroidFile.FIELD_SIZE);
        itemFields.add(BoxAndroidFile.FIELD_EXTENSION);
        itemFields.add(BoxAndroidFile.FIELD_PARENT);

        final BoxPagingRequestObject obj = BoxPagingRequestObject
                .pagingRequestObject(limit, offset);
        obj.getRequestExtras().addFields(itemFields);

        final BoxAndroidCollection bc = (BoxAndroidCollection) boxClient
                .getFoldersManager().getFolderItems(mTargetFolderId, obj);