gpt4 book ai didi

android - ListView 上的 Firebase 下载文件

转载 作者:行者123 更新时间:2023-11-29 19:01:45 25 4
gpt4 key购买 nike

我正在制作一个应用程序来列出上传的文件,然后我想用 setOnItemLongClickListener 下载它们。我得到下载 url 并用它来获取下载过程的引用。当我点击 ListView 项目时,它说下载成功了。但是我在手机上看不到该文件。实际上我不知道它应该在哪里。我看到了类似的问题,但找不到解决方案。我真的需要帮助来解决这个问题。

这是我的代码:

 listView.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {

public boolean onItemLongClick(AdapterView<?> arg0, View v,
int index, long arg3) {


try {
storage = FirebaseStorage.getInstance().getReferenceFromUrl(fileFirebase.get(index).toString());


StorageReference island=storage;

final File file = File.createTempFile("images", "jpg");
island.getFile(file).addOnSuccessListener(new OnSuccessListener<FileDownloadTask.TaskSnapshot>() {
@Override
public void onSuccess(FileDownloadTask.TaskSnapshot taskSnapshot) {
Toast.makeText(getActivity(),"Download is succesful!",Toast.LENGTH_LONG).show();

}
}).addOnProgressListener(new OnProgressListener<FileDownloadTask.TaskSnapshot>() {
@Override
public void onProgress(FileDownloadTask.TaskSnapshot taskSnapshot) {
//taskSnapshot.getBytesTransferred();
//taskSnapshot.getTotalByteCount();
}
});}
catch (IOException e) {
e.printStackTrace();
}

最佳答案

File.createTempFile将文件存储在Android的内部缓存目录中。

你应该new File相反,它将在您的应用程序目录范围内可用。

如果您使用的是 root 设备或模拟器,您可以检查 /data/data/<package-name>查看您下载的文件。

如果没有 root,你可以通过 ADB shell 浏览到这个位置。在 Android Studio 3 中,你有一个内置的文件资源管理器来探索你的应用程序的内部数据目录,即 /data/data/<package-name>。 .

如果在外部存储中,您也可以考虑存储文件。为此,您需要在 Manifest 文件中声明权限。

/* Checks if external storage is available for read and write */
public boolean isExternalStorageWritable() {
String state = Environment.getExternalStorageState();
if (Environment.MEDIA_MOUNTED.equals(state)) {
return true;
}
return false;
}

/* Checks if external storage is available to at least read */
public boolean isExternalStorageReadable() {
String state = Environment.getExternalStorageState();
if (Environment.MEDIA_MOUNTED.equals(state) ||
Environment.MEDIA_MOUNTED_READ_ONLY.equals(state)) {
return true;
}
return false;
}

查看此链接以获取更多信息:https://developer.android.com/training/data-storage/files.html

关于android - ListView 上的 Firebase 下载文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48815540/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com