Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/329.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 如何通过URL从firebase数据库下载音频文件mp3或mp4或mpeg_Java_Android_Firebase_Firebase Realtime Database_Android Recyclerview - Fatal编程技术网

Java 如何通过URL从firebase数据库下载音频文件mp3或mp4或mpeg

Java 如何通过URL从firebase数据库下载音频文件mp3或mp4或mpeg,java,android,firebase,firebase-realtime-database,android-recyclerview,Java,Android,Firebase,Firebase Realtime Database,Android Recyclerview,在我的类适配器中,我有ImageView,它必须根据mp3、mp4和mpeg扩展下载歌曲。我的firebase数据库如下所示: 我不明白为什么下载没有启动此方法: private void musicdownload(String uri, String title){ try { File musicStorageDir = new File(Environment.getExternalStoragePublicDirectory(DIRECTORY_MUSIC)

在我的类适配器中,我有ImageView,它必须根据mp3、mp4和mpeg扩展下载歌曲。我的firebase数据库如下所示:

我不明白为什么下载没有启动此方法:

private void musicdownload(String uri, String title){
    try {

        File musicStorageDir = new File(Environment.getExternalStoragePublicDirectory(DIRECTORY_MUSIC), "Gladia");

        if (!musicStorageDir.exists()){
            musicStorageDir.mkdir();

        }

        //Default Extension mp3
        String musicExtension = ".mp3";
        if (uri.contains(".mp4")){
            musicExtension = ".mp4";
        }else if (uri.contains(".aac")){
            musicExtension = ".aac";
        }else if (uri.contains(".mpeg")){
            musicExtension = ".mpeg";
        }

        String singName = title + musicExtension;

        DownloadManager downloadManager = (DownloadManager)mContext.getSystemService(Context.DOWNLOAD_SERVICE);
        Uri downloadUri = Uri.parse(uri);

        Log.d(TAG, "musicdownload: downloadUri: " + downloadUri);
        DownloadManager.Request request = new DownloadManager.Request(downloadUri);

        request.setAllowedNetworkTypes(DownloadManager.Request.NETWORK_WIFI | DownloadManager.Request.NETWORK_MOBILE)
                .setDestinationInExternalPublicDir(DIRECTORY_MUSIC + File.separator, singName)
                .setTitle(singName).setDescription(title)
                .setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);

        downloadManager.enqueue(request);


    }catch (Exception e){
        e.printStackTrace();
    }
}
方法调用


谢谢,我知道问题出在哪里了。我没有激活授权。

谢谢,我看到问题了。我没有激活授权。

new DownloadFileFromURL().execute(file\u url);它在哪里失败/停止?@MadaManu下载没有启动应用程序没有crashAny调试信息?代码的执行是否在特定行停止?你能插入一些断点,看看它不在哪里吗?谢谢,我知道问题出在哪里了。我没有激活authorization.new DownloadFileFromURL().execute(文件\ url);它在哪里失败/停止?@MadaManu下载没有启动应用程序没有crashAny调试信息?代码的执行是否在特定行停止?你能插入一些断点,看看它不在哪里吗?谢谢,我知道问题出在哪里了。我没有激活授权。请详细说明授权以及您如何“激活”授权,以便其他人可以检查他们是否缺少相同的内容?访问存储许可您应该使用更详细的解释更新此答案,然后关闭问题。:)您是否可以详细介绍授权以及您如何“激活”授权,以便其他人能够检查他们是否缺少相同的内容?访问存储许可您应该使用更详细的解释更新此答案,然后关闭此问题。:)
    viewHolder.download.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

            musicdownload(music.getMusicUrl(), music.getMusicTitle());
        }
    });