我正在尝试使用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
仍会引发错误
答案 0 :(得分:0)
Java中的File
对象可以表示文件和目录。我了解walletDir
File
对象指向一个目录,其中createWallet()
方法将存储您的凭据文件。然后getAbsoluteFile()
将返回相同的目录File
对象。您必须查看有关如何获得对凭证文件或其路径的引用的文档。也许WalletUtils.generateNewWalletFile()
返回此信息?