Android上的离线钱包:无法访问JSON文件

时间:2019-05-06 10:21:15

标签: java android ethereum

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

我有两个问题:

  • 当我在物理设备上测试应用程序时,我可以找到JSON文件在哪里,将其打开并查看其中的内容。在Android Studio模拟器上,我找不到它。

  • 在仿真器或物理设备上,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无法到达文件,但是我不知道为什么。恐怕仿真器实际上不会创建文件,因为找不到文件,但是在我的物理设备上文件仍然存在,loadCredentials仍会引发错误

1 个答案:

答案 0 :(得分:0)

Java中的File对象可以表示文件和目录。我了解walletDir File对象指向一个目录,其中createWallet()方法将存储您的凭据文件。然后getAbsoluteFile()将返回相同的目录File对象。您必须查看有关如何获得对凭证文件或其路径的引用的文档。也许WalletUtils.generateNewWalletFile()返回此信息?