Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android上的离线钱包:can';t访问JSON文件_Java_Android_Ethereum - Fatal编程技术网

Java Android上的离线钱包:can';t访问JSON文件

Java Android上的离线钱包:can';t访问JSON文件,java,android,ethereum,Java,Android,Ethereum,我正在尝试用Android Studio开发一个应用程序,为以太坊区块链创建一个钱包文件。我正在关注这个 我有两个问题: 当我在我的物理设备上测试应用程序时,我可以跟踪JSON文件的位置,打开它,看看里面有什么。在Android Studio emulator上我找不到它 在模拟器或物理设备上,WalletUtils.loadCredentials函数抛出一个错误,表示“some_filepath”(是一个目录) 代码如下: public void createWallet(View vi

我正在尝试用Android Studio开发一个应用程序,为以太坊区块链创建一个钱包文件。我正在关注这个

我有两个问题:

  • 当我在我的物理设备上测试应用程序时,我可以跟踪JSON文件的位置,打开它,看看里面有什么。在Android Studio emulator上我找不到它

  • 在模拟器或物理设备上,
    WalletUtils.loadCredentials
    函数抛出一个错误,表示“some_filepath”(是一个目录)

代码如下:

 public void createWallet(View view){
    try{
        WalletUtils.generateNewWalletFile(password, walletDir);
        toastAsync("Wallet generated as" + walletDir);
    }
    catch (Exception e){
        toastAsync("ERROR:" + e.getMessage());
    }
}

public void getAddress(View view){
    try {
        Credentials credentials = WalletUtils.loadCredentials(password, walletDir.getAbsoluteFile());
        toastAsync("Your address is " + credentials.getAddress());
    }
    catch (Exception e){
        toastAsync("ERROR:" + e.getMessage());
    }
}

我想
loadCredentials
无法访问该文件,但我不知道为什么。我担心emulator实际上没有创建文件,因为我找不到任何文件,但是在我的物理设备上,文件在那里,
loadCredentials
仍然抛出错误Java中的
文件
对象可以表示文件和目录。我知道
walletDir
File
对象指向
createWallet()
方法将存储您的凭证文件的目录。然后
getAbsoluteFile()
将返回相同的目录
File
对象。您必须检查有关如何获取凭据文件引用或其路径的文档。可能
WalletUtils.generateNewWalletFile()
会返回此信息吗