我从这里使用 libzip android 端口。我可以在我的存档调用中添加一个新文件zip_add(_zip, filePath, zip_source_callback)
。它创建一个空文件。我怎样才能将数据写入这个空文件?
我知道我必须以我的zip_source_callback
方法处理它,但我不知道具体是什么以及如何处理。任何帮助将不胜感激。
我的 zip_source_callback 现在看起来像这样:
ssize_t _source_callback(void *state, void *data, size_t len, enum zip_source_cmd cmd)
{
ssize_t r = 0;
switch ( cmd )
{
case ZIP_SOURCE_OPEN:
{
LOGD("ZIP_SOURCE_OPEN");
break;
}
case ZIP_SOURCE_CLOSE:
{
LOGD("ZIP_SOURCE_CLOSE");
break;
}
case ZIP_SOURCE_STAT:
{
LOGD("ZIP_SOURCE_STAT");
break;
}
case ZIP_SOURCE_ERROR:
default:
{
LOGD("ZIP_SOURCE_ERROR");
break;
}
case ZIP_SOURCE_READ:
{
LOGD("ZIP_SOURCE_READ");
break;
}
case ZIP_SOURCE_FREE:
{
LOGD("ZIP_SOURCE_FREE");
return 0;
}
}
return r;
}