首页
学习
活动
专区
工具
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放在最后,不带任何状态

    93810

    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=

    64320

    组件Image和九宫格效果

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

    1.4K20

    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

    基于Android获取资源id和url方法总结

    一、获取android工程里面的各种资源id; 1.1 string型 比如下面: << string name=”OK” 客户端请求成功 << / string //string资源...drawable文件夹下面的:比如ic_launcher.png // mipmap文件夹下名称为ic_launcher图片id //mipmap资源id int mipmapId = getResources..."ic_menu_share", "drawable", "android"); //注意,最后一个参数必须是“android 三、获取Android工程资源Uri路径,一般是图片,res或者asset...下 //*获取Res资源url ContentResolver.SCHEME_ANDROID_RESOURCE*/ Uri uri = Uri.parse("android.resource://"..."qq.png"); 以上这篇基于Android获取资源id和url方法总结就是小编分享给大家全部内容了,希望能给大家一个参考。

    2.4K30

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

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

    3.9K40

    【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

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

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

    17320
    领券