我正在从服务器下载一个 zip 文件到我的内部存储。它保存到/data/data/[package name]/files
目录中,我可以使用 Android Studio 中的设备文件资源管理器查看它。但是当我尝试访问它以解压缩它时,出现以下错误:
java.io.FileNotFoundException: thezip.zip: open failed: ENOENT (No such file or directory)
Run Code Online (Sandbox Code Playgroud)
当我打电话时:
context.getFileDir();
Run Code Online (Sandbox Code Playgroud)
它给了我以下目录:
/data/user/0/[package name]/files
Run Code Online (Sandbox Code Playgroud)
这是一个符号链接
/data/data/[package name]/files directory
Run Code Online (Sandbox Code Playgroud)
所以我应该可以访问 zip 文件,不是吗?
我在这里缺少什么?我希望任何使用该应用程序的用户都可以访问 zip 文件夹中的文件。帮助!
编辑:这是代码:
class DownloadFileAsync extends AsyncTask<String, String, String> {
private Context context;
private String fileName;
public DownloadFileAsync(Context context, String fileName){
this.context = context;
this.fileName = fileName;
}
@Override
protected void onPreExecute() {
super.onPreExecute();
}
@Override
protected String doInBackground(String... aurl) {
downloadZipFile(aurl[0]);
try {
unzipFolder(fileName);
} catch …
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用安全帽遵循此处找到的 Chainlink VRF 教程: https: //docs.chain.link/docs/intermediates-tutorial/,并在调用 rollDice 函数时遇到此问题:
Error: cannot estimate gas; transaction may fail or may require manual gas limit (error={"reason":"cannot estimate gas; transaction may fail or may require manual gas limit","code":"UNPREDICTABLE_GAS_LIMIT","method":"estimateGas","transaction":{"from":"0x014Da1D627E6ceB555975F09D26B048644382Ac6","maxPriorityFeePerGas":{"type":"BigNumber","hex":"0x9502f900"},"maxFeePerGas":{"type":"BigNumber","hex":"0x9502f90e"},"to":"0x5887946875A01D1BB79d6Fb357BceeA5A0096D2e","data":"0xdd02d9e5000000000000000000000000014da1d627e6ceb555975f09d26b048644382ac6","type":2,"accessList":null}}, tx={"data":"0xdd02d9e5000000000000000000000000014da1d627e6ceb555975f09d26b048644382ac6","to":{},"from":"0x014Da1D627E6ceB555975F09D26B048644382Ac6","type":2,"maxFeePerGas":{"type":"BigNumber","hex":"0x9502f90e"},"maxPriorityFeePerGas":{"type":"BigNumber","hex":"0x9502f900"},"nonce":{},"gasLimit":{},"chainId":{}}, code=UNPREDICTABLE_GAS_LIMIT, version=abstract-signer/5.5.0)
at Logger.makeError (/Users/matt/Desktop/hardhat/randomDay/node_modules/@ethersproject/logger/src.ts/index.ts:225:28)
at Logger.throwError (/Users/matt/Desktop/hardhat/randomDay/node_modules/@ethersproject/logger/src.ts/index.ts:237:20)
at /Users/matt/Desktop/hardhat/randomDay/node_modules/@ethersproject/abstract-signer/src.ts/index.ts:301:31
at processTicksAndRejections (node:internal/process/task_queues:96:5)
at async Promise.all (index 7)
Run Code Online (Sandbox Code Playgroud)
我能够部署到 Kovan 测试网,我能够验证合约,并且我已经发送了合约 LINK 代币,但仍然遇到了问题。合约可以在这里查看:https://kovan.etherscan.io/address/0x7b72d80670512c87605ab8ac7e6113fda9c57de4#code
我正在使用 Chainlink 合约 0.8 版本。
随机日.sol
pragma solidity ^0.8.9;
import "@chainlink/contracts/src/v0.8/VRFConsumerBase.sol";
contract RandomDay is VRFConsumerBase {
uint256 private constant ROLL_IN_PROGRESS = …
Run Code Online (Sandbox Code Playgroud) android ×1
android-file ×1
blockchain ×1
chainlink ×1
ethereum ×1
filesystems ×1
io ×1
java ×1
solidity ×1