所以我没有经验处理过多的文件类型,而且我还没有找到关于究竟是什么.sh文件的很多信息.这是我正在尝试做的事情:
我正在尝试下载以可以单独下载的磁贴排列的地图数据集:http://daymet.ornl.gov/gridded
为了一次下载一系列的瓷砖,他们说下载他们的脚本,最终导致daymet-nc-retrieval.sh:https://github.com/daymet/scripts/blob/master/Bash/daymet-nc-retrieval.sh
那么,我应该用这段代码做什么呢?假设用户知道如何处理,网站不提供进一步的说明.我猜你应该将代码粘贴到浏览器的其他未提及的应用程序中(在这种情况下使用Chrome或Firefox)?它看起来几乎可以粘贴到Firefox/Greasemonkey中,但并不完全.只是通过一个快速谷歌的文件类型我无法得到它的正面或反面.
我确信有一个关于如何处理这些文件的简单解释,但它似乎埋藏在很多帖子中,人们已经假设你知道如何处理这些文件.有人愿意只是简单地说明在使用实际实现代码的页面之后需要从正方形做什么?谢谢.
我正试图DownloadManager在我的一Service类中使用:
DownloadManager downloadManager = (DownloadManager) getSystemService(DOWNLOAD_SERVICE);
//imageUri is a valid Uri
Request downloadRequest= new Request(imageUri);
//without this line, it works
downloadRequest.setNotificationVisibility(DownloadManager.Request.VISIBILITY_HIDDEN);
//subpath is valid
downloadRequest.setDestinationInExternalFilesDir(this, null, subPath);
downloadManager.enqueue(downloadRequest);
Run Code Online (Sandbox Code Playgroud)
没有setNotificationVisibility,这段代码效果很好.但是它显示了一个我不想要的通知,因为我使用这个代码在一个延迟加载图像ListView.
据我所知,这个通知可以隐藏起来
downloadRequest.setNotificationVisibility(DownloadManager.Request.VISIBILITY_HIDDEN);
Run Code Online (Sandbox Code Playgroud)
但在这种情况下,我的应用程序崩溃:
02-19 02:24:24.055:E/AndroidRuntime(2572):java.lang.SecurityException:可见性值无效:2 02-19 02:24:24.055:E/AndroidRuntime(2572):在android.os.Parcel .readException(Parcel.java:1327)02-19 02:24:24.055:E/AndroidRuntime(2572):at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:181)02-19 02:24:24.055:E/AndroidRuntime(2572):在android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:135)02-19 02:24:24.055:E/AndroidRuntime(2572):在android.content.ContentProviderProxy.insert(ContentProviderNative.java: 415)02-19 02:24:24.055:E/AndroidRuntime(2572):在android.content.ContentResolver.insert(ContentResolver.java:730)02-19 02:24:24.055:E/AndroidRuntime(2572):at android.app.DownloadManager.enqueue(DownloadManager.java:885)02-19 02:24:24.055:E/AndroidRuntime(2572):at MyService.getImage(MyService.java:112)
什么错了setNotificationVisibility?我怎么能收到通知?
我正在开发一个应用程序,用户可以下载不同的内容包.对于下载过程,我使用的是DownloadManager类.那个到目前为止工作正常.
我的问题是如何获得使用DownloadManager启动的正在运行的下载的当前进度.我知道有buildin下载通知等等.但对我来说,我必须获得正在运行的下载的进度,以便我可以使用它来显示我的应用程序中自定义进度条的进度.到目前为止,我无法检索进度.
它是否可能,或者我只是盲目而无法找到解决方案.
希望有人可以帮助我......
我正在使用Android DownloadManger System Service以下列方式下载某些文件
dwnId = mgr.enqueue(new DownloadManager.Request(serveruri)
.setAllowedNetworkTypes(DownloadManager.Request.NETWORK_WIFI |
DownloadManager.Request.NETWORK_MOBILE)
.setAllowedOverRoaming(false)
.setTitle(getAlbumName())
.setDescription(getTrackName())
.setDestinationUri(deviceUri)
.setShowRunningNotification(true));
Run Code Online (Sandbox Code Playgroud)
mgrDownload Manager实例在哪里,dwnId是返回的唯一ID.我也在报名参加ACTION_DOWNLOAD_COMPLETE
registerReceiver(onDownloadComplete, new IntentFilter(DownloadManager.ACTION_DOWNLOAD_COMPLETE));
Run Code Online (Sandbox Code Playgroud)
并在onDownloadComplete BroadcastReceiver的onReceive()方法我得到下载ID喜欢
Long dwnId = intent.getLongExtra(DownloadManager.EXTRA_DOWNLOAD_ID, 0);
Run Code Online (Sandbox Code Playgroud)
之后,我查询下载管理器的下载状态
Cursor c = downloadManager.query(new DownloadManager.Query().setFilterById(dwnId)); c.getInt(c.getColumnIndex(DownloadManager.COLUMN_STATUS));
Run Code Online (Sandbox Code Playgroud)
对于DownloadManager.STATUS_*常量.
问题是我收到两次相同的downId(意味着onReceive方法被调用两次),一次使用DownloadManager.STATUS_SUCCESSFUL状态,一次使用相同dwnId的DownloadManager.STATUS_FAILED状态.我发出一次下载大约10个文件的请求,但是在设备下载管理器上它显示下载计数,因为左上角的通知栏中的12或13表示.我认为下载管理器在下载文件时有一些问题,并且恢复或自动重新启动以再次下载相同的文件.这就是我请求下载的文件数与下载队列中的实际数之间存在差异的原因.因此,我只获得两次相同的DownloadId完整动作.如果是这样,那么如何限制它.我错了可能是我要求实际下载的数量差异的原因是什么?为什么广播接收器两次接收相同的下载ID.有人可以告诉我吗?
提前致谢...
android broadcast download download-manager broadcastreceiver
通过DownloadManager API成功下载后,我遇到打开下载文件的问题.在我的代码中:
Uri uri=Uri.parse("http://www.nasa.gov/images/content/206402main_jsc2007e113280_hires.jpg");
Environment
.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS)
.mkdirs();
lastDownload = mgr.enqueue(new DownloadManager.Request(uri)
.setAllowedNetworkTypes(DownloadManager.Request.NETWORK_WIFI |
DownloadManager.Request.NETWORK_MOBILE)
.setAllowedOverRoaming(false)
.setTitle("app update")
.setDescription("New version 1.1")
.setShowRunningNotification(true)
.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, "a.apk"));
Cursor c=mgr.query(new DownloadManager.Query().setFilterById(lastDownload));
if(c.getInt(c.getColumnIndex(DownloadManager.COLUMN_STATUS)) == 8) {
try {
mgr.openDownloadedFile(c.getLong(c.getColumnIndex(DownloadManager.COLUMN_ID)));
} catch (NumberFormatException e) {
// TODO Auto-generated catch block
e.printStackTrace();
Log.d("MGR", "Error");
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
Log.d("MGR", "Error");
}
}
Run Code Online (Sandbox Code Playgroud)
问题是什么时候被if(c.getInt(c.getColumnIndex(DownloadManager.COLUMN_STATUS))==8)唤起.我得到状态-1和异常.有没有更好的方法,如何打开下载的文件DownloadManager API?在我的示例中,我正在下载一个大图像,在实际情况下我将下载APK文件,我需要在udpate之后立即显示安装对话框.
编辑:我发现status = 8是在成功下载之后.您可能有不同的"检查成功下载"方法
谢谢
我有一个关于下载管理器的问题.我要从网站下载文件.当我设置下载的默认目录(Environment.DIRECTORY_DOWNLOAD)时,一切正常,我的下载开始了.但是,如果我尝试更改目录,我的应用程序不会下载该文件.特别是,我希望我的文件进入下载文件夹,例如/ storage/sdcard/Download/myFolder.我该如何解决这个问题?
File mydownload = new File (Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS)+ "/myFolder");
if (!mydownload.exists()){
mydownload.mkdir();
}
String url = sUrl[0];
DownloadManager.Request request = new DownloadManager.Request(Uri.parse(url));
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
request.allowScanningByMediaScanner();
request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);
}
request.setDestinationInExternalPublicDir(mydownload.getAbsolutePath(),"Myfile.extension");
DownloadManager manager = (DownloadManager) getSystemService(Context.DOWNLOAD_SERVICE);
manager.enqueue(request);
Run Code Online (Sandbox Code Playgroud) 哦,太好了.总有一些东西...... Grrr ......
无论如何,所以我花了几天时间跋涉模糊,不完整和矛盾的Picasa信息,以便我的Android应用程序可以找到Picasa图片并使用下载管理器下载它.所以刚才我做了最后的润色并点击了"运行"按钮.一切顺利,直到DownloadManager尝试下载文件:
java.lang.IllegalArgumentException: Can only download HTTP URIs: https://example.com/image.jpg
Run Code Online (Sandbox Code Playgroud)
告诉我你在开玩笑.告诉我他们没有制作无法处理SSL的下载管理器......
更好的是,告诉我如何在Android下载管理器中启用SSL访问.
我有一个用例,
我开始使用android下载管理器下载文件,并在中间关掉手机.当我再次重新启动时,下载继续并完成.我通过提供下载引用ID获得了状态.但是我想知道使用该引用ID 10天后的状态.
所以我的问题是直到android下载管理器将通过下载参考ID给出下载状态?
我查看了文档并通过堆栈进行了流程,但无法找到答案.有人帮助我.
我的应用程序使用DownloadManager将文件下载到设备的Music文件夹的子目录中.
DownloadManager.Request request = new DownloadManager.Request(Uri.parse(url));
...
File file = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MUSIC) + "/MyStuff/song.mp3");
request.setDestinationUri(Uri.fromFile(file));
Run Code Online (Sandbox Code Playgroud)
我注意到当从运行Marshmallow的设备上卸载应用程序时,文件正在被删除(这在旧的OS版本中不会发生).你有什么想法吗?
谢谢
android download-manager android-external-storage android-6.0-marshmallow
以前我在我的Firefox上使用DownThemAll扩展.最近我将我的firefox升级为Quantum
由于DownthemAll不支持最新的Firefox,我们有任何替代DownThemAll扩展.
延伸的来源!
提前致谢!