首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

从Drawable中获取PNG的URI返回不带任何文件扩展名的空白文件

可能是因为在获取URI时没有正确指定文件的扩展名。在Android中,Drawable资源是以资源ID的形式存在的,而不是以文件的形式存在。因此,直接从Drawable中获取PNG的URI是不可行的。

要解决这个问题,可以通过以下步骤来获取Drawable资源的URI:

  1. 首先,将Drawable资源转换为Bitmap对象。
  2. 将Bitmap对象保存到本地文件中,可以选择将其保存为PNG格式的文件。
  3. 获取保存后的文件的URI。

下面是一个示例代码:

代码语言:txt
复制
// 获取Drawable资源
Drawable drawable = getResources().getDrawable(R.drawable.your_drawable);

// 将Drawable转换为Bitmap
Bitmap bitmap = ((BitmapDrawable) drawable).getBitmap();

// 将Bitmap保存到本地文件
File file = new File(getExternalFilesDir(null), "image.png");
try {
    FileOutputStream fos = new FileOutputStream(file);
    bitmap.compress(Bitmap.CompressFormat.PNG, 100, fos);
    fos.flush();
    fos.close();
} catch (IOException e) {
    e.printStackTrace();
}

// 获取保存后的文件的URI
Uri uri = Uri.fromFile(file);

这样,你就可以从Drawable中获取PNG的URI,并且带有正确的文件扩展名。在实际应用中,你可以根据具体需求选择合适的文件保存路径和文件名。

对于腾讯云相关产品,推荐使用腾讯云对象存储(COS)来存储和管理图片文件。腾讯云对象存储(COS)是一种高可用、高可靠、强安全性的云存储服务,适用于各种场景下的数据存储和传输。你可以通过以下链接了解更多关于腾讯云对象存储(COS)的信息:

腾讯云对象存储(COS)产品介绍:https://cloud.tencent.com/product/cos

希望以上信息能对你有所帮助!如果还有其他问题,请随时提问。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 【DB笔试面试797】在Oracle中,可以从exp出来的dmp文件获取哪些信息?

    ♣ 题目部分 在Oracle中,可以从exp出来的dmp文件获取哪些信息? ♣ 答案部分 在开发中常常碰到,需要导入dmp文件到现有数据库。...这里的dmp文件可能来自于其它系统,所以,一般情况下是不知道导出程序(exp)的版本、导出时间或者导出模式等信息的。那么如何从现有的dmp文件中获取到这些信息呢?下面作者将一一讲解。...(一)获取基本信息:导出的版本、时间、导出的用户 下面的示例中exp_ddl_lhr_02.dmp是生成的dmp文件: [ZFZHLHRDB1:oracle]:/tmp>strings exp_ddl_lhr...#C#G #C#G +00:00 BYTE UNUSED (二)获取dmp文件中的表信息 下面的示例中,exp_ddl_lhr_02.dmp是生成的dmp文件: [ZFZHLHRDB1:oracle...如果将US7ASCII字符集的dmp文件导入到ZHS16GBK字符集的数据库中,那么还需要根据文件修改第4行的第3-4个字节(即07 D0之前的2个字节)。 修改前: ? 修改后: ?

    2.5K30

    Android 开发艺术探索笔记一

    中写入返回值。...使用AIDL,处理大量请求: 服务端首先创建一个service监听客户端请求,然后创建一个AIDL文件,将暴露给客户端的接口在这个AIDL文件中声明,最后在service中实现接口即可 首先需要绑定服务端...底层一样是binder onCreate()代表ContenProvider创建,一般做初始化操作,getType返回Uri请求所对应的MIME类型,如图片、视频等 contentProvider通过Uri...在某些极端得情况下,在onMeasure方法中拿到的宽与高可能不准确,在onLayout中获取宽与高才是最终的宽与高。...表示用户选择了view 系统会根据view的当前状态从selector中选择对应的item,每个item对应一种drawable,从上往下查找,直至查找第一条匹配的item,将默认的item放在最后,不带任何状态

    94410

    android学习笔记----关于图形的基本处理讲解

    ,在API 17之前通过反射获取 // 获取显示的实际大小,而不减去任何窗口装饰或应用任何兼容性缩放因子。...样本大小是任一维度中与解码位图中的单个像素相对应的像素数。例如,inSampleSize == 4返回的图像是原始宽度/高度的1/4,像素数量的1/16。...(getResources(), R.drawable.drawablebg); // 获取原图的副本,相当于空白纸 copyBitmap = Bitmap.createBitmap...,在API 17之前通过反射获取 // 获取显示的实际大小,而不减去任何窗口装饰或应用任何兼容性缩放因子。...-420dpi文件夹没有对应的图,而在drawable-640dpi有图,那么 // bitmap.getWidth()和getHeight()获取的值有两种情况,如果inScaled=

    65220

    组件Image和九宫格效果

    /img/2.png")} /> RN中引入其他文件中的内容基本都是使用require引用,图片也不例外 require后面的路径跟img中src中的路径基本相似,但有两个比较重要的点 同级目录的话...从Android或iOS项目中加载图片 uri:"1.jpg"}) style={{width:50,height:50}}} ...必须将图片放到iOS项目中的asset文件夹或者Android drawable文件夹(如果不知道这两个文件,自行百度),当项目在iOS端运行时会自动加载asset中的图片,在android端运行时会自动加载...drawable中的图片 加载来自网络的图片 跟加载iOS项目和android项目中图片的方式一样,只不过,加载网络中的图片时,需要指定一下图片的尺寸 uri:'https...准备工作 将source文件夹中的BadgeData.json文件放到跟index.android.js同级的目录里 将source中的图片放到android的drawable文件夹和iOS的asset

    1.5K20

    Android开发最全代码-赶紧码住!!

    : 删除原集合中不符合条件的元素 select : 查找出所有符合条件的元素并返回新集合 selectRejected : 查找出所有不符合条件的元素并返回新集合...getFileNameNoExtension : 根据全路径获取文件名不带拓展名 getFileExtension : 根据全路径获取文件拓展名 notifySystemToScan...: 根据名字获取 anim ID getMenuIdByName : 根据名字获取 menu ID copyFileFromAssets : 从 assets 中拷贝文件 readAssets2String...: 从 assets 中读取字符串 readAssets2List : 从 assets 中按行读取字符串 copyFileFromRaw : 从 raw 中拷贝文件 readRaw2String...获取压缩文件中的文件路径链表 getComments : 获取压缩文件中的注释链表 本文转自https://www.jianshu.com/p/72494773aace/如有侵权,请联系删除

    1.2K40

    webview拉起拍照和录像的爬坑终结篇

    对于Android环境,就会比较复杂一点点: step1、我们需要实现一个自己的 WebChromeClient,其主要目的就是为了拦截FileChooser这个选择文件的动作: image.png...这里,用户在h5上点击文件,我们以下环节实现的WebChromeClient中,基于不同Android的api版本中的回调函数会被触发: public class EssWebChromeClient...; 这个参数实际上是对应我们H5那个input框中的accept属性,需要我们关注: accept 属性是一个字符串,它定义了文件 input 应该接受的文件类型。...表示在 file 类型的 元素中用户可以选择的文件类型。每个唯一文件类型说明符可以采用下列形式之一: 一个以英文句号(".")开头的合法的不区分大小写的文件名扩展名。...一个不带扩展名的 MIME 类型字符串。 字符串 audio/*, 表示“任何音频文件”。 字符串 video/*,表示 “任何视频文件”。 字符串 image/*,表示 “任何图片文件”。

    4.1K40

    【Android应用开发】 Universal Image Loader ( 使用简介 | 示例代码解析 )

    可使用的 URI 地址种类 识别的 URI 地址 :  -- 网络资源 : "http://site.com/image.png" // from Web -- 本地 SD 卡资源 : "file://...assets 目录 : "assets://image.png" // from assets -- 工程中的 res 目录 : "drawable://" + R.drawable.img // from...同步加载图片 : 加载图片文件, 将图片文件解析成 Bitmap 对象, 并实时同步返回 Bitmap 对象; Bitmap bmp = imageLoader.loadImageSync(imageUri...同步加载图片 : 加载图片文件, 将图片文件解析成 Bitmap 对象, 并实时同步返回 Bitmap 对象; // Load image, decode it to Bitmap and return...(R.drawable.ic_empty) //设置没有 Uri 地址时的图片 .showImageOnFail(R.drawable.ic_error) //设置加载失败时的图片

    1.1K20

    Notification与Widget(其实没怎么讲)Android应用界面开发

    这就是一个默认通知Notification的要素,左边一个图片,中间两行文字,一行大一行小,右侧一个时间(一般显示通知出现的系统时间),和一个小图标 我拿新工具过来,总是爱直接从Android studio...第一部分final声明的都是所需要用的资源文件, 将drawable目录下的png图片转换为Bitmap用来当通知栏最左边的图片; 然后定义了ticker,这句话会出现在通知推送时,在设备顶部闪一下...setSound(Uri):设置接收到通知时的铃声,可以用系统的,也可以自己设置,例子如下: .setDefaults(Notification.DEFAULT_SOUND) //获取默认铃声 .setSound...(Uri.parse("file:///sdcard/xx/xx.mp3")) //获取自定义铃声 .setSound(Uri.withAppendedPath(Audio.Media.INTERNAL_CONTENT_URI...Widget和Notification都是需要RemoteView来管理布局文件的,在构造参数内填上:1.完整包名;2.布局文件ID 下面3个代表给RemoteView中的控件,手动修改内容,此处可根据外部传递过来的参数进行修改

    1.4K40

    Android开发笔记(七十七)图片缓存算法

    内存缓存的数据结构可使用映射表HashMap,通过唯一的uri来定位图像的Bitmap对象;排队算法一般采用先进先出FIFO策略,考虑到FIFO需要对队列两端做操作,从队列顶端移除溢出的图像,把新增的图像加到队列末端...另一块是从文件中读写Bitmap对象,图片文件的读写操作参见《Android开发笔记(三十三)文本文件和图片文件的读写》。 下载策略 图片在内存和磁盘都找不到,那只好到网络上获取图片了。...显示策略及相关优化 历经千辛万苦,终于把图片从三级缓存中找出来了,现在要在ImageView控件上显示图片,通常会使用淡入淡出动画效果,不至于很突兀,淡入淡出动画的用法参见《Android开发笔记(...这里注意,如果内存中已经存在该图像,则无需淡入淡出动画;只有从网络上获取图片,这种需要用户等待的情况,才需要淡入淡出效果。...load : 从指定位置加载图片。该方法返回一个RequestCreator对象,供后续处理使用。 cancelRequest : 取消指定控件的图片加载请求。

    1.1K70

    前端面试题-每日练习(5)

    请求的资源已被永久的移动到新URI,返回信息会包括新的URI,浏览器会自动定向到新URI。今后任何新的请求都应使用新的URI代替 302 Found 临时移动。与301类似。...所请求的资源未修改,服务器返回此状态码时,不会返回任何资源。...延时的长度可包含在服务器的Retry-After头信息中 504 Gateway Time-out 充当网关或代理的服务器,未及时从远端服务器获取请求 505 HTTP Version...此外,合并多个文件为一个可以减少请求次数。 图片优化:使用适当的图片格式(如 JPEG、PNG、WebP),并压缩图片以减小文件大小。...优化代码:优化 HTML、CSS 和 JavaScript 代码,包括删除不必要的注释、空白字符和未使用的代码,以减小文件大小,并保证代码的高效执行。

    17520

    Vue 脚手架项目分析

    vue cli创建后的目录.png build:webpack的一些配置文件以及服务启动文件 config:多为build中所依赖的文件 src: 页面以及逻辑文件夹 static: 字体以及公共样式文件夹...通过loader的转换,在项目中任何形式的资源都可以被理解为模块。比如图片、css、less、sass等等。.../ 自动解析确定的扩展名,使导入模块时不带扩展名 extensions: ['.js', '.vue', '.json'], alias: { // 创建import或 require的别名...// 定义返回数组,数组中保存的是针对各类型的样式文件的处理方式 var loaders = exports.cssLoaders(options) // 调用cssLoaders方法返回各类型的样式对象...: true, // 删除html中的注释代码 collapseWhitespace: true, // 删除html中的空白符 removeAttributeQuotes

    1.8K40
    领券