开源夏令营第二周

整个第二周做的工作便是通读代码,了解seafile的整个工作过程,并且又试着做了下删除的操作。前几日导师匆匆忙忙地联系我,我的删除操作的解决方法有着致命的问题:seafile的删除不等同于普通的文件删除,seafile的所有操作几乎都是在云端实现的,所以这就需要app通过调用seafile提供的web api来实现文件复制删除操作。


seafile web api地址:https://github.com/haiwen/seafile/wiki/Seafile-web-API


经过导师指正后这几日便根据重命名操作照猫画虎。


首先是在quick action bar 中新建一个delete按钮,参照NewQuickAction给出的demo,代码如下:

private static final int ACTION_ID_DELETE = 4;
ActionItem deleteAction;
deleteAction = new ActionItem(ACTION_ID_DELETE,
        	resources.getString(R.string.file_action_delete),
        	resources.getDrawable(R.drawable.action_delete));
        mQuickAction.addActionItem(deleteAction);

然后通过点击监听函数传参到BrowserActivity中,建立delete函数,并且针对文件、文件夹要分别进行不同的操作。

由于不管是rename还是delete都需要弹出个dialog框来让用户确认,所以也需要一个新的dialog类,来将信息传入DataManger中,最终在SeafConnection.java文件中实现调用web api。

如rename中调用web api的核心语句:

String suffix = isdir ? "/dir/" : "/file/";
HttpRequest req = prepareApiPostRequest("api2/repos/" + repoID + suffix, true, params);

其中params是一个string到object的映射

接着便是对各种可能出现的bug的throw和catch


但目前存在一个问题,对于web api的使用方法并没有完全明白,还需进一步查资料和咨询导师。

关于delete的后台具体操作我也会在接下来几日持续更新。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值