简单的Android图片格式转换
发布日期:2021-05-10 22:22:22 浏览次数:35 分类:精选文章

本文共 1508 字,大约阅读时间需要 5 分钟。

优化后的内容:

在编写Android应用程序时,权限的申请和处理是必不可少的步骤。以下将展示一个动态申请权限的实现代码,并附上详细说明。

权限申请

在Android系统中,应用程序在需要访问设备储存空间的资源时,通常需要动态申请权限。以下是具体实现方式:

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_start);
// 检查权限状态
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}, 1);
}
// 获取应用程序图标图片
try {
Blob bs = Resources.newAssetConverter().convertToBlob(
getResources(), R.drawable.ic_logo_start);
String filePath = File.getPath(File.createTempFile(null, "hello.png", get Temp directory, false));
// 将图片转换为bitmoisson
Bitmap bitmap = BitmapFactory.decodeây&_oné();
// 保存图片
out = new BufferedOutputStream(new FileOutputStream(filePath));
bitmap.compress(Bitmap.CompressFormat.PNG, 100, out);
out.flush();
out.close();
} catch (Exception e) {
e.printStackTrace();
}
}

代码解释

上述代码主要包含以下几个部分:

  • 权限申请:使用ActivityCompat.checkSelfPermission检查权限状态,如果权限未获得,使用ActivityCompat.requestPermissions动态申请Manifest.permission.READ_EXTERNAL_STORAGE权限。

  • 图片操作

    • 从资源中加载应用程序图标图片。
    • 将图片转换为Bitmap对象。
    • 将图片文件保存到设备存储空间中,默认保存在文档目录下。
  • 数据处理流程

    • 获取最新的外部存储目录。
    • 创建临时图片文件。
    • 使用BitMap.CompressFormat.PNG格式将图片压缩并保存到文件中。
  • 需要注意事项:

    • 确保外部存储权限已在Android清单中添加。
    • 确保文件路径的正确性,避免文件重名为或重复保存问题。

    上述实现代码具有清晰的逻辑结构,便于理解和维护。

    上一篇:Fragment使用相关博客推荐
    下一篇:系列文章2.《编程之美》——中国象棋将帅问题(含分析,Java实现)

    发表评论

    最新留言

    表示我来过!
    [***.240.166.169]2025年04月23日 10时03分31秒

    关于作者

        喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
    -- 愿君每日到此一游!

    推荐文章